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

Che should have a mechanism to inform user on removed/deleted plugins #15327

Closed
amisevsk opened this issue Nov 26, 2019 · 8 comments
Closed

Che should have a mechanism to inform user on removed/deleted plugins #15327

amisevsk opened this issue Nov 26, 2019 · 8 comments
Labels
area/plugin-registry kind/enhancement A feature request - must adhere to the feature request template. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. severity/P2 Has a minor but important impact to the usage or development of the system.

Comments

@amisevsk
Copy link
Contributor

Is your enhancement related to a problem? Please describe.

Currently, the Che plugin registry hosts every plugin and version published since its inception. However, in the future, we may want to be able to remove plugins from later releases without obtusely breaking old workspaces (e.g. eclipse-che/che-plugin-registry#264).

Describe the solution you'd like

The plugin registry and Che server should be able to surface when a previously existing plugin has been removed from the registry. E.g. the plugin registry could, instead of responding 404 as though the plugin never existed, report info to the user with a possible path to fixing the problem. For old versions (e.g. the rc versions of che-theia), a message could be returned suggesting a move to a new version in their devfile. For completely deprecated plugins such as node-debug, it could at least explain why support was dropped.

Describe alternatives you've considered

With the current approach, removal of any plugin from the registry means the potential for non-startable workspaces when updating Che.

@amisevsk amisevsk added kind/enhancement A feature request - must adhere to the feature request template. area/plugin-registry labels Nov 26, 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 Nov 26, 2019
@l0rd l0rd added severity/P2 Has a minor but important impact to the usage or development of the system. team/osio and removed status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. labels Nov 26, 2019
@l0rd
Copy link
Contributor

l0rd commented Nov 26, 2019

This looks complicated for an issue that should happen seldom. It should not be a common case because in the devfile registry we always reference latest of plugins and we rarely remove a full plugin.

So an alternative approach would be:

  1. We agree that we are going to deprecate plugin X
  2. We remove any reference to plugin X in the devfile registry => sprint Y
  3. We remove the plugin from the plugin-registry => sprint Y+3

@nickboldt
Copy link
Contributor

  1. for node-debug, done. [plugin registry] Do not reference marketplace.visualstudio.com in plugin registry meta.yaml #14573 (comment)
  2. there are no refs to node-debug in the devfile registry in 7.3.x, 7.0.x, or master branch.
  3. therefore we can remove node-debug from the plugin registry any time after 7.3.x.

@nickboldt
Copy link
Contributor

What do we think about removing old plugins so we don't have to fetch 100s of old SHAs ?

Running the write_image_digests.sh script for che plugin registry today processes 84 containers.

If we remove anything older than 7.3.3, that drops to 67.

Or maybe we want to use LATEST_ONLY arg in Dockerfile to only generate digests for the latest images?

@amisevsk
Copy link
Contributor Author

I'm 👍 on removing old versions, though I don't know that it's my decision. For only getting digests for the newest images, I'm not sure; it kind of defeats the point of using digests for everything. OTOH it would be a quicker build, so there's that.

Already, latest_only should do what you mean though; if LATEST_ONLY=true, the first step is to remove all older versions, so the SHA checking should be faster already.

@nickboldt
Copy link
Contributor

Yeah after submitting this I found the keep_only_latest.sh so I could use that in CRW if we want downstream.

I'm just looking at not carrying along year-old unsupported garbage in upstream.

@ericwill
Copy link
Contributor

A cull of old plugins in the plugin registry is definitely warranted. 👍

@che-bot
Copy link
Contributor

che-bot commented Jan 4, 2021

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 Jan 4, 2021
@che-bot che-bot closed this as completed Jan 20, 2021
@ericwill
Copy link
Contributor

Not really a problem any more since we are only keeping the latest plugin anyway.

@ericwill ericwill reopened this Jan 20, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/plugin-registry kind/enhancement A feature request - must adhere to the feature request template. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. 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

6 participants