-
Notifications
You must be signed in to change notification settings - Fork 6.7k
Refactor download (file) #12299
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
base: master
Are you sure you want to change the base?
Refactor download (file) #12299
Conversation
This is the same logic as system_packages: we simply let jinja expand our variables to a list of boolean and filter on this.
Delegate to everything to download_delegate.
group hosts by "delegate" then loops on the delegate with extract on hostvars. This shortcircuit the loop earlier than using selectattr on the whole hostvars on every host.
Small efficiency gains when downloading, around 2-3s worse when everything is already there.
Skipping CI for Draft Pull Request. |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: VannTen The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Also, I think the approach could make manage-offline.sh redundant (aka, just run the download tags on a non offline control node, copy the local_release_dir, done)
I'm not super into that so might not be enough though
|
Some stuff used on localhost (skopeo for download images, for instances) may need the machine architecture and similar things, so collect facts for localhost as well
PR needs rebase. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
What type of PR is this?
/kind bug
/kind feature
What this PR does / why we need it:
This should fix multi-arch cluster download, and be much more scalable. (rough testing of the file part only:
-> around 1 minutes for 1000 fake hosts with download_delegate == localhost)
This is only the file part, I plan to handle containers images in a separate PR.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
I'm working on this still, so expect heavy rebasing and force push. I think the design of the role will stay like this though.
Does this PR introduce a user-facing change?: