-
Notifications
You must be signed in to change notification settings - Fork 826
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
Add k8s-release project and buckets for ci #1110
Conversation
/cc @justaugustus @tpepper /cc @thockin |
Matches what Aaron and I chatted about. /hold for any other reviewers; lift when ready |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: justaugustus, spiffxp 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 |
Why Looking at stats, I think there's a way to literally have the bucket moved between projects - would that be a better path? I know @justinsb started thinking about billing breakdown per-bucket. Unfortunately, GCP's normal billing breakdown stops at a project+SKU, but we can enable finer-grained logs. We should decide if it makes sense to lump ANYTHING together, or if we're better off with a project per bucket (or set of common-purpose buckets). Puke. In other words, what if we just moved them all into k8s-artifacts-prod (or into a new k8s-release project)? That would mean that all external tools remain functional. BTW - I have no idea where kubernetes-release-pull lives. Sigh. |
I'm not aiming at (monetary) cost right now, but opportunity cost. We're blocked on moving some of the CI jobs out of google.com because Moving CI related builds into community owned bucket(s) means we can move all release-blocking/merge-blocking jobs into community owned infra, and will empower more people to help out.
Discussed offline. There does not appear to be such a way, unfortunately. So migrating piecemeal or stop-the-world-and-sync are our options.
The "stops at a project+SKU" is why I'm proposing something (
It's part of the |
Do we need just k-release-dev or also the -asia and -eu sister-buckets?
ACK
Correct. For kubernetes-release, we might go a long way by changing dl.k8s.io
Where would the current 'kubernetes-release' bucket go? Are we OK conflating Regardless, we should put an LB VIP in front of whatever bucket(s) so we don't I am fine with the overall plan to make new buckets and copy stuff over, then
|
We need a home for community-owned buckets that are equivalent to: - gs://kubernetes-release-dev (hosts periodic builds of kubernetes) - gs://kubernetes-release-dev-asia (asia mirror of above) - gs://kubernetes-release-dev-eu (eu mirror of above) - gs://kuberentes-release-pull (hosts pr builds of kubernetes, eg: from e2e test jobs) I'm suggesting we create a `k8s-release` project, and set it up identically to the `k8s-release-test-prod` project currently in use by release-engineering. Then setup two equivalent buckets: - gs://k8s-release-dev - gs://k8s-release-pull And give prow write access to these buckets
98e9fd3
to
40450be
Compare
So I added equivalents for these. But I have to admit I'm not sure how the existing kubernetes-release buckets are mirrored to their asia/eu siblings. I would be curious to see how much traffic these buckets are seeing compared to the non-geo (us, I guess) bucket. I misspoke earlier, gs://kubernetes-release-pull is under kubernetes-jenkins-pull. I confirmed it has no geo-specific buckets. |
To unblock the current set of release-blocking jobs I don't think mirroring to geo-specific buckets is required. I think looking at existing traffic will help us decide how much of a priority setting up mirroring is. |
/lgtm |
/hold cancel |
Running |
re: #1110 (comment)
I did some digging and discovered a few things re: syncing to regional buckets:
Given that, I think regional syncing should not be a blocker to moving forward. If we decide it's necessary after the fact, we should look at using Storage Transfer Service (https://cloud.google.com/storage-transfer/docs/create-manage-transfer-console) to sync |
We need a home for community-owned buckets that are equivalent to:
I'm suggesting we create a
k8s-release
project, and set it upidentically to the
k8s-release-test-prod
project currently in use byrelease-engineering.
Then setup two equivalent buckets:
And give prow write access to these buckets. I suspect prow will need
admin access, but let's find out.
ref: #846 (comment)