Uploaded image for project: 'OCMUI - OpenShift Cluster Manager UI'
  1. OCMUI - OpenShift Cluster Manager UI
  2. OCMUI-3860

Clarify autoscaling terminology and status on Cluster Details → Overview

    • Clarify autoscaling terminology and status on Cluster Details → Overview
    • Product / Portfolio Work
    • False
    • False
    • To Do
    • 100% To Do, 0% In Progress, 0% Done
    • (10/13) Bala brought up after seeing numerous customer tickets on bad UX/confusion. Dave to refine

      Clarify autoscaling terminology and status on Cluster Details → Overview

      As a customer of https://console.redhat.com/openshift I find the Cluster Details Overview tab's "autoscaling" terminology confusing. The page presents two similarly named items that imply the same thing but come from different sources and can disagree, leading me to think autoscaling is off when nodes are configured to autoscale (or vice‑versa).

      Current:

      Problem statement

      • Two similar labels with different meanings
        • "Cluster autoscaling" reflects whether a cluster-scoped autoscaler controller/config exists in the API payload (currently derived from presence of cluster.autoscaler).
        • "Autoscale" reflects whether any worker pools have min/max autoscaling configured and shows aggregated Min/Max.
      • Conflicting states are possible
        • The page can show "Cluster autoscaling: Disabled" while "Autoscale: Enabled Min/Max" is displayed. Users infer autoscaling won't happen, even if the controller is running (or the opposite in HCP where the controller runs elsewhere).
      • HyperShift/HCP mismatch
        • For HCP, the autoscaler controller runs in the management plane; the guest cluster's cluster.autoscaler may be empty even though autoscaling is active. The Overview reads "Disabled," which is misleading.
      • Ambiguous terminology
        • "Cluster autoscaling" vs "Autoscale" does not explain "controller active" vs "pool configuration," nor does the page warn when pools are configured but the controller is off/unreported.

      Current behavior (summary)

      • "Cluster autoscaling: Enabled/Disabled" is derived from the presence of cluster.autoscaler in cluster details.
      • "Autoscale: Enabled — Min: X Max: Y" sums min/max across MachinePools/NodePools.
      • Overview does not call the autoscaler endpoint; modals use {{GET /clusters/ {id}

        /autoscaler}}, leading to inconsistent status.

      Proposed Mockup:

             Cluster autoscaler
             Controller: Off

             Worker pool autoscaling
             Enabled
             Min: 9          Max: 390

       Desired outcome

      • Customers clearly understand:
        • Whether the cluster autoscaler controller is on, off, or not reported.
        • Whether worker pools are configured for autoscaling and the effective min/max totals.
        • When a mismatch exists, whether autoscaling will actually occur and what action to take.

      Acceptance Criteria

      • “Cluster autoscaling” is renamed and clarified:
        • Label is “Cluster autoscaler” with sublabel “Controller: On / Off / Not reported.”
        • Status is sourced from GET /api/clusters_mgmt/v1/clusters/{id}/autoscaler (regional endpoint as applicable), not from !!cluster.autoscaler.
      • "Autoscale (worker pools)" is clarified:
        • Label is "Worker pool autoscaling."
        • When any pool has autoscaling configured, shows "Enabled — Min: X Max: Y" (sum across pools).
        • Includes a "View pools" link that navigates to Machine/Node Pools.
      • Mismatch handling:
        • If any pool is configured for autoscaling while controller status is Off or Not reported, show an inline warning: "Worker pool autoscaling requires the Cluster autoscaler controller to be On. Autoscaling will not occur until it is enabled."
        • Provide a clear "Edit cluster autoscaling settings" action next to the controller status.
      • HyperShift/HCP behavior:
        • When the cluster is HCP and controller status cannot be reported, show "Not reported (managed by hosted control plane)" with help text explaining where it runs.
      • Help text:
        • Add concise popover text explaining the relationship between the controller and pool configuration and link to docs.
      • Telemetry:
        • Add analytics events for controller/pool mismatch and clicks on "Edit"/"View pools."
      • Tests:
        • Unit tests for each state: Controller On/Off/Not reported × Pools On/Off.
        • HCP Not reported case.
        • Mismatch banner visibility and actions.

      Implementation Details

      • Data source alignment:
        • Use the autoscaler endpoint in Overview via useFetchClusterAutoscaler which calls getClusterAutoscaler(clusterID) (regionalized with getClusterServiceForRegion).
        • Stop inferring controller state from !!cluster.autoscaler in Overview.
      • UI copy and structure:
        • Rename labels as above and display "Controller: On/Off/Not reported."
        • Add inline warning banner when pools are configured but controller is Off/Not reported.
        • For HCP, append note: "Status may not be reported here; the autoscaler runs in the management plane."
      • Pool totals:
        • Continue to compute Min/Max via existing selector; ensure NodePool/MachinePool normalization remains intact.
      • Navigation CTAs:
        • "Edit cluster autoscaling settings" opens the existing autoscaler modal.
        • "View pools" deep-links to Machine/Node Pools tab.
      • Docs/help:
        • Update popovers with brief explanation and a link to the autoscaling docs.
      • QA scenarios:
        • Classic (ROSA/OSD): controller On with pools On; controller Off with pools On (warning); controller On with pools Off.
        • HCP: Not reported with pools On (warning); Not reported with pools Off.
        • Error states: autoscaler endpoint 404/403 → show "Not reported" with help text; ensure Overview remains stable.

      Success metrics

      • Reduction in support cases/slack threads about autoscaling status mismatches.
      • Increased clicks on "Edit cluster autoscaling settings" when mismatch is present.
      • Improved task completion in usability checks (users can correctly state controller and pool states).

              dtaylor@redhat.com David Taylor
              dtaylor@redhat.com David Taylor
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated: