-
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
[chectl] Add support for updating from Che 6 -> Che 7 #14793
Comments
Task requires some clarification of scope.
|
It doesn't make sense to make
|
it is part of the update to me. when installing using the operator, you apply an number of yaml files (roles, role bindings, cluster role bindings, as well as the deployment yaml). We should apply (patch) them all during update. |
Is it really and reliably possible for the Che admin user to stop all the workspaces when the Openshift OAuth integration is enabled (which is the default, especially on CRW) ? |
@davidfestal if the RBAC update is already in the deploy folder of the operator then we only need to stop and update. And maybe make it a unique command:
|
@l0rd for the |
I'm still quite skeptic about the real ability to stop all workspaces from the che admin account when Openshift OAuth is enabled (which is the default). |
At this moment Che7 has no code IDE/agents etc that support running che6 workspaces. I see no way how Che6 can be upgraded to che7 with running workspaces. The question here is the only how to stop/cleanup running parts. |
I really see this as a blocker (update blocker, but also estimation blocker). If I understand correctly, it seems that:
We should have a clear answer to those questions, and how we answer them will highly drives the way we envision the update, operator-wise, and especially the potential OperatorHub automatic update. |
I doubt that we have ever that assumption( che6 to che7 upgrade with running workspaces) in the roadmap. Che 6 workspace would not be accessible after an upgrade.
I would say that is a question to you @davidfestal you work with workspaces in this mode for osio. |
As you may know, OSIO user management is really specific, and is not the same as the upstream Openshift OAuth integration, even though similar. So in OSIO it was probably possible, since we were using the oso-proxy and a specific service account with additional rights (Ilya would probably tell more). |
Previous owners may not be reachable at this moment. |
@davidfestal @nickboldt can you explain again what has to be done in this task. It's not very clear to me. |
This issue is related to #14810 Test UX of an upgrade to Che7 from the running Che6 workspace perspective
|
It's needed to clarify the minimal scope of this issue.
or simpler
Should we chectl override the user-defined configuration for CheCluster with empty values as @davidfestal mentioned in that issue? @l0rd @davidfestal It would be useful to hear your opinion about it? |
I don't think so, at least if For the operator installer at least, we expect a Che operator to be already installed, and possibly a
That's an interesting idea IMO.
We don't need the
That might be a nice-to-have, and easy to implement. But anyway this bug is already documented. So I assume it is not a hard requirement and could also be left as a documented manual step.
|
Taking into account the info above I would move in an iterative way. Step 1 (scope of the current issue): Agreed with Mario on such minimal scope. Mario asked to handle and test different scenarios:
Agreed with Mario that documentation with pitfalls should be enough and we are not going to implement resetting images in CheCluster CR. And I would like to leave some more context here:
Possible Step 3: Possible Step 4:
Chectl provides some interface via parameters(--tls, --os-oauth) to help a user construct CR for deploying Che. Agreed with Mario that we're going to implement parameters for |
The issue description is updated in accordance to my the latest comment #14793 (comment) |
@sleshchenko looks like a good plan. |
I like Phase 2 and would love to see it in chectl in time for CRW 2, but Phase 1 is minimum viable product requirement. |
The idea was not to reset to empty string systematically. But more to detect when there is an update from Che to Additionally, it would be a one-time fix (applied only once when updating from |
I figure it out that chectl always sets images for che-server, plugin and devfile registries https://github.com/che-incubator/chectl/blob/master/src/api/kube.ts#L771 |
The minimal functionality that we can deliver is merged with che-incubator/chectl#353 |
To better support migrating users from Che 6 to 7 (or CRW 1.x to 2.0), it would be hella sweet if chectl's
server:update
command allowed this.On server:update chectl applies templates - in case of operator they are ServiceAccount, Role, ClusterRole, RoleBinding, ClusterRoleBinding, CRD, operator deployment. And that's pretty it that we should do on phase 1.
Since chectl has only one prepackaged templates version (resources of che-operator) they are used by default if --templates= param is not specified. It means that if you use
chectl 7.2.0
it will update your Che to 7.2.0.If you use chectl 7.3.0 and want to update your Che to 7.2.0 (lower or greater than chectl version) that you should specify the corresponding templates files.
Mario asked to handle and test different scenarios:
chectl
The text was updated successfully, but these errors were encountered: