-
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
Kubernete-CSI: set snapshot CRD version #19939
Conversation
/assign @msau42 Here's a different approach for bumping the CRD version. If the install URLs are stable across releases, then this should be viable. I'll let you guys decide whether that is acceptable. |
Commit 0ad87ab added a manually defined job to a file that gets overrwritten by gen-jobs.sh. The manual job has to be in a separate file.
Some jobs need the "master" version of the snapshotter CRD and controller. For others it makes sense to select the version that gets tested in the Prow job instead of having to bump the prow.sh script in all affected repos. The caveat is that all future versions of external-snapshotter must install through exactly the YAML files that are currently used by prow.sh: https://github.com/kubernetes-csi/csi-release-tools/blob/5d874cce4e649dfd254d01b9b44179ffa72aee75/prow.sh#L702-L722
cec746d
to
440de3d
Compare
# docker-in-docker needs privileged mode | ||
securityContext: | ||
privileged: true | ||
resources: | ||
requests: | ||
cpu: 2000m | ||
- name: pull-csi-driver-nfs-e2e |
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.
Is this change required for the snapshot CRD version changes?
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 had to fix a mistake from someone's prior PR, see the first commit in this PR: 1145b61
@@ -23,6 +23,9 @@ presubmits: | |||
- runner.sh | |||
args: | |||
- ./.prow.sh | |||
env: | |||
- name: CSI_SNAPSHOTTER_VERSION | |||
value: "v3.0.2" |
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.
Should this be "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.
This job runs with the Kubernetes and sidecar version that is specified inside the prow.sh job, which shouldn't depend on an unreleased snapshotter. So using the fixed version seems fine here.
One could also argue that this particular job shouldn't override CSI_SNAPSHOTTER_VERSION
.
I'm fine with this approach. |
/retest |
@@ -36,6 +36,8 @@ presubmits: | |||
value: "1.17" | |||
- name: CSI_PROW_DRIVER_VERSION | |||
value: "v1.4.0" | |||
- name: CSI_SNAPSHOTTER_VERSION |
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.
does this mean that changes to the snapshot-controller in external-snapshotter prs are untested?
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.
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.
CSI_SNAPSHOTTER_VERSION is set in prow.sh currently.
https://github.com/kubernetes-csi/csi-release-tools/blob/master/prow.sh#L340
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.
What I mean is that it looks like prow.sh installs a version of the snapshot controller that has already merged and been released? https://github.com/kubernetes-csi/csi-release-tools/blob/master/prow.sh#L722
So if you make changes to snapshot-controller in a PR, then those changes won't get tested as part of the pull job.
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.
Looks like that's the case. We probably need to replace the snapshot-controller image with the one built from the PR.
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.
For images used by the csi-driver-host-path deploy script, overriding the images that were built as part of the repo under test is defined here:
https://github.com/kubernetes-csi/csi-release-tools/blob/5d874cce4e649dfd254d01b9b44179ffa72aee75/prow.sh#L1047-L1079
Something similar is needed for the snapshot controller and prow.sh itself.
But this is unrelated to this PR, right?
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.
Yes, I think so. That will be a separate PR to fix prow.sh.
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: msau42, pohly 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 |
@pohly: Updated the
In response to this:
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. |
Some jobs need the "master" version of the snapshotter CRD and
controller. For others it makes sense to select the version that gets
tested in the Prow job instead of having to bump the prow.sh script in
all affected repos.
The caveat is that all future versions of external-snapshotter must
install through exactly the YAML files that are currently used by
prow.sh:
https://github.com/kubernetes-csi/csi-release-tools/blob/5d874cce4e649dfd254d01b9b44179ffa72aee75/prow.sh#L702-L722