Uploaded image for project: 'Red Hat Advanced Cluster Management'
  1. Red Hat Advanced Cluster Management
  2. ACM-27599

Installation wizard blocked due to AgentClusterInstallValidator

XMLWordPrintable

    • Incidents & Support
    • Important
    • None

      Description of problem:

      In RHACM, customer has prepared three Nodes for the installation of OpenShift Container Platform. All Nodes are shown as "Ready":

      Customer clicks on "Go to cluster configuration to start the installation". On the "Cluster Details" page, the customer then also clicks "Next".

      However, clicking "Next" fails, the wizard does not continue. Investigating it shows that there is the following PATCH request sent:

      [{"op":"replace","path":"/spec/imageSetRef/name","value":"openshift-v4.20.5-x86-64"}]

      However this is blocked:

      admission webhook "agentclusterinstallvalidators.admission.agentinstall.openshift.io" denied the request: Attempted to change AgentClusterInstall.ImageSetRef which is immutable

      See also the following screenshot:


       

      It is not clear if this is a UI issue or an RHACM issue and which component tries to set the field.

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

      RHACM 2.14

      How reproducible:

      Always

      Steps to Reproduce:

      1.  Using the Agent method, set up three Bare Metal Nodes.
      2.  Validate in the cluster view that all Nodes are shown as "Ready"
      3. In the UI, click on "Go to cluster configuration to start the installation"
      4. Review the settings, do not change anything, click "Next"

      Actual results:

      Clicking "Next" fails, the wizard does not continue. The browser console shows that there is the following PATCH request sent:

      [{"op":"replace","path":"/spec/imageSetRef/name","value":"openshift-v4.20.5-x86-64"}]

      This is the response:

      admission webhook "agentclusterinstallvalidators.admission.agentinstall.openshift.io" denied the request: Attempted to change AgentClusterInstall.ImageSetRef which is immutable

      Expected results:

      An actionable error message is shown or install wizard continues with the installation without trying to change the field.

      Additional info:

      YAML output of the wizard:

      apiVersion: hive.openshift.io/v1
      kind: ClusterDeployment
      metadata:
        name: censored-int-01
        namespace: censored-int-01
        labels:
          cluster.open-cluster-management.io/clusterset: default
          hive.openshift.io/cluster-platform: agent-baremetal
      spec:
        clusterName: censored-int-01
        platform:
          agentBareMetal:
            agentSelector: {}
        baseDomain: cloud.example.com
        controlPlaneConfig:
          servingCertificates: {}
        installed: false
        pullSecretRef:
          name: censored-int-01-pull-secret
        clusterInstallRef:
          kind: AgentClusterInstall
          name: censored-int-01
          group: extensions.hive.openshift.io
          version: v1beta1
        preserveOnDelete: false
       
      ---
      apiVersion: extensions.hive.openshift.io/v1beta1
      kind: AgentClusterInstall
      metadata:
        name: censored-int-01
        namespace: censored-int-01
      spec:
        clusterDeploymentRef:
          name: censored-int-01
        apiVIP: 192.168.0.8
        imageSetRef:
          name: openshift-v4.18.22-x86-64
        ingressVIP: 192.168.0.9
        networking:
          networkType: OVNKubernetes
          clusterNetwork:
            - cidr: 10.140.0.0/18
              hostPrefix: 23
          serviceNetwork:
            - 1.2.3.4/18
          userManagedNetworking: false
          machineNetwork:
            - cidr: 5.6.7.8/24
        provisionRequirements:
          controlPlaneAgents: 3
        sshPublicKey: >-
          ssh-ed25519
          CENSORED
        holdInstallation: true
        manifestsConfigMapRef:
          name: additional-installation-manifests
       
      ---
      kind: Secret
      apiVersion: v1
      metadata:
        name: censored-int-01-pull-secret
        namespace: censored-int-01
        labels:
          agent-install.openshift.io/watch: 'true'
          cluster.open-cluster-management.io/backup: 'true'
      data:
        .dockerconfigjson: >-
          CENSORED
      type: kubernetes.io/dockerconfigjson
       
      ---
      apiVersion: cluster.open-cluster-management.io/v1
      kind: ManagedCluster
      metadata:
        name: censored-int-01
        labels:
          cloud: BareMetal
          cluster.open-cluster-management.io/clusterset: default
          feature.open-cluster-management.io/addon-application-manager: unreachable
          feature.open-cluster-management.io/addon-cert-policy-controller: unreachable
          feature.open-cluster-management.io/addon-cluster-proxy: unreachable
          feature.open-cluster-management.io/addon-config-policy-controller: unreachable
          feature.open-cluster-management.io/addon-governance-policy-framework: unreachable
          feature.open-cluster-management.io/addon-observability-controller: unreachable
          feature.open-cluster-management.io/addon-search-collector: unreachable
          feature.open-cluster-management.io/addon-work-manager: unreachable
          name: censored-int-01
          vendor: OpenShift
      spec:
        hubAcceptsClient: true
        leaseDurationSeconds: 60
        taints:
          - effect: NoSelect
            key: cluster.open-cluster-management.io/unreachable
            timeAdded: '2025-12-08T11:47:00Z'
       
      ---
      apiVersion: agent.open-cluster-management.io/v1
      kind: KlusterletAddonConfig
      metadata:
        name: censored-int-01
        namespace: censored-int-01
      spec:
        applicationManager:
          enabled: true
        certPolicyController:
          enabled: true
        clusterLabels:
          cloud: Baremetal
          vendor: OpenShift
        clusterName: censored-int-01
        clusterNamespace: censored-int-01
        iamPolicyController:
          enabled: true
        policyController:
          enabled: true
        searchCollector:
          enabled: true

        1. Screenshot From 2025-12-15 11-45-00.png
          237 kB
          Simon Krenger
        2. acm.png
          299 kB
          Simon Krenger

              rh-ee-lsoffer Lior Soffer
              rhn-support-skrenger Simon Krenger
              Vladislav Kolodny Vladislav Kolodny
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: