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

oc command extracted an unexpected credential request file

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • 4.22.0
    • oc
    • None
    • None
    • False
    • Hide

      None

      Show
      None
    • None
    • Important
    • None
    • None
    • Proposed
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Description of problem:

      An unexpected credential request yaml file - 0000_30_cluster-api_01_credentials-request.yaml is created when running "oc adm release extract --credentials-requests --cloud=azure".

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

      Client Version: 4.22.0-0.nightly-2026-03-04-220328
      Kustomize Version: v5.7.1 

      How reproducible:

      Always

      Steps to Reproduce:

          1. install-config.yaml file looks like:
      $ cat install-config.yaml
      apiVersion: v1
      baseDomain: qe.azure.devcluster.openshift.com
      compute:
      - hyperthreading: Enabled
        name: worker
        platform: {}
        replicas: 3
      controlPlane:
        hyperthreading: Enabled
        name: master
        platform: {}
        replicas: 3
      metadata:
        creationTimestamp: null
        name: qe-jialiu
      networking:
        clusterNetwork:
        - cidr: 10.128.0.0/14
          hostPrefix: 23
        machineCIDR: 10.0.0.0/16
        serviceNetwork:
        - 172.30.0.0/16
      credentialsMode: Manual
      platform:
        azure:
          region: westus2
          userTags:
            expiration_date: 2026-03-03T18:13+00:00
          baseDomainResourceGroupName: os4-common
          networkResourceGroupName: ci-op-ls2d409k-eb20d-rg
          virtualNetwork: ci-op-ls2d409k-eb20d-vnet
          controlPlaneSubnet: ci-op-ls2d409k-eb20d-master-subnet
          computeSubnet: ci-op-ls2d409k-eb20d-worker-subnet-0
          resourceGroupName: ci-op-ls2d409k-eb20d
          
          2.$ oc adm release extract --credentials-requests --cloud=azure --to=./ --included  --install-config=./install-config.yaml registry.ci.openshift.org/ocp/release:4.22.0-0.nightly-2026-03-04-220328
      Extracted release payload from digest sha256:aa4b84b4a1af6d665272e4fb05b38b6d8f74f01d6e3081ca00b0d67be03a1504 created at 2026-03-04T22:06:31Z
      
      

      Actual results:

          An unexpected file - 0000_30_cluster-api_01_credentials-request.yaml is created.
      
            $ ll
      total 68
      -rw-r--r--. 1 root root 2199 Mar  5 10:43 0000_26_cloud-controller-manager-operator_14_credentialsrequest-azure.yaml
      -rw-r--r--. 1 root root 3905 Mar  5 10:43 0000_30_cluster-api_01_credentials-request.yaml
      -rw-r--r--. 1 root root 2706 Mar  5 10:43 0000_30_machine-api-operator_00_credentials-request.yaml
      -rw-r--r--. 1 root root 2660 Mar  5 10:43 0000_50_cluster-image-registry-operator_01-registry-credentials-request-azure.yaml
      -rw-r--r--. 1 root root 1011 Mar  5 10:43 0000_50_cluster-ingress-operator_00-ingress-credentials-request.yaml
      -rw-r--r--. 1 root root 1097 Mar  5 10:43 0000_50_cluster-network-operator_02-cncc-credentials.yaml
      -rw-r--r--. 1 root root 2424 Mar  5 10:43 0000_50_cluster-storage-operator_03_credentials_request_azure_file.yaml
      -rw-r--r--. 1 root root 2048 Mar  5 10:43 0000_50_cluster-storage-operator_03_credentials_request_azure.yaml     $ cat 0000_30_cluster-api_01_credentials-request.yaml
      ---
      apiVersion: cloudcredential.openshift.io/v1
      kind: CredentialsRequest
      metadata:
        annotations:
          capability.openshift.io/name: CloudCredential
          exclude.release.openshift.io/internal-openshift-hosted: "true"
          include.release.openshift.io/self-managed-high-availability: "true"
          release.openshift.io/feature-gate: ClusterAPIMachineManagement
        name: openshift-cluster-api-azure
        namespace: openshift-cloud-credential-operator
      spec:
        cloudTokenPath: /var/run/secrets/azure/tokens
        providerSpec:
          apiVersion: cloudcredential.openshift.io/v1
          kind: AzureProviderSpec
          permissions:
          - Microsoft.ApiManagement/service/groups/delete
          - Microsoft.ApiManagement/service/groups/read
          - Microsoft.ApiManagement/service/groups/write
          - Microsoft.ApiManagement/service/workspaces/tags/read
          - Microsoft.ApiManagement/service/workspaces/tags/write
          - Microsoft.Authorization/roleAssignments/read
          - Microsoft.Authorization/roleAssignments/write
          - Microsoft.Compute/availabilitySets/delete
          - Microsoft.Compute/availabilitySets/write
          - Microsoft.Compute/disks/delete
          - Microsoft.Compute/images/read
          - Microsoft.Compute/images/write
          - Microsoft.Compute/locations/diskOperations/read
          - Microsoft.Compute/skus/read
          - Microsoft.Compute/virtualMachineScaleSets/delete
          - Microsoft.Compute/virtualMachineScaleSets/read
          - Microsoft.Compute/virtualMachineScaleSets/write
          - Microsoft.Compute/virtualMachines/extensions/write
          - Microsoft.ContainerService/managedClusters/agentPools/write
          - Microsoft.ContainerService/managedClusters/delete
          - Microsoft.ContainerService/managedClusters/write
          - Microsoft.Network/applicationSecurityGroups/delete
          - Microsoft.Network/applicationSecurityGroups/read
          - Microsoft.Network/applicationSecurityGroups/write
          - Microsoft.Network/bastionHosts/delete
          - Microsoft.Network/bastionHosts/write
          - Microsoft.Network/loadBalancers/inboundNatRules/delete
          - Microsoft.Network/loadBalancers/inboundNatRules/write
          - Microsoft.Network/natGateways/delete
          - Microsoft.Network/natGateways/read
          - Microsoft.Network/natGateways/write
          - Microsoft.Network/networkInterfaces/delete
          - Microsoft.Network/networkInterfaces/read
          - Microsoft.Network/networkInterfaces/write
          - Microsoft.Network/networkSecurityGroups/delete
          - Microsoft.Network/networkSecurityGroups/read
          - Microsoft.Network/networkSecurityGroups/write
          - Microsoft.Network/privateDnsZones/delete
          - Microsoft.Network/privateDnsZones/write
          - Microsoft.Network/privateEndpoints/delete
          - Microsoft.Network/privateEndpoints/write
          - Microsoft.Network/publicIPAddresses/delete
          - Microsoft.Network/publicIPAddresses/read
          - Microsoft.Network/publicIPAddresses/write
          - Microsoft.Network/routeTables/delete
          - Microsoft.Network/routeTables/read
          - Microsoft.Network/routeTables/write
          - Microsoft.Network/virtualNetworks/delete
          - Microsoft.Network/virtualNetworks/delete
          - Microsoft.Network/virtualNetworks/read
          - Microsoft.Network/virtualNetworks/subnets/delete
          - Microsoft.Network/virtualNetworks/subnets/read
          - Microsoft.Network/virtualNetworks/subnets/write
          - Microsoft.Network/virtualNetworks/virtualNetworkPeerings/read
          - Microsoft.Network/virtualNetworks/virtualNetworkPeerings/write
          - Microsoft.Network/virtualNetworks/write
          - Microsoft.Resourcehealth/healthevent/action
          - Microsoft.Resources/subscriptions/resourceGroups/delete
          - Microsoft.Resources/subscriptions/resourceGroups/read
          - Microsoft.Resources/subscriptions/resourceGroups/write
          - Microsoft.ClassicStorage/storageAccounts/vmImages/read
          - Microsoft.ClassicStorage/storageAccounts/vmImages/write
        secretRef:
          name: capz-manager-bootstrap-credentials
          namespace: openshift-cluster-api
        serviceAccountNames:
        - capi-controllers 

      Expected results:

          0000_30_cluster-api_01_credentials-request.yaml should not be created in a default featureSet cluster install.

      Additional info:

          1. Discussed with capi team (https://redhat-internal.slack.com/archives/C05KZA3NVU6/p1772640526068109), sounds like https://github.com/openshift/oc/blob/4aebabfa7bfd7c68f4b06601246daad782741070/pkg/cli/admin/release/extract_tools.go#L1284-L1288 gets out of date. 
          2. Because of this issue, azure oidc step (https://gcsweb-qe-private-deck-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/qe-private-deck/logs/periodic-ci-openshift-verification-tests-main-installation-nightly-4.22-azure-ipi-oidc-managed-identity-system-f14/2029232429696290816/artifacts/azure-ipi-oidc-managed-identity-system-f14/ipi-conf-azure-oidc-creds-provision/build-log.txt) failed like:
      
      2026/03/04 16:57:38 Created user-assigned managed identity /subscriptions/53b8f551-f0fc-4bea-8cba-6d1fefd54c8a/resourcegroups/ci-op-izswycjq-eb20d-oidc/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ci-op-izswycjq-eb20d-openshift-cluster-api-capz-manager-bootstrap-credentials
      2026/03/04 16:57:39 error ensuring custom role: PUT https://management.azure.com/subscriptions/53b8f551-f0fc-4bea-8cba-6d1fefd54c8a/providers/Microsoft.Authorization/roleDefinitions/e51f1cbb-c2e0-4036-aca0-314a9ba18806
      --------------------------------------------------------------------------------
      RESPONSE 400: 400 Bad Request
      ERROR CODE: InvalidActionOrNotAction
      --------------------------------------------------------------------------------
      {
        "error": {
          "code": "InvalidActionOrNotAction",
          "message": "'Microsoft.Resourcehealth/healthevent/action' does not match any of the actions supported by the providers."
        }
      }

              joelspeed Joel Speed
              jialiu@redhat.com Johnny Liu
              Ying Zhou Ying Zhou
              None
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated: