Skip to content
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

Bug 1755383: Add v1 CRD support and stop hotlooping #259

Merged
merged 2 commits into from
Oct 23, 2019

Conversation

sttts
Copy link
Contributor

@sttts sttts commented Oct 22, 2019

No description provided.

@openshift-ci-robot openshift-ci-robot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Oct 22, 2019
@sttts sttts force-pushed the sttts-crd-v1 branch 2 times, most recently from bd6f630 to 59b6e20 Compare October 22, 2019 08:38
@sttts
Copy link
Contributor Author

sttts commented Oct 22, 2019

/assign @wking @abhinavdahiya

@sttts sttts changed the title Add v1 CRD support and stop hotlooping Bug 1755383: Add v1 CRD support and stop hotlooping Oct 22, 2019
@openshift-ci-robot openshift-ci-robot added the bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. label Oct 22, 2019
@openshift-ci-robot
Copy link
Contributor

@sttts: This pull request references Bugzilla bug 1755383, which is valid. The bug has been updated to refer to the pull request using the external bug tracker.

In response to this:

Bug 1755383: Add v1 CRD support and stop hotlooping

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.

@openshift-ci-robot openshift-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Oct 23, 2019
@abhinavdahiya
Copy link
Contributor

/lgtm

will take up follow-up to add tests for these.

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Oct 23, 2019
@openshift-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: abhinavdahiya, sttts

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci-robot openshift-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 23, 2019
@openshift-merge-robot openshift-merge-robot merged commit 83f1a16 into openshift:master Oct 23, 2019
sttts added a commit to sttts/cluster-version-operator that referenced this pull request Oct 24, 2019
This is softening 4ee7b07 (openshift#259) to use the older v1beta1 API version
for waiting for CRDs to be established. This fixes the creation of
v1beta1 CRDs before kube-apiserver is updated during a 4.2->4.3
update.

Note: this will not fix the creation of v1 CRDs before kube-apiserver is
upgraded. Hence, we are still restricted in the use of v1 CRDs
for early manifests.
@sdodson
Copy link
Member

sdodson commented Oct 24, 2019

/bugzilla refresh

@openshift-ci-robot
Copy link
Contributor

@sdodson: All pull requests linked via external trackers have merged. Bugzilla bug 1755383 has been moved to the MODIFIED state.

In response to this:

/bugzilla refresh

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.

wking added a commit to wking/cluster-version-operator that referenced this pull request Jul 8, 2020
No need to repeat this for every version, which is how we've had
things since 4ee7b07 (Add apiextensions.k8s.io/v1 support for CRDs,
2019-10-22, openshift#259).
wking added a commit to wking/cluster-version-operator that referenced this pull request Jul 8, 2020
Error for unrecognized CRD version, because that will be easier to
debug than trying to figure out why a CRD manifest is being silently
ignored by the CVO (which is what we've done since the version switch
landed in 4ee7b07, Add apiextensions.k8s.io/v1 support for CRDs,
2019-10-22, openshift#259).
wking added a commit to wking/cluster-version-operator that referenced this pull request Jul 8, 2020
Error for unrecognized CRD version, because that will be easier to
debug than trying to figure out why a CRD manifest is being silently
ignored by the CVO (which is what we've done since the version switch
landed in 4ee7b07, Add apiextensions.k8s.io/v1 support for CRDs,
2019-10-22, openshift#259).
wking added a commit to wking/cluster-version-operator that referenced this pull request Jul 8, 2020
Error for unrecognized CRD version, because that will be easier to
debug than trying to figure out why a CRD manifest is being silently
ignored by the CVO (which is what we've done since the version switch
landed in 4ee7b07, Add apiextensions.k8s.io/v1 support for CRDs,
2019-10-22, openshift#259).
wking added a commit to wking/cluster-version-operator that referenced this pull request Jul 31, 2020
Protecting us from [1,2]:

  converting (v1beta1.Role) to (v1.Role): unknown conversion

Because merging and application are also version-dependent, it's hard
to paper over this in resourceread with automatic type conversion.
Although from [3]:

  Promotes the rbac.authorization.k8s.io/v1beta1 API to v1 with no changes

so all we really need is the apiVersion bump.  Anyhow, with this
commit, I'm doubling down on the approach from 4ee7b07 (Add
apiextensions.k8s.io/v1 support for CRDs, 2019-10-22, openshift#259) and
collapsing the readers into two helpers that support all of our types
and return runtime.Object.

From 0a255ab (cvo: Use protobuf for sending events and other basic
API commands, 2019-01-18, openshift#90), protobuf is more efficient, so we
should use it where possible.

And because all of this is very tedious to maintain by hand, there's
now a Python generator to spit out all the boilerplate.

[1]: kubernetes/kubernetes#90018
[2]: openshift#420 (comment)
[3]: kubernetes/kubernetes#49642
wking added a commit to wking/cluster-version-operator that referenced this pull request Jul 31, 2020
Protecting us from [1,2]:

  converting (v1beta1.Role) to (v1.Role): unknown conversion

Because merging and application are also version-dependent, it's hard
to paper over this in resourceread with automatic type conversion.
Although from [3]:

  Promotes the rbac.authorization.k8s.io/v1beta1 API to v1 with no changes

so all we really need is the apiVersion bump.  Anyhow, with this
commit, I'm doubling down on the approach from 4ee7b07 (Add
apiextensions.k8s.io/v1 support for CRDs, 2019-10-22, openshift#259) and
collapsing the readers into two helpers that support all of our types
and return runtime.Object.

From 0a255ab (cvo: Use protobuf for sending events and other basic
API commands, 2019-01-18, openshift#90), protobuf is more efficient, so we
should use it where possible.

And because all of this is very tedious to maintain by hand, there's
now a Python generator to spit out all the boilerplate.

[1]: kubernetes/kubernetes#90018
[2]: openshift#420 (comment)
[3]: kubernetes/kubernetes#49642
wking added a commit to wking/cluster-version-operator that referenced this pull request Oct 9, 2020
Error for unrecognized CRD version, because that will be easier to
debug than trying to figure out why a CRD manifest is being silently
ignored by the CVO (which is what we've done since the version switch
landed in 4ee7b07, Add apiextensions.k8s.io/v1 support for CRDs,
2019-10-22, openshift#259).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. lgtm Indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants