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

When DevWorkspace is enabled and Che is upgraded to a new version, existing workspaces should pick the new editors #20193

Closed
Tracked by #20830
l0rd opened this issue Jul 23, 2021 · 6 comments · Fixed by eclipse-che/che-dashboard#397
Assignees
Labels
area/dashboard kind/enhancement A feature request - must adhere to the feature request template. kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. roadmap/3-months Epics that are planned to complete in the short term (within 3 months) sprint/current

Comments

@l0rd
Copy link
Contributor

l0rd commented Jul 23, 2021

Is your enhancement related to a problem? Please describe.

When Che uses DevWorkspace engine, everytime a user creates a workspace a DevWorkspaceTemplate object is created. The DWT has the description of the workspace editor and plugins extracted from Che plugin registry.

When Che is updated to a new version and the plugin registry contains updated descriptions of editors and plugins but the existing workspace will never be updated with the new editor~~/plugin~~ definition.

Describe the solution you'd like

At workspace re-start the client (Che UD) should check if there is the editor~~/plugins~~ described in the DWT has to be updated.

@l0rd l0rd added kind/enhancement A feature request - must adhere to the feature request template. kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. area/dashboard roadmap/3-months Epics that are planned to complete in the short term (within 3 months) labels Jul 23, 2021
@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 Jul 23, 2021
@l0rd l0rd removed the status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. label Jul 23, 2021
@akurinnoy akurinnoy self-assigned this Sep 30, 2021
@l0rd
Copy link
Contributor Author

l0rd commented Oct 18, 2021

If the editor of a workspace is Che default one, then Che should manage it and updated it if the default changes.
If the user has specified a custom editor we should not update it, even if it's outdated.

That said, to specify that the editor has been inferred by Che, we can use 3 labels and one annotation in the DevWorkspaceTemplate:

apiVersion: workspace.devfile.io/v1alpha2
kind: DevWorkspaceTemplate
metadata:
  annotations:
    che.eclipse.org/components-update-policy: managed
    che.eclipse.org/plugin-registry-url: https://che-plugin-registry.com/plugins/v3
  labels:
    app.kubernetes.io/name: che-theia-editor
    app.kubernetes.io/version: latest
    app.kubernetes.io/created-by: eclipse-che
    (...)

If label app.kubernetes.io/created-by: eclipse-che and annotation che.eclipse.org/components-update-policy: managed are there Che should automatically update the component if there is a new version.

@l0rd
Copy link
Contributor Author

l0rd commented Oct 18, 2021

@benoitf @sleshchenko please review

@sleshchenko
Copy link
Member

@l0rd that's a good explanation on how editor update should work.
There are some minor stuff we can discover during implementing it, like probably we also should put plugin registry URL somewhere, like for DevSandbox where they have theia from CRW and theia from upstream.

Then Che should manage it and updated it if the default changes.

Could you clarify if it's about Che Dashboard/Che Editor (like Theia) both?

The DWT has the description of the workspace editor and plugins extracted from Che plugin registry.

With sidecar policy - use dev container, that's not true anymore. Plugin is merged with user's devfile and we don't have the ability to update it, at least good way from Dashboard side.
But maybe we should reconsider that policy, and to simplify stuff deny it from Milestone 3.
Or we may declare that we don't update plugins but I'm not sure about corner cases, and use dev container currently only make stuff more difficult to understand and trace.

@sleshchenko sleshchenko changed the title When DevWorkspace is enabled and Che is upgraded to a new version, existing workspaces should pick the new editors and plugins When DevWorkspace is enabled and Che is upgraded to a new version, existing workspaces should pick the new editors Oct 21, 2021
@sleshchenko
Copy link
Member

Dropped the plugin from here since Dashboard knows nothing about plugins, and they are not in DWT, but merged into user's devfile

@max-cx
Copy link

max-cx commented Nov 15, 2021

Hi, a question to the assignee of this issue:

Will the outcome require any changes to the relevant content of the Installation Guide or Administration Guide or End-user Guide?

Yes/No?

@olexii4
Copy link
Contributor

olexii4 commented Nov 16, 2021

@max-cx
Yes. It requires some updates in the End-user Guide about a possible editor update If the editor is a default one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/dashboard kind/enhancement A feature request - must adhere to the feature request template. kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. roadmap/3-months Epics that are planned to complete in the short term (within 3 months) sprint/current
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants