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

Cannot install any plugin if sample repo doesn't have extensions.json file #21422

Closed
svor opened this issue May 24, 2022 · 1 comment
Closed
Assignees
Labels
area/plugins kind/bug Outline of a bug - must adhere to the bug report template. severity/P2 Has a minor but important impact to the usage or development of the system.

Comments

@svor
Copy link
Contributor

svor commented May 24, 2022

Describe the bug

After creating a workspace via factory with the project sample which doesn't contain .vscode/extensions.json, I tried to use the Plugins view to install some plugins. As a result plugins were marked as installed, but not into tools container, because /plugins folder doesn't exist in tools container. See screenshots.

Repo url: https://github.com/crw-samples/web-nodejs-sample/tree/che-qe-no-extensions

Devfile.yaml
schemaVersion: 2.1.0
metadata:
  name: nodejs-web-app
components:
  - name: tools
    container:
      image: quay.io/devspaces/udi-rhel8:3.1
      endpoints:
        - exposure: public
          name: nodejs
          protocol: http
          targetPort: 3000
      memoryLimit: 1G
      mountSources: true
      volumeMounts:
        - name: npm
          path: /home/user/.npm
  - name: npm
    volume:
      size: 1G
commands:
  - id: 1-dependencies
    exec:
      label: "Download dependencies"
      component: tools
      workingDir: ${PROJECTS_ROOT}/web-nodejs-sample/app
      commandLine: "npm install"
      group:
        kind: build
  - id: 2-run
    exec:
      label: "Run the web app"
      component: tools
      workingDir: ${PROJECTS_ROOT}/web-nodejs-sample/app
      commandLine: "nodemon app.js"
      group:
        kind: run
  - id: 3-install-and-run
    exec:
      label: "Run the web app (and download dependencies)"
      component: tools
      workingDir: ${PROJECTS_ROOT}/web-nodejs-sample/app
      commandLine: "npm install; nodemon app.js"
      group:
        kind: run
  - id: 4-debug
    exec:
      label: "Run the web app (debugging enabled)"
      component: tools
      workingDir: ${PROJECTS_ROOT}/web-nodejs-sample/app
      commandLine: "nodemon --inspect app.js"
      group:
        kind: debug
        isDefault: true
  - id: 5-stopapp
    exec:
      label: "Stop the web app"
      component: tools
      commandLine: >-
          node_server_pids=$(pgrep -fx '.*nodemon (--inspect )?app.js' | tr "\\n" " ") &&
          echo "Stopping node server with PIDs: ${node_server_pids}" && 
          kill -15 ${node_server_pids} &>/dev/null && echo 'Done.'
      group:
        kind: run

Che version

next (development version)

Steps to reproduce

  1. start the workspace by factory: https://che-host/#/https://github.com/crw-samples/web-nodejs-sample/tree/che-qe-no-extensions
  2. Open plugins view and install Go plugin
  3. Check /plugins folder in tools container

Expected behavior

Plugins should be installed into the tools container

Runtime

OpenShift

Screenshots

screenshot-che-dogfooding apps che-dev x6e0 p1 openshiftapps com-2022 05 24-20_27_33

screenshot-che-dogfooding apps che-dev x6e0 p1 openshiftapps com-2022 05 24-20_24_53

Installation method

chectl/next

Environment

Linux

Eclipse Che Logs

No response

Additional context

No response

@svor svor added kind/bug Outline of a bug - must adhere to the bug report template. team/plugins severity/P2 Has a minor but important impact to the usage or development of the system. area/plugins labels May 24, 2022
@vitaliy-guliy
Copy link
Contributor

vitaliy-guliy commented May 31, 2022

It seems the support of remote plugins, that are running in the remote UDI container is broken.

I was able to install markdown-mermaid plugin (screenshot 1). che-theia-plugin.yaml of this plugin does not describe a sidecar, so che-theia downloads the plugin extensions into theia-ide container.
If the sidecar is specified, che-theia will download the extension into /plugins/sidecars/tools/ directory.

This directory must be bind with /plugins directory in tools container. But this directory is missing and necessary THEIA_* environment variables are not set (screenshot 2).
That is a reason why such kind of plugins are not working.

Screenshot from 2022-05-31 17-34-54

Screenshot from 2022-05-31 17-55-57

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/plugins kind/bug Outline of a bug - must adhere to the bug report template. 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

2 participants