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

The default workspaces namespace/project should be <username>-che #14795

Closed
sleshchenko opened this issue Oct 7, 2019 · 5 comments
Closed

The default workspaces namespace/project should be <username>-che #14795

sleshchenko opened this issue Oct 7, 2019 · 5 comments
Assignees
Labels
kind/task Internal things, technical debt, and to-do tasks to be performed. severity/P1 Has a major impact to usage or development of the system.
Milestone

Comments

@sleshchenko
Copy link
Member

Is your task related to a problem? Please describe.

The default workspaces namespace/project should be <username>-che

Describe the solution you'd like

We do not store any info about existing workspaces' namespaces and reconfiguring this value means that every existing workspace would lose their data - it's why we are not able just to change the default value.

Here is a plan of how we could change the default workflow without losing datas for existing workspaces:

  1. We introduce new property che.infra.kubernetes.namespace.default with default value <username>-che. It will be reused for a user's ability to specify any available namespace later.
  2. We deprecate existing che.infra.kubernetes.namespace but the value MUST NOT BE updated or removed.
  3. On workspace start Che Server:
  • checks if the workspace has target namespaces stored (by default for every workspace it's not)
    - yes (stored): use it for workspace start;
    - no (is absent): checks if namespace with che.infra.kubernetes.namespace exist:
    • yes (exists): store this value into workspace and use during start, for example, it may be workspacefh3642 if workspace was created before our changes
    • no (does not exist): store namespace with name che.infra.kubernetes.namespace.default into the workspace and use it for workspace start. Default value is <username>-che;
@sleshchenko sleshchenko added kind/task Internal things, technical debt, and to-do tasks to be performed. team/platform labels Oct 7, 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 Oct 7, 2019
@metlos metlos self-assigned this Oct 7, 2019
@metlos metlos added the status/in-progress This issue has been taken by an engineer and is under active development. label Oct 7, 2019
@skabashnyuk
Copy link
Contributor

There is no guarantee that it would be fixed for 7.3. We are investigating pitfalls to understand what would be the target release.

@tolusha tolusha added severity/P1 Has a major impact to 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. labels Oct 7, 2019
@l0rd
Copy link
Contributor

l0rd commented Oct 7, 2019

@sleshchenko @skabashnyuk this flow looks complicated and involves some extra calls to the k8s API during workspaces creations that I would like to avoid. What about:

  • support old behavior using che.infra.kubernetes.namespace.default=<workspace-id>
  • <workspace-id> is the default for 7.3
  • che-<username> becomes the default on 7.4

By the way I don't consider that a blocker for 7.3 or CRW 2.0 hence let's consider all the pros and cons and make the right choice.

@nickboldt
Copy link
Contributor

can we override the prefix/suffix? might want crw-* or *-crw instead of che. Because, ya know, branding reasons. :)

@l0rd l0rd added this to the Backlog - Platform milestone Oct 10, 2019
@skabashnyuk skabashnyuk modified the milestones: Backlog - Platform, 7.4.0 Oct 10, 2019
@metlos
Copy link
Contributor

metlos commented Oct 15, 2019

Note that this has been worked on in PR #14828.

@skabashnyuk skabashnyuk modified the milestones: Backlog - Platform, 7.4.0 Oct 16, 2019
@skabashnyuk skabashnyuk added the status/blocked Issue that can’t be moved forward. Must include a comment on the reason for the blockage. label Oct 31, 2019
@sleshchenko sleshchenko removed the status/in-progress This issue has been taken by an engineer and is under active development. label Oct 31, 2019
@sleshchenko
Copy link
Member Author

The most of the needed changes are done (che server, helm charts) but this issue is not closed because of che-operator side changes eclipse-che/che-operator#92
Which we are not able to merge before CRW2.0 is released. (More about why we are not able to merge it can be found in the following David's comment eclipse-che/che-operator#92 (comment))

This issue is marked as blocked and the remaining work (merge che-operator PR) will be done after CRW2.0 is released.

@skabashnyuk skabashnyuk modified the milestones: 7.4.0, Backlog - Platform Nov 1, 2019
@sleshchenko sleshchenko removed the status/blocked Issue that can’t be moved forward. Must include a comment on the reason for the blockage. label Nov 13, 2019
@skabashnyuk skabashnyuk modified the milestones: Backlog - Platform, 7.5.0 Nov 13, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/task Internal things, technical debt, and to-do tasks to be performed. severity/P1 Has a major impact to usage or development of the system.
Projects
None yet
Development

No branches or pull requests

7 participants