Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-70234

Console Operator fails to update Route host after consoleURL change in HCP

XMLWordPrintable

    • None
    • False
    • Hide

      None

      Show
      None
    • None
    • Moderate
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Description of problem:

      In a Hosted Control Plane (HCP) environment, updating the spec.ingress.consoleURL field in the console.operator.openshift.io resource does not automatically update the spec.host of the console route in the openshift-console namespace. This results in the Console ClusterOperator reporting a Degraded or Not Available state with a 503 Service Unavailable error until the route is manually patched.    

      Version-Release number of selected component (if applicable):

          

      How reproducible:

          Always

      Steps to Reproduce:

          1. Deploy a Hosted Control Plane (HCP) cluster.     
          2. Edit the console operator configuration in the guest cluster: oc edit console.operator.openshift.io cluster
          3. Update spec.ingress.consoleURL to a custom value (e.g., https://custom-console.apps.mycluster.com)
          4. Observe the ClusterOperator status: oc get co console.
          5. Check the host assigned to the console route: oc get routes console -n openshift-console.     

      Actual results:

      The consoleURL in the operator CR is updated successfully.The Console ClusterOperator reports:
      RouteHealthAvailable: route not yet available, https://<custom-url> returns '503 Service Unavailable'.The console route host remains the default auto-generated URL (e.g., console-openshift-console.apps.<base-domain>). Manual intervention is required to edit the route host for the operator to become stable.

      Expected results:

      The Console Operator should act as the owner of the console route. When the consoleURL is modified in the operator's spec, the operator should reconcile this change by updating the spec.host field of the corresponding Route resource automatically.    

      Additional info:

          # Operator CR reflects the desired URL
      $ oc get console.operator.openshift.io -o yaml | grep -i consoleURL
          consoleURL: https://custom-console.apps.cluster.com# Operator is unstable because it expects the custom URL to be active
      
      $ oc get co console
      NAME      VERSION   AVAILABLE   PROGRESSING   DEGRADED   SINCE   MESSAGE
      console   4.x.x     False       False         False      52s     RouteHealthAvailable: route not yet available, https://custom-console.apps.cluster.com returns '503 Service Unavailable'# Route still shows the old/default hostname
      $ oc get routes console -n openshift-console
      NAME      HOST/PORT                                           SERVICES   PORT    TERMINATION
      console   console-openshift-console.apps.default-cluster.com  console    https   reencrypt/Redirect
      
      
      Workaround: 
      Manually patching the route host:
      oc patch route console -n openshift-console --type=merge -p '{"spec":{"host":"custom-console.apps.cluster.com"}}'

              Unassigned Unassigned
              rhn-support-vdurgam Vedant Durgam
              None
              None
              Yu Li Yu Li
              None
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: