-
Notifications
You must be signed in to change notification settings - Fork 88
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
Support for the new way of specifying the workspace namespace in Che. #92
Support for the new way of specifying the workspace namespace in Che. #92
Conversation
Are we sure we want to merge that before the 7.3 and CRW 2.0 ? I thought we would not change the default (=> PR eclipse-che/che#14828) before 7.3 ? cc @l0rd |
I'm not against it, but would I'd like to be tested during an upgrade with the operator and already running workspaces, and with both scenarios (OAuth enabled / disabled). Maybe those tests were already done, then good :-) BTW these tests should be done before merging the related Che PR (eclipse-che/che#14828) IMO. |
12f6c8d
to
b3a22a2
Compare
@davidfestal |
Because this PR is changing the Go code and defaults, it would be included in CRW operator builds that are started from the master branch of the upstream repo. Additionally the operator releasing process are a linear process. There is no simple way currently to issue an operator bug-fix release from a branch, due to how the CSVs + OperatorHub package work: So I think this time we have to wait for CRW 2.0 to be released or at least frozen on a given generated docker image. Then we would be able to merge to master PRs that would not fit in CRW 2.0. I assume that on your side, you can still test this PR by manually pushing the built operator docker image to a given tag, and overriding the operator image when you test it (in the operator deployment). @nickboldt @l0rd wdyt ? Am I missing some point ? |
Added WIP status to avoid occasionally merge |
Or we produce a 2.x branch in this repo and I update my CRW operator build job to use 2.x branch. |
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.
Now we have a crw-2.0
branch from which we sync to the pkgs.devel
product repo in order to build the CRW 2.0 artifacts.
So it seems we can now merge this on master
.
cc @l0rd
👍 for merging |
The default is still the current namespace if there is no oauth in the infra With Openshift OAuth, the namespace is now "<username>-che" or "<username>-codeready" depending on the che flavor.
651c651
to
4d15f5d
Compare
I'm doing final tests before merging it. |
The default is still the current namespace if there is no oauth in the infra
With Openshift OAuth, the namespace is now
<username>-che
or<username>-codeready
depending on the che flavor.Note that this change amounts to no workspace breakage even in case of upgrade from previous versions because of the workspace namespace resolution logic implemented in the che server.
The new logic (implemented in eclipse-che/che#14828) does the following when determining a workspace namespace during workspace start (not creation):
che.infra.kubernetes.namespace
orche.infra.openshift.project
property (defaulting to<workspaceid>
placeholder)che.infra.kubernetes.namespace.default
(which is common for both k8s and openshift) and use the namespace determined by that.This change, together with eclipse-che/che#14828 enables us to keep existing workspaces working in their original namespaces and use the new configuration for the new workspaces.
The only consequence is that users will see che workspaces potentially in multiple namespaces (but the workspaces will be able to access all their data, etc.).
For the pre-existing workspaces created using an older version of Che, this logic ensures correct namespace resolution after the upgrade to the latest version of operator and che in both the below cases:
No OAuth
Because there's no oauth, the workspaces will be still colocated in the operator's namespace and will be found during step 2. above.
OAuth
The existing workspaces will be in the namespaces called after their
<workspaceid>
. The above logic will find them in step 2. (previously, oauth meant namespace per workspace).Depends on
eclipse-che/che#14828