chectl is not compliant with the codeready deployment flavor / stucks at the PostgreSQL pod bootstrap (Post installation checklist)

Created on 23 Oct 2019  ยท  12Comments  ยท  Source: eclipse/che

chectl stucks at the PostgreSQL pod bootstrap (Post installation checklist)

Che version

  • [x] latest
  • [ ] nightly
  • [ ] other: please specify

Steps to reproduce

  1. start crc
  2. chectl server:start -a operator -p crc -b console-openshift-console.apps-crc.testing -n crw --che-operator-image=quay.io/ibuziuk/che-operator:che-14809 --che-operator-cr-yaml=crw.yaml
  3. ERROR:
  โœ” Verify Kubernetes API...OK (it's OpenShift)
  โœ” ๐Ÿ‘€  Looking for an already existing Che instance
    โœ” Verify if Che is deployed into namespace "crw"...it is not
  โœ” โœˆ๏ธ  CodeReady Containers preflight checklist
    โœ” Verify if oc is installed...done.
    โœ” Verify if crc is installed...done.
    โœ” Verify if CodeReady Containers is running...done.
    โœ” Retrieving CodeReady Containers IP and domain for routes URLs...192.168.130.11.nip.io.
 โ€บ   Warning: Che will be deployed in Multi-User mode since Configured 'operator' installer which support only such.
  โœ” ๐Ÿƒโ€  Running the Che Operator
    โœ” Copying operator resources...done.
    โœ” Create Namespace (crw)...done.
    โœ” Create ServiceAccount che-operator in namespace crw...done.
    โœ” Create Role che-operator in namespace crw...done.
    โœ” Create ClusterRole che-operator...It already exists.
    โœ” Create RoleBinding che-operator in namespace crw...done.
    โœ” Create ClusterRoleBinding che-operator...It already exists.
    โœ” 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 crw...done.
    โœ” Create Che Cluster eclipse-che in namespace crw...done.
  โฏ โœ…  Post installation checklist
    โฏ PostgreSQL pod bootstrap
      โœ– scheduling
        โ†’ ERR_TIMEOUT: Timeout set to pod wait timeout 300000. podExist: false, currentPhase: undefined
        downloading images
        starting
      Keycloak pod bootstrap
      Devfile registry pod bootstrap
      Plugin registry pod bootstrap
      Che pod bootstrap
      Retrieving Che Server URL
      Che status check
Error: ERR_TIMEOUT: Timeout set to pod wait timeout 300000. podExist: false, currentPhase: undefined
    at KubeHelper.<anonymous> (~/.local/share/chectl/client/7.3.0/lib/api/kube.js:598:19)
    at Generator.next (<anonymous>)
    at fulfilled (~/.local/share/chectl/client/7.3.0/node_modules/tslib/tslib.js:107:62)

But in reality the pod started:

Screenshots


image

Also, there is hardcoded route names
https://github.com/che-incubator/chectl/blob/master/src/api/che.ts#L111 which fails start of workspace in CRW.

Screenshot from 2019-10-25 10-11-06

Runtime

  • [x] crc

Expected behavior

che is started against crc without errors - all checks in the checklist should pass

Runtime

  • [x] crc

Installation method

  • [x] chectl

Environment

  • [x] Fedora 30
arechectl kinbug severitP1 teahosted-che

Most helpful comment

@ibuziuk thanks for reporting it. It happens because of labels mismatching: chectl expects 'app=che,component=postgres' while crc postgres has 'app=codeready,component=postgres'
https://github.com/che-incubator/chectl/blob/master/src/tasks/che.ts#L38

All 12 comments

@ibuziuk thanks for reporting it. It happens because of labels mismatching: chectl expects 'app=che,component=postgres' while crc postgres has 'app=codeready,component=postgres'
https://github.com/che-incubator/chectl/blob/master/src/tasks/che.ts#L38

@sleshchenko ah, ok - so looks like chectl is not compliant with the codeready deployment flavour

building custom "codeready" compatible chectl seem to work fine against crc (replacing "che" lable with "codeready")

hello, is someone already working on a fix ?

no, I just build a custom binary by replacing che labels with codeready, but I can take care of this issue

@ibuziuk OK so I should assign osio team backlog ?

See also https://issues.jboss.org/browse/CRW-328 re: productized chectl. If we need to create a new https://github.com/redhat-developer/codeready-workspaces-chectl repo, I can do so. Otherwise you can create a folder in https://github.com/redhat-developer/codeready-workspaces/blob/master/dependencies/

But ideally this would be fixed in upstream so we can just override w/ custom-resource.yaml

@nickboldt @benoitf che/osio can prioritize this issue for the next sprint
@l0rd wdyt? I believe we do not need to cretate specific codeready-workspaces-chectl (vanilla chectl can handle both falvours )

    โœ” Keycloak pod bootstrap
      โœ” scheduling...done.
      โœ” downloading images...done.
      โœ” starting...done.
    โœ” Devfile registry pod bootstrap
      โœ” scheduling...done.
      โœ” downloading images...done.
      โœ” starting...done.
    โœ” Plugin registry pod bootstrap
      โœ” scheduling...done.
      โœ” downloading images...done.
      โœ” starting...done.
    โœ” Che pod bootstrap
      โœ” scheduling...done.
      โœ” downloading images...done.
      โœ” starting...done.
    โœ” Retrieving Che Server URL...https://codeready-eclipse-che.apps-crc.testing
    โœ” Che status check
Command server:start has completed successfully.

Changes required for making chectl codereaady specific - https://github.com/che-incubator/chectl/compare/master...ibuziuk:che-14963?expand=1

Closing, the initial implementation of CRW specific chectl (crwctl is available) in https://github.com/redhat-developer/codeready-workspaces-chectl

Was this page helpful?
0 / 5 - 0 ratings