che icon indicating copy to clipboard operation
che copied to clipboard

404 page not found when i open the dashboard after successfully deplying Che

Open Ryder05 opened this issue 2 years ago • 9 comments

Describe the bug

after successfully deploying Eclipse Che, when I open the dashboard URL, nothing happens expect a blank page with 404 page not found .

Che version

7.44@latest

Steps to reproduce

  1. chectl server:deploy --domain=osama.oc-perf.eu --platform=k8s --che-operator-cr-patch-yaml=checluster.yml --skip-oidc-provider-check --che-operator-image=quay.io/eclipse/che-operator:next

Expected behavior

I see the dashboard.

Runtime

Kubernetes (vanilla)

Screenshots

PS C:\Users\Oussema Mhiri\Downloads> kubectl get all -n  eclipse-che
NAME                                       READY   STATUS      RESTARTS   AGE
pod/che-65c9597c5d-69v4l                   1/1     Running     0          5m20s
pod/che-dashboard-6f46f4f97-ggvz5          1/1     Running     0          11m
pod/che-gateway-cdbcfddc5-88zrv            4/4     Running     0          6m25s
pod/che-operator-546774698d-cl6ks          1/1     Running     0          13m
pod/che-tls-job--1-6s7lq                   0/1     Completed   0          60m
pod/che-tls-job--1-d5st9                   0/1     Completed   0          75m
pod/che-tls-job--1-lsh94                   0/1     Completed   0          12m
pod/devfile-registry-7bb4759bf8-8mbq7      1/1     Running     0          11m
pod/keycloak-development-d58954797-wc44x   1/1     Running     0          8m53s
pod/plugin-registry-cc67bcd45-hr89r        1/1     Running     0          11m
pod/postgres-768c969658-k4pzn              1/1     Running     0          12m

NAME                           TYPE           CLUSTER-IP     EXTERNAL-IP      PORT(S)             AGE
service/che-dashboard          ClusterIP      10.3.203.155   <none>           8080/TCP            11m
service/che-gateway            ClusterIP      10.3.81.22     <none>           8080/TCP,8089/TCP   11m
service/che-host               ClusterIP      10.3.78.189    <none>           8080/TCP,8087/TCP   12m
service/devfile-registry       ClusterIP      10.3.19.68     <none>           8080/TCP            11m
service/keycloak-development   LoadBalancer   10.3.126.164   51.210.211.139   443:32549/TCP       15m
service/plugin-registry        ClusterIP      10.3.17.228    <none>           8080/TCP            11m
service/postgres               ClusterIP      10.3.106.135   <none>           5432/TCP            12m

NAME                                   READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/che                    1/1     1            1           11m
deployment.apps/che-dashboard          1/1     1            1           11m
deployment.apps/che-gateway            1/1     1            1           11m
deployment.apps/che-operator           1/1     1            1           13m
deployment.apps/devfile-registry       1/1     1            1           11m
deployment.apps/keycloak-development   1/1     1            1           15m
deployment.apps/plugin-registry        1/1     1            1           11m
deployment.apps/postgres               1/1     1            1           12m

NAME                                             DESIRED   CURRENT   READY   AGE
replicaset.apps/che-65c9597c5d                   1         1         1       11m
replicaset.apps/che-dashboard-6f46f4f97          1         1         1       11m
replicaset.apps/che-gateway-cdbcfddc5            1         1         1       11m
replicaset.apps/che-operator-546774698d          1         1         1       13m
replicaset.apps/devfile-registry-7bb4759bf8      1         1         1       11m
replicaset.apps/keycloak-development-d58954797   1         1         1       15m
replicaset.apps/plugin-registry-cc67bcd45        1         1         1       11m
replicaset.apps/postgres-768c969658              1         1         1       12m

Installation method

chectl/latest

Environment

Windows

Eclipse Che Logs

PS C:\Users\Oussema Mhiri\Downloads> chectl server:deploy --domain=osama.oc-perf.eu --platform=k8s  --che-operator-cr-patch-yaml=checluster.yml  --skip-oidc-provider-check --che-operator-image=quay.io/eclipse/che-operator:next
› Installer type is set to: 'operator'
› Current Kubernetes context: 'kubernetes-admin@perf'
  √ Verify Kubernetes API...OK
  √ 👀  Looking for an already existing Eclipse Che instance
    √ Verify if Eclipse Che is deployed into namespace "eclipse-che"...it is not
  √ 🧪  DevWorkspace engine
    √ Verify cert-manager installation
      √ Check Cert Manager deployment...already deployed
      √ Wait for Cert Manager...ready
  √ ✈️  Kubernetes preflight checklist
    √ Verify if kubectl is installed
    √ Verify remote kubernetes status...done.
    √ Check Kubernetes version: Found v1.22.2.
    √ Verify domain is set...set to osama.oc-perf.eu.
    ↓ Check if cluster accessible [skipped]
  √ Following Eclipse Che logs
    √ Start following Operator logs...done
    √ Start following Eclipse Che Server logs...done
    √ Start following PostgreSQL logs...done
    √ Start following Keycloak logs...done
    √ Start following Plug-in Registry logs...done
    √ Start following Devfile Registry logs...done
    √ Start following Eclipse Che Dashboard logs...done
    √ Start following namespace events...done
  √ Create Namespace eclipse-che...[Exists]
  √ Create Namespace eclipse-che...[Exists]
  √ 🏃‍  Running the Eclipse Che operator
    √ Create ServiceAccount che-operator in namespace eclipse-che...done.
    √ Read Roles and Bindings...done.
    √ Creating Roles and Bindings...done.
    √ Create CRD checlusters.org.eclipse.che...It already exists.
    √ Waiting 5 seconds for the new Kubernetes resources to get flushed...done.
    √ Create deployment che-operator in namespace eclipse-che...done.
    √ Operator pod bootstrap
      √ Scheduling...done
      √ Downloading images...done
      √ Starting...done
    √ Prepare Eclipse Che cluster CR...Done.
    √ Create the Custom Resource of type checlusters.org.eclipse.che in the namespace eclipse-che...done.
  √ ✅  Post installation checklist
    √ PostgreSQL pod bootstrap
      √ Scheduling...done
      √ Downloading images...done
      √ Starting...done
    √ Devfile Registry pod bootstrap
      √ Scheduling...done
      √ Downloading images...done
      √ Starting...done
    √ Plug-in Registry pod bootstrap
      √ Scheduling...done
      √ Downloading images...done
      √ Starting...done
    √ Eclipse Che Dashboard pod bootstrap
      √ Scheduling...done
      √ Downloading images...done
      √ Starting...done
    √ Eclipse Che Server pod bootstrap
      √ Scheduling...done
      √ Downloading images...done
      √ Starting...done
    √ Eclipse Che status check...done
  √ Retrieving Che self-signed CA certificate...OK
  √ Prepare post installation output...done
  √ Show important messages
    √ Eclipse Che '7.45.0' has been successfully deployed.
    √ Documentation             : https://www.eclipse.org/che/docs/
    √ -------------------------------------------------------------------------------
    √ Users Dashboard           : https://osama.oc-perf.eu/dashboard/
    √ -------------------------------------------------------------------------------
    √ Plug-in Registry          : https://osama.oc-perf.eu/plugin-registry/v3/
    √ Devfile Registry          : https://osama.oc-perf.eu/devfile-registry/
    √ -------------------------------------------------------------------------------
Command server:deploy has completed successfully in 09:32.

Additional context

checluster.yml file

apiVersion: org.eclipse.che/v1
kind: CheCluster
metadata:
  name: eclipse-che
spec:
  auth:
    externalIdentityProvider: true
    identityProviderClientId: kubernetes
    identityProviderRealm: git-dev
    identityProviderURL:  http://51.210.211.139:443/auth/realms/git-dev  
    openShiftoAuth: false
    updateAdminPassword: false


  server:
    customCheProperties:
      CHE_OIDC_USERNAME__CLAIM: "email"

keycloak.yml file

---
  apiVersion: "apps/v1"
  kind: "Deployment"
  metadata: 
    name: "keycloak-development"
    #namespace: "che"
  spec: 
    selector: 
      matchLabels: 
        app: "keycloak-development"
    replicas: 1
    strategy: 
      type: "RollingUpdate"
      rollingUpdate: 
        maxSurge: 1
        maxUnavailable: 1
    minReadySeconds: 5
    template: 
      metadata: 
        labels: 
          app: "keycloak-development"
      spec: 
        containers: 
          - 
            name: "keycloak-development"
            image: "quay.io/keycloak/keycloak:10.0.0"
            #args: ["start-dev"]
            #args: ["standalone.sh  --start-mode=admin-only "]
            imagePullPolicy: "Always"
            env: 
              - 
                name: "KEYCLOAK_USER"
                value: "admin"
              -  
                name: "KEYCLOAK_PASSWORD"
                value: "admin"
              -
                name: "PROXY_ADDRESS_FORWARDING"
                value: "true"
              -
                name: "DB_ADDR"
                value: "postgres"     
              -
                name: "DB_VENDOR"
                value: "POSTGRES"
                
              -
                name: DB_USER
                value: "postgres" 
              - 
                name: DB_PASSWORD
                value: "postgres"

              - 
                name: DB_DATABASE
                value: keycloak
              - 
                name : KEYCLOAK_HTTP_PORT
                value : "80"
              -
                name: KEYCLOAK_HTTPS_PORT
                value: "443"
              - 
                name: VIRTUAL_PORT
                value: "8080"
              - 
                name: JDBC_PARAMS
                value: useSSL=false

                
            ports: 
              
              - name: "http"
                containerPort: 8080
                
              - name: "https"
                containerPort: 8443
            readinessProbe:
                httpGet:
                  path: "/auth/realms/master"
                  port: 8080
---
apiVersion: v1
kind: Service
metadata:
  name: keycloak-development
      
  #namespace: "che"

  labels:
    app: keycloak-development
spec:
  ports:
  - name: http
    port: 443
    targetPort: 8080
  
  selector:
    app: keycloak-development
  type: LoadBalancer

Ryder05 avatar Mar 21 '22 14:03 Ryder05

ingress.yml file


# Please edit the object below. Lines beginning with a '#' will be ignored,
# and an empty file will abort the edit. If an error occurs while saving this file will be
# reopened with the relevant failures.
#
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    che.eclipse.org/managed-annotations-digest: huexcUXXfXkuznMPAOTnseyJZYt08fRuvuyCj5uAzFE=
    field.cattle.io/publicEndpoints: "null"
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/proxy-buffer-size: 16k
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "3600"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
    nginx.org/websocket-services: che-gateway
  creationTimestamp: "2022-03-21T15:21:31Z"
  generation: 1
  labels:
    app.kubernetes.io/component: che
    app.kubernetes.io/instance: che
    app.kubernetes.io/managed-by: che-operator
    app.kubernetes.io/name: che
    app.kubernetes.io/part-of: che.eclipse.org
  name: che
  namespace: eclipse-che
  ownerReferences:
  - apiVersion: org.eclipse.che/v1
    blockOwnerDeletion: true
    controller: true
    kind: CheCluster
    name: eclipse-che
    uid: b583ff83-47e5-4944-9c3e-e557d558edeb
  resourceVersion: "6810829416"
  uid: c1df3019-e15c-4fad-88ec-802a0a4b72a9
spec:
  rules:
  - host: osama.oc-perf.eu
    http:
      paths:
      - backend:
          service:
            name: che-gateway
            port:
              number: 8080
        path: /
        pathType: ImplementationSpecific
  tls:
  - hosts:
    - osama.oc-perf.eu
    secretName: che-tls
status:
  loadBalancer: {}

Ryder05 avatar Mar 21 '22 15:03 Ryder05

@tolusha maybe you have some ideas smth. What caught my attention is the keycloak deployment which I think we removed in 7.42 https://github.com/eclipse/che/issues/21036

ibuziuk avatar Mar 21 '22 16:03 ibuziuk

@tolusha maybe you have some ideas smth. What caught my attention is the keycloak deployment which I think we removed in 7.42 #21036

I manually deployed keycloak using the keycloak.yml file.

Ryder05 avatar Mar 21 '22 16:03 Ryder05

Keycloak is no longer part of Che deployment and can't be added.

tolusha avatar May 10 '22 12:05 tolusha

Keycloak is no longer part of Che deployment and can't be added.

I don't understand, should i use an OIDC providers other than keycloak or what ?

Ryder05 avatar May 10 '22 12:05 Ryder05

Maybe I misunderstood your request. I thought you wanted to add keycloak as a part of Eclipse Che deployment. That's way I closed the issue.

tolusha avatar May 10 '22 14:05 tolusha

I am having the same problem, with almost same configuration as mentioned in this issue. The keyclock authentication page shown and after successful login, the '404 page not found' comes. This attached log of oauth-proxy container inside che-gateway, shows that authentication but subsequent gets are failing. image

The only change compared to configs in this issue i have is as below:

kind: CheCluster
metadata:
  name: eclipse-che
spec:
  components:
    cheServer:
      extraProperties:
        CHE_OIDC_USERNAME__CLAIM: email
        serverExposureStrategy: 'single-host'
        workspaceNamespaceDefault: 'che-<username>'
        ingressStrategy: 'single-host'
  networking:
    auth:
      identityProviderURL: 'https://keyxxxxxxxx/auth/realms/xxxrealm'
      oAuthClientName: 'kubeclient'
      oAuthSecret: BExxxxxxxxxxxxxxxxxxxx

Any other logs would be helpful? Is there a way to do a curl based checking from inside any of the che's containers?

vsndev3 avatar Jul 31 '22 15:07 vsndev3

@vsndev3 Could you file a separate issue and provide all needed details? https://github.com/eclipse/che/issues/new?assignees=&labels=kind%2Fbug&template=bug_report.yml

tolusha avatar Aug 01 '22 09:08 tolusha

@vsndev3 Could you file a separate issue and provide all needed details? https://github.com/eclipse/che/issues/new?assignees=&labels=kind%2Fbug&template=bug_report.yml

I left the configuration running and when checked after two days, it seems now I am able to access the dashboard. Not sure what happened, but as is it working, will not file a new issue as of now.

vsndev3 avatar Aug 03 '22 15:08 vsndev3

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 avatar Feb 02 '23 00:02 che-bot