-
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
kubernetes-csi: test 1.14 deployment periodically #12482
Conversation
This image gets updated in the generated jobs via global search/replace by others without also updating the generator script. Storing the image name in one place simplifies the task of keeping up with those changes.
With the kubernetes-1.14 deployment finalized in the csi-driver-host-path master branch (no more canary images!) we can start testing it periodically against all Kubernetes versions for which it works. As for kubernetes-1.13, alpha testing is limited to the matching Kubernetes release.
/assign @msau42 |
/approve |
@@ -355,6 +355,111 @@ periodics: | |||
resources: | |||
requests: | |||
cpu: 2000m | |||
- interval: 6h | |||
name: ci-kubernetes-csi-1-14-on-kubernetes-1-13 |
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 unsure if this configuration is valid. A driver deployment for 1.14 could have enabled features that will only work on Kubernetes 1.14 (like the new Leases leader election type).
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.
True, it may or may not be compatible. But we know that it will work for the 1.14 deployment, therefore this combination is valid and worth testing. For example, https://kubernetes-csi.github.io/docs/external-attacher.html says that the minimum Kubernetes version is 1.13. This job covers that promise.
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.
Once we add leader election, topology or any of the CSI driver features, then it will no longer be the case.
I'm thinking in the future if we want to better automate setting up these jobs, then it's simpler to have rules that work across all scenarios
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 consider the kubernetes-1.14 deployment mostly frozen at this point. It enables a certain set of features and those happen to be compatible with 1.13 (when ignoring alpha). IMHO it is useful to keep it this way, to increase test coverage of the stable images also with Kubernetes 1.13.
When we added leader election, I would do it in a separate deployment because we need cover both scenarios (with and without leader election). That new deployment then cannot run on 1.13.
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.
Having said that, if you don't care about testing this particular aspect, then I won't argue further in favor of keeping it. It's not a combination that I personally use.
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 mainly don't want this to be misinterpreted as a general statement that we support running these sidecars against 1.13 in all scenarios. It's very dependent per driver and what features they use.
If we eventually add these 1.14+ features to the hostpath-driver, our deployment management and version skew testing will become very complex if we want to be able to test with all theoretical combinations of new/old features and versions.
The latest external-snapshotter fails in the alpha-canary-on-master job because it needs modified RBAC rules. For on-master jobs it makes sense to use also the latest RBAC rules, while for other canary jobs we want to keep the RBAC rules unmodified to detect when an upcoming release breaks compatibility.
/uncc |
/lgtm For now this is fine. But we'll need to revisit this once we start enabling new features in the hostpath driver. |
LGTM label has been added. Git tree hash: e2956841e1aafef022c1ee2776c1bebdf70b6781
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: msau42, pohly, 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 |
@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. |
With the kubernetes-1.14 deployment finalized in the
csi-driver-host-path master branch (no more canary images!) we can
start testing it periodically against all Kubernetes versions for
which it works. As for kubernetes-1.13, alpha testing is limited to
the matching Kubernetes release.
Also tweaks the on-master periodic jobs such that the snapshotter alpha tests
work again.
Fixes: kubernetes-csi/external-snapshotter#120