k8s.io
                                
                                 k8s.io copied to clipboard
                                
                                    k8s.io copied to clipboard
                            
                            
                            
                        Speed up image promotion process
First of all, thank you very much for all the work on the registry and the image promotion process!!
If I understood it correctly, recently the image promotion jobs were changed to sync to additional registries.
This slowed down the pull-k8sio-cip and the post-k8sio-image-promo and both now take roughly an hour.
Unfortunately, this has the side effect that the release process in projects like Cluster API now takes > 2 hours, while previously it took 10-15 minutes.
I don't really know much about the jobs, but it looks to me like both jobs are scanning the entire registry / all images in the repo which is the reason why it takes over an hour.
Would it be possible to adapt the jobs to only sync the images that were promoted in the current PR / commit?
If necessary, we could still do a periodic full sync with a periodic job.
More details are available at https://github.com/kubernetes-sigs/promo-tools/issues/637
Yes, this should be solved via https://github.com/kubernetes-sigs/promo-tools/pull/657
We still have to cut a new promo tools release and get the new flag being used.
/reopen Let's leave this open until we've confirmed the speed up in prod
@spiffxp: Reopened this issue.
In response to this:
/reopen Let's leave this open until we've confirmed the speed up in prod
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/test-infra repository.
https://github.com/kubernetes-sigs/promo-tools/pull/657 + https://github.com/kubernetes/test-infra/pull/27855 has had lovely results, thank you!
I have one more optimization in my mind which I will try out today. Let's leave this issue open until then.
Thank you very much, this really helps a lot!
Just for my understanding. Did I see correctly that the presubmit job is now very quick but the postsubmit takes ~ the same time?
The postsubmit is expeted to take a bit longer, yes. But I think we can still improve both sides by diffing more focused on what needs to be pushed/signed.
Just took another look. There was one run with 5m and the others >1h. This probably depends on which images are promoted? (https://prow.k8s.io/job-history/gs/kubernetes-jenkins/logs/post-k8sio-image-promo)
This probably depends on which images are promoted?
Exactly. The official Kubernetes manifest is already huge, so filtering based on the file is not enough. With https://github.com/kubernetes-sigs/promo-tools/pull/661 we now additionally filter based on the digests which should be a significant performance improvement.
With https://github.com/kubernetes-sigs/promo-tools/issues/662 we can now close this.
/close
@saschagrunert: Closing this issue.
In response to this:
/close
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/test-infra repository.
Thank you!! ❤️ 🎉 👏
/reopen ref: https://github.com/kubernetes/k8s.io/pull/4441#issuecomment-1309107480
@spiffxp: Reopened this issue.
In response to this:
/reopen ref: https://github.com/kubernetes/k8s.io/pull/4441#issuecomment-1309107480
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/test-infra repository.
The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.
This bot triages issues and PRs according to the following rules:
- After 90d of inactivity, lifecycle/staleis applied
- After 30d of inactivity since lifecycle/stalewas applied,lifecycle/rottenis applied
- After 30d of inactivity since lifecycle/rottenwas applied, the issue is closed
You can:
- Mark this issue or PR as fresh with /remove-lifecycle stale
- Mark this issue or PR as rotten with /lifecycle rotten
- Close this issue or PR with /close
- Offer to help out with Issue Triage
Please send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle stale
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues.
This bot triages un-triaged issues according to the following rules:
- After 90d of inactivity, lifecycle/staleis applied
- After 30d of inactivity since lifecycle/stalewas applied,lifecycle/rottenis applied
- After 30d of inactivity since lifecycle/rottenwas applied, the issue is closed
You can:
- Mark this issue as fresh with /remove-lifecycle rotten
- Close this issue with /close
- Offer to help out with Issue Triage
Please send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle rotten
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.
This bot triages issues according to the following rules:
- After 90d of inactivity, lifecycle/staleis applied
- After 30d of inactivity since lifecycle/stalewas applied,lifecycle/rottenis applied
- After 30d of inactivity since lifecycle/rottenwas applied, the issue is closed
You can:
- Reopen this issue with /reopen
- Mark this issue as fresh with /remove-lifecycle rotten
- Offer to help out with Issue Triage
Please send feedback to sig-contributor-experience at kubernetes/community.
/close not-planned
@k8s-triage-robot: Closing this issue, marking it as "Not Planned".
In response to this:
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.
This bot triages issues according to the following rules:
- After 90d of inactivity,
lifecycle/staleis applied- After 30d of inactivity since
lifecycle/stalewas applied,lifecycle/rottenis applied- After 30d of inactivity since
lifecycle/rottenwas applied, the issue is closedYou can:
- Reopen this issue with
/reopen- Mark this issue as fresh with
/remove-lifecycle rotten- Offer to help out with Issue Triage
Please send feedback to sig-contributor-experience at kubernetes/community.
/close not-planned
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/test-infra repository.

