Che: Plugin installation fails from che-theia workspace

Created on 28 Oct 2019  Â·  19Comments  Â·  Source: eclipse/che

I have a trial instance of openshift.io and a default workspace (Java maven). When I open the plugin view and click on "install" on any plugin, I get:
"Unable to install plugin 'redhat/php-debugger/latest'. Request addPlugin failed unexpectedly without providing any details."

Runtime

  • [ ] kubernetes (include output of kubectl version)
  • [x] Openshift (include output of oc version)
  • [ ] minikube (include output of minikube version and kubectl version)
  • [ ] minishift (include output of minishift version and oc version)
  • [ ] docker-desktop + K8S (include output of docker version and kubectl version)
  • [ ] other: (please specify)

Environment

  • [ ] my computer

    • [ ] Windows

    • [ ] Linux

    • [ ] macOS

  • [ ] Cloud

    • [ ] Amazon

    • [ ] Azure

    • [ ] GCE

    • [x] openshift.io

  • [ ] other: please specify
areeditoche-theia kinbug severitP1 teaeditors teahosted-che

All 19 comments

Also fails for me but with a bit different flow on 7.3.1:

Peek 2019-11-04 20-25

@evidolob any comments on that ^ ?

Reproduced
Знімок екрана  о 16 32 24

che-theia use DELETE http request with /api/workspace/{workspaceId}/runtime URL.
When I do curl request on that URL, I got

Error: Failed to run the workspace: "Failure executing: POST at: https://f8osoproxy-test-dsaas-production.09b5.dsaas.openshiftapps.com/api/v1/namespaces/yvydolob-che/configmaps. 
Message: configmaps "workspacegyj2ynixetn1vkm2-gitconfig" already exists. Received status: 
Status(apiVersion=v1, code=409, details=StatusDetails(causes=[], group=null, kind=configmaps, name=workspacegyj2ynixetn1vkm2-gitconfig, retryAfterSeconds=null, uid=null, 
additionalProperties={}), kind=Status, message=configmaps "workspacegyj2ynixetn1vkm2-
gitconfig" already exists, metadata=ListMeta(_continue=null, resourceVersion=null, selfLink=null,
 additionalProperties={}), reason=AlreadyExists, status=Failure, additionalProperties={})."

error on ws-loader,
I think problem in implementation of /api/workspace/{workspaceId}/runtime REST service

@evidolob you execute delete and get Failure executing: POST ?
Also, could you please test locally (I see that you are still testing against Hosted Che)

To solve the problem we need:

  • [ ] fix an error when updating the devfile of running workspace (Request addPlugin failed unexpectedly)
  • [ ] check workpsace status before refreshing the page (should wait until workspace status has been changed)

@JonasHelming could you provide more information about your workspace? I need at least your devfile to reproduce the case and check the error when installing a plugin (addPlugin request).

I created a workspace from the following devfile but didn't get any errors.

metadata:
  name: che-theia-all
projects:
  - name: che-theia
    source:
      location: 'https://github.com/eclipse/che-theia.git'
      type: git
      branch: master
  - name: theia
    source:
      location: 'https://github.com/theia-ide/theia.git'
      type: git
      branch: master
components:
  - mountSources: true
    endpoints:
      - name: theia-dev-flow
        attributes:
          protocol: http
          public: 'true'
        port: 3010
    memoryLimit: 3000Mi
    type: dockerimage
    alias: che-dev
    image: 'eclipse/che-theia-dev:next'
apiVersion: 1.0.0
commands:
  - name: init ... DEV che-theia
    actions:
      - workdir: /projects/theia
        type: exec
        command: |
          che:theia init
        component: che-dev

@vitaliy-guliy hmm.. why do you need a devfile? steps to repro are basically:

  • start any workspace
  • open plugin view
  • install any plugin

https://github.com/eclipse/che/issues/15006#issuecomment-549509695

This need to be tested against multiuser with tls / celf-signed-certs and workspace creation in the unique namespace though

@ibuziuk I cannot get an error with updating the devfile (adding a plugin component) on che.openshift.io as @JonasHelming noted

I did exactly as you wrote:

  • start any workspace
  • open plugin view
  • install any plugin

Result: new plugin component in the devfile is appeared.

But yes, there is still a problem with restarting the workspace.

But yes, there is still a problem with restarting the workspace.

This is the biggest issue, workspace is not stopped properly and all the workspace resources are still there (routes, deployments etc) see the error message https://github.com/eclipse/che/issues/15006#issuecomment-550189980

@evidolob if the plugin installation issue / workspace stop + restart is not Hosted Che specific we would probably need to disable plugin installation from che-theia UI

@ibuziuk I think at this moment we can't guarantee for sure that there is no Hosted Che specific. I believe that we need to fix this https://github.com/redhat-developer/rh-che/issues/1689 and clarify all exceptions that happened during workspace removal on Hosted Che.

Tested upstream multi-user workspace stop with machine token on crc version: 1.1.0+95966a9 OpenShift version: 4.2.2 (embedded in binary). Everything works as expected.
Знімок екрана  о 13 41 00 No issues on che server logs

Cannot stop the workspace with machine token on local minishift and openshift.io.

Che server responds OK on STOP request but then, when listening workspace status via websocket, client receives the message that an error occurred when stopping the workspace.
After that when getting the workspace info, it's status is STOPPED but on the infrastructure everything is still running.

openshift.io is another story. I was not able to reproduce in on minishift. What was your configuration on minishift? chectl, operator, OAuth?

Hi guys, I've tried to reproduce on Hosted Che. When I install a plugin and click the button to refresh the workspace, I got an error [1]. I've refreshed the browser window again and got a different error [2] saying that Config maps already exist.. I came to the console to check if the resources are really here - and there were, but in a few seconds they were deleted correctly. I refreshed again and the workspace was loaded correctly.

[1]
Screenshot from 2019-11-12 08-09-24

[2]
Screenshot from 2019-11-12 08-09-56

Everything's merged. Must work now.

@vitaliy-guliy was it cherry-picked to 7.3.x?

verified on prod-preview running against 7.3.2 and the functionality works just fine \o/

Was this page helpful?
0 / 5 - 0 ratings

Related issues

AndrienkoAleksandr picture AndrienkoAleksandr  Â·  3Comments

LaneGeek picture LaneGeek  Â·  3Comments

apupier picture apupier  Â·  3Comments

sleshchenko picture sleshchenko  Â·  3Comments

InterestedInTechAndCake picture InterestedInTechAndCake  Â·  3Comments