XMLWordPrintable

    • False
    • None
    • False

      Summary
      After uninstall/install of CRW
      some users can work (developer), some does not work (demo)
      the browser shows: POST https://<CRW_URL>/api/kubernetes/namespace/provision , 504, Gateway Time-out
      the log show: [WARN ] [o.e.c.w.i.o.p.OpenShiftProject 258] - Trying to get namespace 'demo-codeready', but failed because the lack of permissions.

      Relevant information
      OpenShift 4.9.21
      CRW: 2.15.0 (openshift-workspaces)

      even when I am deleting the ns/project for the user (demo-workspaces) it does not work. ns/project will be recreated by the che SA of the openshift-workspaces NS.
      the workspaces/che pod is running with che SA.

      $ oc describe ns demo-codeready 
      Name:         demo-codeready
      Labels:       app.kubernetes.io/component=workspaces-namespace
                    app.kubernetes.io/part-of=che.eclipse.org
                    kubernetes.io/metadata.name=demo-codeready
                    openshift-pipelines.tekton.dev/namespace-reconcile-version=v1.6.2
      Annotations:  che.eclipse.org/username: demo
                    openshift.io/description: 
                    openshift.io/display-name: 
                    openshift.io/requester: system:serviceaccount:openshift-workspaces:che
                    openshift.io/sa.scc.mcs: s0:c31,c30
                    openshift.io/sa.scc.supplemental-groups: 1000990000/10000
                    openshift.io/sa.scc.uid-range: 1000990000/10000
      Status:       Active
      
      No resource quota.
      
      No LimitRange resource.
      $ oc get sa -n demo-codeready
      NAME            SECRETS   AGE
      builder         2         42m
      che-workspace   2         41m
      default         2         42m
      deployer        2         42m
      pipeline        2         42m
      $ oc get role -n demo-codeready
      NAME                   CREATED AT
      exec                   2022-03-02T10:59:08Z
      workspace-configmaps   2022-03-02T10:59:22Z
      workspace-metrics      2022-03-02T10:59:15Z
      workspace-secrets      2022-03-02T10:59:19Z
      workspace-stop         2022-03-02T10:59:26Z
      workspace-view         2022-03-02T10:59:11Z
      $ oc get rolebinding -n demo-codeready
      NAME                        ROLE                                    AGE
      admin                       ClusterRole/admin                       42m
      che-workspace-configmaps    Role/workspace-configmaps               41m
      che-workspace-exec          Role/exec                               42m
      che-workspace-metrics       Role/workspace-metrics                  42m
      che-workspace-secrets       Role/workspace-secrets                  42m
      che-workspace-stop          Role/workspace-stop                     41m
      che-workspace-view          Role/workspace-view                     42m
      edit                        ClusterRole/edit                        42m
      pipelines-scc-rolebinding   ClusterRole/pipelines-scc-clusterrole   42m
      system:deployers            ClusterRole/system:deployer             42m
      system:image-builders       ClusterRole/system:image-builder        42m
      system:image-pullers        ClusterRole/system:image-puller         42m
      oc get pod codeready-6c5776dcb4-5npwt -o yaml
      apiVersion: v1
      kind: Pod
      metadata:
        labels:
          app: codeready
          app.kubernetes.io/component: codeready
          app.kubernetes.io/instance: codeready
          app.kubernetes.io/managed-by: codeready-operator
          app.kubernetes.io/name: codeready
          app.kubernetes.io/part-of: che.eclipse.org
          component: codeready
          pod-template-hash: 6c5776dcb4
        name: codeready-6c5776dcb4-5npwt
        namespace: openshift-workspaces
      spec:
        containers:
        - env:
          - name: CHE_SELF__SIGNED__CERT
          - name: CHE_GIT_SELF__SIGNED__CERT
          - name: CHE_GIT_SELF__SIGNED__CERT__HOST
          - name: CHE_KEYCLOAK_ADMIN__PASSWORD
            valueFrom:
              secretKeyRef:
                key: password
                name: che-identity-secret
          - name: CHE_KEYCLOAK_ADMIN__USERNAME
            valueFrom:
              secretKeyRef:
                key: user
                name: che-identity-secret
          - name: CM_REVISION
            value: 643827193,639371786
          - name: KUBERNETES_NAMESPACE
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
          - name: CHE_JDBC_USERNAME
            valueFrom:
              secretKeyRef:
                key: user
                name: che-postgres-secret
          - name: CHE_JDBC_PASSWORD
            valueFrom:
              secretKeyRef:
                key: password
                name: che-postgres-secret
          envFrom:
          - configMapRef:
              name: che
          image: registry.redhat.io/codeready-workspaces/server-rhel8@sha256:876cd78e050f8f1bede325f883a4a396fda3fc3f4fb6ae453bea453c45e42df9
          imagePullPolicy: IfNotPresent
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /api/system/state
              port: 8080
              scheme: HTTP
            initialDelaySeconds: 400
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 3
          name: codeready
          ports:
          - containerPort: 8080
            name: http
            protocol: TCP
          - containerPort: 8000
            name: http-debug
            protocol: TCP
          - containerPort: 8888
            name: jgroups-ping
            protocol: TCP
          readinessProbe:
            failureThreshold: 18
            httpGet:
              path: /api/system/state
              port: 8080
              scheme: HTTP
            initialDelaySeconds: 25
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 5
          resources:
            limits:
              cpu: "1"
              memory: 1Gi
            requests:
              cpu: 100m
              memory: 512Mi
          securityContext:
            capabilities:
              drop:
              - ALL
              - KILL
              - MKNOD
              - SETGID
              - SETUID
            runAsUser: 1000660000
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
          - mountPath: /public-certs
            name: che-public-certs
          - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
            name: kube-api-access-6xl24
            readOnly: true
        dnsPolicy: ClusterFirst
        enableServiceLinks: true
        imagePullSecrets:
        - name: che-dockercfg-8r99j
        nodeName: compute-2
        preemptionPolicy: PreemptLowerPriority
        priority: 0
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext:
          fsGroup: 1000660000
          seLinuxOptions:
            level: s0:c26,c5
        serviceAccount: che
        serviceAccountName: che
        terminationGracePeriodSeconds: 30
        tolerations:
        - effect: NoExecute
          key: node.kubernetes.io/not-ready
          operator: Exists
          tolerationSeconds: 300
        - effect: NoExecute
          key: node.kubernetes.io/unreachable
          operator: Exists
          tolerationSeconds: 300
        - effect: NoSchedule
          key: node.kubernetes.io/memory-pressure
          operator: Exists
        volumes:
        - configMap:
            defaultMode: 420
            name: ca-certs-merged
          name: che-public-certs
        - name: kube-api-access-6xl24
          projected:
            defaultMode: 420
            sources:
            - serviceAccountToken:
                expirationSeconds: 3607
                path: token
            - configMap:
                items:
                - key: ca.crt
                  path: ca.crt
                name: kube-root-ca.crt
            - downwardAPI:
                items:
                - fieldRef:
                    apiVersion: v1
                    fieldPath: metadata.namespace
                  path: namespace
            - configMap:
                items:
                - key: service-ca.crt
                  path: service-ca.crt
                name: openshift-service-ca.crt
      
      • DevWorkspaces is not enabled.
      • User demo is admin of NS demo-codeready. And the NS is created by CRW, SA: system:serviceaccount:openshift-workspaces:che
      $ oc login -u demo -p openshift
      Login successful.
      
      You have access to the following projects and can switch between them with 'oc project <projectname>':
      
        * demo
          demo-codeready
          demo-terminal
          fuse-demo
      
      Using project "demo".
      $ oc project demo-codeready 
      Now using project "demo-codeready" on server "https://api.ocp4.openshift.freeddns.org:6443".
      $ oc get rolebinding admin -o yaml
      apiVersion: rbac.authorization.k8s.io/v1
      kind: RoleBinding
      metadata:
        creationTimestamp: "2022-03-02T10:58:55Z"
        name: admin
        namespace: demo-codeready
        resourceVersion: "643886648"
        uid: 6e9ed525-842b-414e-ba58-b474dc1265c4
      roleRef:
        apiGroup: rbac.authorization.k8s.io
        kind: ClusterRole
        name: admin
      subjects:
      - apiGroup: rbac.authorization.k8s.io
        kind: User
        name: demo
      

            mloriedo Mario Loriedo
            rbaumgar Robert Baumgartner
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: