-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RFC: pack Image Pull Policy #80
Conversation
jromero
commented
May 21, 2020
•
edited
Loading
edited
- Readable
Signed-off-by: Javier Romero <rjavier@vmware.com>
I know this is still a draft, so maybe I should withhold my comments for now, but I like this idea a lot. Always checking for builder/run-image updates adds a surprising amount of time to each build. |
Signed-off-by: Javier Romero <rjavier@vmware.com>
Signed-off-by: Javier Romero <rjavier@vmware.com>
I'm 👍 on the flag, but I'm wary about the default of not pulling. I get people do it for performance, but the default was done for the reason of keeping people up to date so people don't have to think about it. It's super common when working with people that they forget (or really never) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I specifically like bringing our default into alignment with the rest of the OCI-image based ecosystem. Regardless of the personal preferences around this, I think our inconsistency with all these other platforms is an additional cognitive burden for new users when on-boarding.
I like this as well. Matching the docker/k8s pattern is great, as is the speed change - making initial builds (once images are pre-loaded) faster should definitely help users who want to optimize for speed. |
How do we feel about buildpack pull policy compared to build and run image policy? Currently I think we should clarify the stance on what type of actions this policy should gate. I'm of the mind that buildpacks should always be fetched unless we make a new policy specific to them to be consistent regardless of the way the buildpack is defined. |
I have concerns about the default being That said, I am concerned about performance of
I'm not ready to offer this as an alternative but I'm thinking about:
|
I mentioned this to a couple of others, but we could perhaps adopt a special ❄️ case for
We could do the same, so that you don't pay the cost for looking for anything other than I would still propose we at least add a warning about how old your builder is compared to the remote, but do this check async while the build is happening and print the warning at the end. This way it is likely to be seen and does not incur a performance penalty. |
I also wonder if people would change their mind on this issue if |
If checking that we have the latest buildpack didn't take multiple seconds, we might not even be talking about adding pull policies nor about some users falling way behind. From the client side, it's just asking about one resource id and getting a HTTP 304 back most of the time, which should be quite acceptable. Have we ruled out fixing the slowness on the server side? |
@drewpca to be honest, there hasn't been any real look into diagnosing the root cause for the performance hits. Although from observation, it seems to be a lot more apparent to At the end of the day, the perception and UX from the end-users' perspective is that pack (or buildpacks) are slow when in reality it could very well be related to external circumstances such as in this case. With all that said, I would also like to add that I agree that we should look into the root cause and maybe provide feedback or fix to the upstream. The purpose of this proposal is to help aid with the majority concern of the performance hit regardless of registry but doesn't negate the need to improve the performance further. |
Based on the last WG meeting conversations this RFC will be split into at least 2:
|
Signed-off-by: Javier Romero <rjavier@vmware.com>
@sclevine / @jkutner / @hone This PR/RFC has been update to only introduce the new flag and new option of @jabrown85 as we've discussed, we can probably have a parallel RFC for updating the default and another for more granular control after this RFC is accepted. |
Final Comment Period with merge disposition, closing on 25 July, 2020. |
Hi! Has there been any further discussion of adding For both local development and CI workflows, the default of In addition, now that Docker Hub has rate limiting, and with a no-op pull still counting against the rate limit (https://docs.docker.com/docker-hub/download-rate-limit/#definition-of-limits), preventing unnecessary pulls is even more important (think running 100 integration tests). Whilst one can work around this using a manual pull combined with |
Maintainers, As you review this RFC please queue up issues to be created using the following commands:
Issues(none) |
Filed: |