Uploaded image for project: 'Red Hat OpenShift Dev Spaces (formerly CodeReady Workspaces) '
  1. Red Hat OpenShift Dev Spaces (formerly CodeReady Workspaces)
  2. CRW-2887

There is image tag "3.0" instead of image digests in workspace deployment

XMLWordPrintable

    • False
    • Hide

      None

      Show
      None
    • False

      Steps to reproduce:
      1. Install DS 3.0.0.ER-04-19 on OCP 4.10:

      • devspaces-operator-bundle-container-3.0-13: brew.registry.redhat.io/rh-osbs/iib:217618

      2. Try to start some workspace from "Dashboard > Create Workspace" list.

      Tested workspaces:

      • jboss-eap-quickstarts
      • python-hello-world

      start log
      Initializing DevWorkspace
      Preparing networking
      Preparing services
      Networking ready
      Waiting for DevWorkspace ServiceAccount
      Preparing networking
      Networking ready
      Waiting for workspace deployment
      Init Container remote-runtime-injector has state ImagePullBackOff
      

      Root cause: image tag "3.0" instead of digests in image address expressed in workspace deployment:

      • remote-runtime-injector: registry.redhat.io/devspaces/theia-endpoint-rhel8:3.0
      • theia-ide: registry.redhat.io/devspaces/theia-rhel8:3.0
      • che-machine-exec: registry.redhat.io/devspaces/machineexec-rhel8:3.0

      See workspace deployment yaml: deployment-workspace195c05a291d14a8d.yaml

      There is correct image addresses in CSV file and plugin registry, e.g.:

      che-theia/latest/devfile.yaml
      sh-4.4$ cat /var/www/html/v3/plugins/eclipse/che-theia/latest/devfile.yaml 
      
      schemaVersion: 2.1.0
      metadata:
        name: theia-ide
      commands:
        - id: init-container-command
          apply:
            component: remote-runtime-injector
      events:
        preStart:
          - init-container-command
      components:
        - name: theia-ide
          container:
            image: registry.redhat.io/devspaces/theia-rhel8@sha256:6d3b61d83f45c757e33991fc0ca35eda2a9d465c812c11c4de4a423b7e1a6f7c
            env:
              - name: THEIA_PLUGINS
                value: local-dir:///plugins
              - name: HOSTED_PLUGIN_HOSTNAME
                value: 0.0.0.0
              - name: HOSTED_PLUGIN_PORT
                value: '3130'
              - name: THEIA_HOST
                value: 127.0.0.1
            volumeMounts:
              - name: plugins
                path: /plugins
              - name: theia-local
                path: /home/theia/.theia
            mountSources: true
            memoryLimit: 512M
            cpuLimit: 1500m
            cpuRequest: 100m
            endpoints:
              - name: theia
                attributes:
                  type: main
                  cookiesAuthEnabled: true
                  discoverable: false
                  urlRewriteSupported: true
                targetPort: 3100
                exposure: public
                secure: false
                protocol: https
              - name: webviews
                attributes:
                  type: webview
                  cookiesAuthEnabled: true
                  discoverable: false
                  unique: true
                  urlRewriteSupported: true
                targetPort: 3100
                exposure: public
                secure: false
                protocol: https
              - name: mini-browser
                attributes:
                  type: mini-browser
                  cookiesAuthEnabled: true
                  discoverable: false
                  unique: true
                  urlRewriteSupported: true
                targetPort: 3100
                exposure: public
                secure: false
                protocol: https
              - name: theia-dev
                attributes:
                  type: ide-dev
                  discoverable: false
                  urlRewriteSupported: true
                targetPort: 3130
                exposure: public
                protocol: http
              - name: theia-redirect-1
                attributes:
                  discoverable: false
                  urlRewriteSupported: true
                targetPort: 13131
                exposure: public
                protocol: http
              - name: theia-redirect-2
                attributes:
                  discoverable: false
                  urlRewriteSupported: true
                targetPort: 13132
                exposure: public
                protocol: http
              - name: theia-redirect-3
                attributes:
                  discoverable: false
                  urlRewriteSupported: true
                targetPort: 13133
                exposure: public
                protocol: http
              - name: terminal
                attributes:
                  type: collocated-terminal
                  discoverable: false
                  cookiesAuthEnabled: true
                  urlRewriteSupported: true
                targetPort: 3333
                exposure: public
                secure: false
                protocol: wss
          attributes: {}
        - name: plugins
          volume: {}
        - name: theia-local
          volume: {}
        - name: che-machine-exec
          container:
            image: registry.redhat.io/devspaces/machineexec-rhel8@sha256:cb952fa3f811fede5d9cc3e1415e97cd27075443a2fb2706b57b8b28c6c4d984
            command:
              - /go/bin/che-machine-exec
              - '--url'
              - 127.0.0.1:3333
              - '--idle-timeout'
              - 15m
            memoryLimit: 128Mi
            memoryRequest: 32Mi
            cpuLimit: 500m
            cpuRequest: 30m
          attributes: {}
        - name: remote-runtime-injector
          container:
            image: registry.redhat.io/devspaces/theia-endpoint-rhel8@sha256:2991433525b558e9d7ab4aaa21e5262b21a07974d89fa1b5bb3c7934ebb3cd12
            env:
              - name: PLUGIN_REMOTE_ENDPOINT_EXECUTABLE
                value: /remote-endpoint/plugin-remote-endpoint
              - name: REMOTE_ENDPOINT_VOLUME_NAME
                value: remote-endpoint
            volumeMounts:
              - name: plugins
                path: /plugins
              - name: remote-endpoint
                path: /remote-endpoint
            memoryLimit: 128Mi
            memoryRequest: 32Mi
            cpuLimit: 500m
            cpuRequest: 30m
        - name: remote-endpoint
          volume:
            ephemeral: true
      

       

      jboss-eap-quickstarts workspace devfile
      schemaVersion: 2.1.0
      metadata:
        name: jboss-eap-quickstarts
        namespace: admin-devspaces
      projects:
        - name: jboss-eap-quickstarts
          zip:
            location: 'https://devspaces-openshift-workspaces.apps.ocp410-dnochev.crw-qe.com/devfile-registry/resources/v2/jboss-eap-quickstarts.zip'
      components:
        - attributes:
            app.kubernetes.io/name: tools
            che-theia.eclipse.org/vscode-extensions:
              - 'relative:extension/resources/github_com/redhat-developer/devspaces-vscode-extensions/releases/download/7_44-che-assets/java-0.82.0-369.vsix'
              - 'relative:extension/resources/github_com/fabric8-analytics/fabric8-analytics-vscode-extension/releases/download/0_2_1/fabric8-analytics-0.2.1.vsix'
              - 'relative:extension/resources/github_com/redhat-developer/devspaces-vscode-extensions/releases/download/7_44-che-assets/vscode-java-debug-0.26.0.vsix'
              - 'relative:extension/resources/open-vsx_org/api/vscjava/vscode-java-test/0_28_1/file/vscjava.vscode-java-test-0.28.1.vsix'
            che-theia.eclipse.org/vscode-preferences:
              java.server.launchMode: Standard
          container:
            args:
              - sh
              - '-c'
              - '${PLUGIN_REMOTE_ENDPOINT_EXECUTABLE}'
            endpoints:
              - exposure: public
                name: eap
                path: /index.jsp
                protocol: http
                targetPort: 8080
              - exposure: internal
                name: jgroups
                protocol: http
                targetPort: 7600
            env:
              - name: MAVEN_OPTS
                value: '-Xmx200m -XX:+UseParallelGC -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xms20m -Djava.security.egd=file:/dev/./urandom -Duser.home=/home/jboss'
              - name: JAVA_OPTS_APPEND
                value: '-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n -Dsun.util.logging.disableCallerCheck=true'
              - name: PLUGIN_REMOTE_ENDPOINT_EXECUTABLE
                value: /remote-endpoint/plugin-remote-endpoint
              - name: THEIA_PLUGINS
                value: 'local-dir:///plugins/sidecars/tools'
              - name: CHE_DASHBOARD_URL
                value: 'https://devspaces-openshift-workspaces.apps.ocp410-dnochev.crw-qe.com'
              - name: CHE_PLUGIN_REGISTRY_URL
                value: 'https://devspaces-openshift-workspaces.apps.ocp410-dnochev.crw-qe.com/plugin-registry/v3'
              - name: CHE_PLUGIN_REGISTRY_INTERNAL_URL
                value: 'http://plugin-registry.openshift-workspaces.svc:8080/v3'
            image: 'registry.redhat.io/jboss-eap-7/eap74-openjdk8-openshift-rhel7:7.4.0'
            memoryLimit: 3Gi
            sourceMapping: /projects
            volumeMounts:
              - name: m2
                path: /home/jboss/.m2
              - name: gradle
                path: /home/jboss/.gradle
              - name: remote-endpoint
                path: /remote-endpoint
              - name: plugins
                path: /plugins
          name: tools
        - name: m2
          volume:
            size: 1G
        - name: gradle
          volume:
            size: 1G
      commands:
        - exec:
            commandLine: scl enable rh-maven36 'mvn clean install'
            component: tools
            group:
              kind: build
            workingDir: '${PROJECTS_ROOT}/jboss-eap-quickstarts/kitchensink-jsp'
          id: build
        - exec:
            commandLine: './jboss-cli.sh --connect --command="data-source add --name=ExampleDS --jndi-name=java:jboss/datasources/ExampleDS --driver-name=h2 --connection-url=jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE --user-name=sa --password=sa" && echo ''Server was configured'''
            component: tools
            group:
              kind: build
            workingDir: /opt/eap/bin
          id: configure-web-server
        - exec:
            commandLine: 'cp target/*.war /opt/eap/standalone/deployments/ROOT.war && echo ''Archive was deployed, click on eap endpoint from Workspace view to open the application'''
            component: tools
            group:
              kind: run
            workingDir: '${PROJECTS_ROOT}/jboss-eap-quickstarts/kitchensink-jsp'
          id: copy-war
        - exec:
            commandLine: scl enable rh-maven36 'mvn clean install' && sleep 2 && cp target/*.war /opt/eap/standalone/deployments/ROOT.war
            component: tools
            group:
              kind: run
            workingDir: '${PROJECTS_ROOT}/jboss-eap-quickstarts/kitchensink-jsp'
          id: hot-update
      

       Recent changes: https://github.com/redhat-developer/devspaces/pull/709/files

      sskoryk: it's possible to start workspace using factory, e.g. https://devspaces-openshift-workspaces.apps.ocp410-dnochev.crw-qe.com/dashboard/#/https://github.com/crw-samples/quarkus-quickstarts

      devfile of workspace started from factort URL
      schemaVersion: 2.1.0
      metadata:
        name: quarkus-quickstarts
        namespace: admin-devspaces
      projects:
        - git:
            remotes:
              origin: 'https://github.com/crw-samples/quarkus-quickstarts.git'
          name: quarkus-quickstarts
      components: []
      

              vsvydenk Valerii Svydenko
              dnochevn Dmytro Nochevnov
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: