-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Use release/push-build.sh in ci-kubernetes-bazel-build #2732
Conversation
/assign |
If you're changing the GCS path again, then yes, it'll break our kubeadm e2e jobs. |
@@ -34,7 +34,14 @@ if [[ "${rc}" == 0 ]]; then | |||
echo "Kubernetes version missing; not uploading ci artifacts." | |||
rc=1 | |||
else | |||
bazel run //:ci-artifacts -- "gs://kubernetes-release-dev/bazel/${version}" && rc=$? || rc=$? | |||
push_build="../release/push-build.sh" |
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'm a little confused. Does this actually work at CI time? Even given your changes in #2731, I'm not sure what mechanism pulls the release
repository. Is that done automatically for all jobs? I thought that this job only pulled k8s.io/kubernetes
, so this looks like something that would only work locally.
args: | ||
- "--branch=$(PULL_REFS)" | ||
- "--repo=k8s.io/release=master" |
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.
Ah, my other comment obviously missed this subtle line.
One of the problems of the kubeadm e2e prow pipeline is that steps can't communicate with each other, so the bazel build step that generates the .debs can't tell the e2e step where to find them, which is why we rely on well-known locations for them instead. We've just hit the problem where Kubernetes 1.5.x .debs are in a different location than 1.6.x and onward, so we have switching code to determine the correct path. With this change moving the location again, and no obvious version differences to key off of, I'm not sure the best way to safely migrate the kubeadm pipelines one at a time. We could have another big-bang where we update them all at once, but if we want to do it incrementally, we'll probably either need to add a flag to the scenario to specify the storage location or bake the scenario into the e2e-kubeadm image as a way to version the scheme. |
This should be the last time this changes. It should also let the kubeadm jobs use the same method as the e2e jobs in finding artifacts - just read the |
I'm having trouble following that last comment, so apologies if we're just not on the same page. Is it an improvement to read a remote singleton As for this logic, I'm not sure exactly what this will eliminate. The code uses a separate identifier than the normal * This is temporarily untrue, but is meant to be true. The presubmit kubeadm e2e was moved off of the bazel prow pipeline in #2568 until it proved more stable, and should be put back now that it's been fixed. |
Yeah, you raise a good point. For periodic jobs, we just want to use whatever is latest, but for presubmit and postsubmit chained jobs, we really want to test whatever was built in the previous stage. I don't think there's any way of passing along information between chained jobs, short of checking out the repository (which is a little gross). @spxtr any thoughts on how chained prow jobs could pass metadata along? Is there some existing functionality I'm missing? |
Is this still alive? Please update and/or close |
I'd probably still like to do this, though it likely requires some additional work to pass metadata between jobs in prow, which I think @BenTheElder might be looking into. I will close this for now. |
Yep, see #3966 for the start of that. |
This will upload the Bazel-built release artifacts to
gs://kubernetes-release-dev/ci-bazel/$version
, and will also generate thegs://kubernetes-release-dev/ci-bazel/latest*.txt
files we need for CI.Dependent on #2731.
x-ref #2704
@pipejakob this is changing the GCS paths for debs yet again (but hopefully for the last time)... is this going to break kubeadm CI?