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

Manage versioning of the CheCluster CRD #15389

Closed
davidfestal opened this issue Dec 3, 2019 · 6 comments
Closed

Manage versioning of the CheCluster CRD #15389

davidfestal opened this issue Dec 3, 2019 · 6 comments
Labels
area/che-operator Issues and PRs related to Eclipse Che Kubernetes Operator kind/enhancement A feature request - must adhere to the feature request template. kind/technical-debt Technical debt issue severity/P2 Has a minor but important impact to the usage or development of the system.

Comments

@davidfestal
Copy link
Contributor

Is your enhancement related to a problem? Please describe.

Now that we provide an OpenAPI schema for the CheCluster Custom Resource, we would need to upgrade the version of the CRD when introducing new fields. It seems this is necessary to ensure backward-compatibilty with already-existing CRDs in a cluster, and proper updates of CSVs in OperatorHub.

If we release release new Operator versions in OperatorHub without correctly managing the CRD versionning, users will face the following problems:

  • Automatic update through OperatorHub will not update the CRD (since it already exists in the cluster and it is a cluster-wide resource). So users won't be able to use the new properties.
  • If ever the CRD would be updated manually, then the new fields would be available in Openshift 4 console doc and yaml completion, even for previous versions of installed Che that would not have been automatically upgraded (this second case is not critical since this PR only adds new fields).

Describe the solution you'd like

The established way to do this is described here: https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definition-versioning/#specify-multiple-versions.

This issue is about setting this up and testing updates with a new version of CRD to ensure everything works as expected according to the Kubernetes docs.

We should also update OLM-related scripts in order to update the CRD version consistently, or at least check that the generated CRD yaml is not modified without having a new API version created.

@davidfestal davidfestal added kind/enhancement A feature request - must adhere to the feature request template. area/che-operator Issues and PRs related to Eclipse Che Kubernetes Operator kind/technical-debt Technical debt issue labels Dec 3, 2019
@che-bot che-bot added the status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. label Dec 3, 2019
@l0rd l0rd added team/osio severity/P1 Has a major impact to usage or development of the system. severity/P2 Has a minor but important impact to the usage or development of the system. and removed status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. severity/P1 Has a major impact to usage or development of the system. labels Dec 4, 2019
@tolusha tolusha removed the team/osio label Dec 12, 2019
@tolusha tolusha added this to the Backlog - Deploy milestone Dec 12, 2019
@tolusha tolusha mentioned this issue Dec 18, 2019
12 tasks
@tolusha tolusha added the status/in-progress This issue has been taken by an engineer and is under active development. label Dec 26, 2019
@tolusha tolusha mentioned this issue Jan 8, 2020
16 tasks
@tolusha
Copy link
Contributor

tolusha commented Jan 8, 2020

@davidfestal
I am wondering how I can test updates of the operator with a new version of CRD?

@tolusha tolusha removed the status/in-progress This issue has been taken by an engineer and is under active development. label Jan 23, 2020
@tolusha
Copy link
Contributor

tolusha commented Jan 24, 2020

I've pushed into a branch my efforts to automate crd versioning
[1] https://github.com/eclipse/che-operator/tree/ab/versions

@tolusha
Copy link
Contributor

tolusha commented Jan 24, 2020

The issue is postponed

@tolusha tolusha mentioned this issue Jan 27, 2020
35 tasks
@tolusha tolusha removed this from the Backlog - Deploy milestone Feb 17, 2020
@che-bot
Copy link
Contributor

che-bot commented Aug 21, 2020

Issues go stale after 180 days of inactivity. lifecycle/stale issues rot after an additional 7 days of inactivity and eventually close.

Mark the issue as fresh with /remove-lifecycle stale in a new comment.

If this issue is safe to close now please do so.

Moderators: Add lifecycle/frozen label to avoid stale mode.

@che-bot che-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Aug 21, 2020
@tolusha tolusha removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Aug 21, 2020
@tolusha tolusha added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. and removed team/deploy labels Aug 21, 2020
@tolusha tolusha removed the lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. label Aug 10, 2021
@tolusha
Copy link
Contributor

tolusha commented Sep 27, 2021

Eclipse Che operator already manages several versions of eclipse-che CRD

@tolusha tolusha closed this as completed Sep 27, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/che-operator Issues and PRs related to Eclipse Che Kubernetes Operator kind/enhancement A feature request - must adhere to the feature request template. kind/technical-debt Technical debt issue severity/P2 Has a minor but important impact to the usage or development of the system.
Projects
None yet
Development

No branches or pull requests

4 participants