-
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 CI .deb builds in kubeadm e2e job. #2180
Use CI .deb builds in kubeadm e2e job. #2180
Conversation
Since this job is chained after ci-kubernetes-bazel-build (which publishes .debs), use those .debs while testing.
# current working directory at the repository root. Grab the SCM_REVISION so we | ||
# can use the .debs built during the bazel-build job that should have already | ||
# succeeded. | ||
export SCM_VERSION=$(./hack/print-workspace-status.sh | grep ^STABLE_BUILD_SCM_REVISION | cut -d' ' -f2) |
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.
this looks very magical, given here we are going to only support env vars, could this logic be in the kubeadm image?
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.
Hrm, I don't think it can be in the image runner. The call stack looks like:
ci-kubernetes-e2e-kubeadm/runner # image entrypoint
\-> bootstrap.py
\-> jobs/ci-kubernetes-e2e-kubeadm-gce.sh (the script in question)
\-> e2e-runner.sh
\-> kubetest
The kubernetes repo gets pulled by bootstrap.py
, so the logic needs to be executed after that step, and I need to adjust the E2E_OPTS
before e2e-runner.sh
is invoked. I thought the job script was the perfect place for this, but if we only want to support static environment variables there, then does that mean I'll need to create a custom scenario
to support this kind of logic (like kops has)?
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.
You can get this in to make the test green first, and we can figure out where to move the logic to. It's easy to add a flag to the e2e scenario.
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.
Wait, what? bootstrap.py should be launching an image, the runner should not be calling bootstrap.py
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.
@fejta That may be the case when the job runs under Jenkins and uses dockerized-e2e-runner.sh
, but this is a prow job, so it has its own custom Docker image. Prow launches the image defined in config.yaml
, and the rest of the chain is the above, with the job calling e2e-runner.sh
instead of dockerized-e2e-runner.sh
to avoid Docker-in-Docker.
@krzyzacy Sounds good to me. Did you have any other feedback about the diff, or was that a very informal LGTM? :-)
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.
Apologies! I clearly don't have the right context here. I'll get out of your way
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.
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.
Seems he decided to throw this to me 👿
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.
/assign |
/assign @krzyzacy |
/lgtm go for it |
Since this job is chained after
ci-kubernetes-bazel-build
(which publishes .debs), use those .debs while testing.