-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
v1beta1 failed mutation requests #4533
Comments
Easiest way I have reproduced this.
|
Validated that I cannot reproduce the bug in a 1.14 cluster |
@dgerd We should talk about this at the API WG tomorrow. Hopefully we'll know some more by then, but we should try to make some sort of determination on this by next Tuesday in case we want to patch 0.7 |
Here's how this is shaping up in my head.... By dark launching v1beta1 in 0.7 we bumped our minimum required Kubernetes version from 1.11 to 1.14 (the version where the fix landed), this was unintentional. The "fix" for this is a relatively simple config-only change: strip these lines, and disable some tests. In a perfect world we'd have the operator already, and we could optionally enable So I think we have a few options:
At this point, I think 1.14 is far too new for So I think 🤷♂ |
WG Notes:
|
Can you detail what "2. Release two version of the YAML (pre-/post-1.14)" means exactly? |
The idea would be to release something like:
instead of our normal:
The diff between the two release YAMLs would be the addition of the "v1beta1" endpoint in the The idea is that:
The downsides as discussed in the API working group meeting is:
We did not reach a conclusion between option 1 and option 2 in the meeting. There is also likely some space between these options (i.e. setup 1.14 test cluster with v1beta1, but don't create a release yaml for it). |
I tested using Example:
|
@dgerd Out of curiosity does a versioned v1beta1 client work? (Assuming no) |
I have a feeling it is not going to work but I will try to add it in our
upgrade tests and give it a go.
…On Wed, Jun 26, 2019 at 1:06 PM Dave Protasowski ***@***.***> wrote:
@dgerd <https://github.com/dgerd> Out of curiosity does a versioned
v1beta1 client work?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#4533?email_source=notifications&email_token=AKLJ6MQ2MZKXEH35EHL4DC3P4PD27A5CNFSM4H3NCB4KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYUVIEY#issuecomment-506024979>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AKLJ6MVMQX63N2QQSDUJGQ3P4PD27ANCNFSM4H3NCB4A>
.
|
This change has two main parts: 1. Create separate release artifacts for our CRDs, 1. Create two versions of our CRD definitions, with and without v1beta1. The `v1alpha1` CRDs are generated during `./hack/update-codegen.sh` from the `v1beta1` CRDs, so we still have a single source of truth (e.g. for columns and whatnot). For now, `config/` contains symlinks of the `v1alpha1` CRDs, which are the most broadly compatible, but we symlink the `v1beta1` CRDs into `test/config` so they are available to run the `./test/conformance/api/v1beta1` tests. We can explore more exotic variations in the future, but this seemed the simplest short-term change. Related to: knative#4533
This change has two main parts: 1. Create separate release artifacts for our CRDs, 1. Create two versions of our CRD definitions, with and without v1beta1. The `v1alpha1` CRDs are generated during `./hack/update-codegen.sh` from the `v1beta1` CRDs, so we still have a single source of truth (e.g. for columns and whatnot). For now, `config/` contains symlinks of the `v1alpha1` CRDs, which are the most broadly compatible, but we symlink the `v1beta1` CRDs into `test/config` so they are available to run the `./test/conformance/api/v1beta1` tests. We can explore more exotic variations in the future, but this seemed the simplest short-term change. Related to: knative#4533
The current thought on this is:
As we approach the release of Knative 0.8 we should re-evaluate the need to ship separate YAMLs based upon the adoption of Kubernetes 1.14 across users and cloud vendors. |
This change has two main parts: 1. Create separate release artifacts for our CRDs, 1. Create two versions of our CRD definitions, with and without v1beta1. The `v1alpha1` CRDs are generated during `./hack/update-codegen.sh` from the `v1beta1` CRDs, so we still have a single source of truth (e.g. for columns and whatnot). `ko apply -f config` is no longer sufficient to install Knative. You need to install either `ko apply -f config/v1alpha1` of `ko apply -f config/v1beta1`. I have added a flag to select the install for e2e, which defaults to beta to maintain our current test coverage. We should add a leg that just runs with alpha to ensure we don't regress alpha-only installs. Related to: knative#4533
This change has two main parts: 1. Create separate release artifacts for our CRDs, 1. Create two versions of our CRD definitions, with and without v1beta1. The `v1alpha1` CRDs are generated during `./hack/update-codegen.sh` from the `v1beta1` CRDs, so we still have a single source of truth (e.g. for columns and whatnot). `ko apply -f config` is no longer sufficient to install Knative. You need to install either `ko apply -f config/v1alpha1` of `ko apply -f config/v1beta1`. I have added a flag to select the install for e2e, which defaults to beta to maintain our current test coverage. We should add a leg that just runs with alpha to ensure we don't regress alpha-only installs. Related to: knative#4533
This change has two main parts: 1. Create separate release artifacts for our CRDs, 1. Create two versions of our CRD definitions, with and without v1beta1. The `v1alpha1` CRDs are generated during `./hack/update-codegen.sh` from the `v1beta1` CRDs, so we still have a single source of truth (e.g. for columns and whatnot). `ko apply -f config` is no longer sufficient to install Knative. You need to install either `ko apply -f config/v1alpha1` of `ko apply -f config/v1beta1`. I have added a flag to select the install for e2e, which defaults to beta to maintain our current test coverage. We should add a leg that just runs with alpha to ensure we don't regress alpha-only installs. Related to: knative#4533
This change has two main parts: 1. Create separate release artifacts for our CRDs, 1. Create two versions of our CRD definitions, with and without v1beta1. The `v1alpha1` CRDs are generated during `./hack/update-codegen.sh` from the `v1beta1` CRDs, so we still have a single source of truth (e.g. for columns and whatnot). `ko apply -f config` is no longer sufficient to install Knative. You need to install either `ko apply -f config/v1alpha1` of `ko apply -f config/v1beta1`. I have added a flag to select the install for e2e, which defaults to beta to maintain our current test coverage. We should add a leg that just runs with alpha to ensure we don't regress alpha-only installs. Related to: #4533
This change has two main parts: 1. Create separate release artifacts for our CRDs, 1. Create two versions of our CRD definitions, with and without v1beta1. The `v1alpha1` CRDs are generated during `./hack/update-codegen.sh` from the `v1beta1` CRDs, so we still have a single source of truth (e.g. for columns and whatnot). `ko apply -f config` is no longer sufficient to install Knative. You need to install either `ko apply -f config/v1alpha1` of `ko apply -f config/v1beta1`. I have added a flag to select the install for e2e, which defaults to beta to maintain our current test coverage. We should add a leg that just runs with alpha to ensure we don't regress alpha-only installs. Related to: knative#4533
This change has two main parts: 1. Create separate release artifacts for our CRDs, 1. Create two versions of our CRD definitions, with and without v1beta1. The `v1alpha1` CRDs are generated during `./hack/update-codegen.sh` from the `v1beta1` CRDs, so we still have a single source of truth (e.g. for columns and whatnot). `ko apply -f config` is no longer sufficient to install Knative. You need to install either `ko apply -f config/v1alpha1` of `ko apply -f config/v1beta1`. I have added a flag to select the install for e2e, which defaults to beta to maintain our current test coverage. We should add a leg that just runs with alpha to ensure we don't regress alpha-only installs. Related to: #4533
0.7.1 has been cut. Closing this issue. |
In what area(s)?
/area API
What version of Knative?
0.7
HEAD
Expected Behavior
Updating Knative Services through the v1beta1 endpoint works.
Actual Behavior
Editing a Knative Service objects returns an error from the API Server.
Steps to Reproduce the Problem
Versions:
This is how my cluster got into this state. Not sure which parts are relevant.
Workaround
Related
kubernetes/kubernetes#73752
kubernetes/kubernetes#74154
The text was updated successfully, but these errors were encountered: