-
Notifications
You must be signed in to change notification settings - Fork 894
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 minimum version check #9
Conversation
LGTM To avoid needing to revise every release, we could say Y >= N-1 where N is the current minor release of Kubernetes. |
I'm not sure why the client and server have to exactly match. For instance I had expected to certify the opensource Kubernetes CLI against openshift given that the tests expose specific kubectl behaviors, and that also proves that the kubectl is properly interoperating with the server version. |
@smarterclayton Agreed they don't HAVE to match to work. Although leaving the versioning requirement to be arbitrary seems like a tiny pandoras box. I'm all for the spec stating client/server should be equal just so it is not ambiguous. |
@smarterclayton Could you please propose alternative language? |
Possibly:
My concern with 1.2. is that it is not verifying that unmodified client ecosystem code can interoperate with the provided Kubernetes server. 1.1. asserts that a server implementation conforms both to the direct e2e calls made by the server, AND that an unmodified |
I'm ok with the minor version, just wanted to highlight that accepting a kubectl binary from the provider may mask other conformance issues (you must download our kubectl in order to pass the conformance tests feels... wrong). |
Agree that "you must use our kubectl in order to pass the conformance tests" is wrong. Such a requirement would break interop, and thus goes against the goal of conformance. Does your currently proposed text remove this risk, or do we need to tune it further? |
It doesn't. I think in the spirit of being somewhat flexible to conforming implementations we would want "use of a kubectl binary built from the Kubernetes project source in the current minor version's release stream alongside the e2e test suite built by that release stream". A loose reviewer standard would be to verify that the reported Git commit from the kubectl client version matches a commit in the upstream Kubernetes repository that is part of the current minor version release branch (i.e. the commit must satisfy A more strict reviewer standard would be to confirm that the conformance submitter is using an upstream binary (via downloading the binary from the appropriate release archive or building from Kube source). This feels somewhat onerous - I suppose if people abuse it it's easy to identify in their reproduction notes. |
Note that we're trying to minimize the effort and judgment involved for CNCF staff reviewing applications. That said, if we think your suggestion is the most thorough, it seems like we could add a flag to sonobuoy that would execute that git branch command and include it in the output. |
@@ -1,5 +1,5 @@ | |||
# How to review conformance results | |||
|
|||
1. Make sure the list of files matches [the one specified here](https://github.com/cncf/k8s-conformance/blob/master/instructions.md#contents-of-the-pr) | |||
2. Look at `version.txt`. Make sure the `client` and `server` versions match each other to the minor version level. Make sure this also matches the `vX.Y` subdirectory that the PR is in. | |||
2. Look at `version.txt`. Make sure the `client` and `server` versions match each other to the minor version level. Make sure this also matches the `vX.Y` subdirectory that the PR is in. Also confirm that Y >= 7 (that is, certification is available for Kubernetes versions 1.7 and higher). |
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.
The client minor version(s) can skew by 1 minor revision.
So 1.8 clients, and e2es, should properly exercise 1.7 clusters.
Closing unmerged in leiu if #33. |
I'm looking for a few LGTMs from the WG before merging this.