-
Bug
-
Resolution: Unresolved
-
Critical
-
None
-
4.21.0
-
None
-
False
-
-
None
-
Critical
-
Yes
-
None
-
None
-
Approved
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Description of problem
The ingress controller reports a degraded state on Azure Stack Hub because the cloud controller is attempting to create a load balancer using Azure Network Provider API version 2024-07-01, which is not supported in Azure Stack Hub environments. Azure Stack Hub only supports API versions up to 2021-01-01 for load balancers.
This causes the default ingress controller to fail with NoRegisteredProviderFound error, preventing external access to the cluster.
The issue appears to be caused by the update in [https://github.com/openshift/cloud-provider-azure/pull/148] which includes the upstream change [https://github.com/kubernetes-sigs/cloud-provider-azure/pull/9308/] that updated the LoadBalancerClient API version from 2018-11-01 to 2024-07-01.
Version-Release number of selected component
4.21.0-0.nightly-2025-11-13-042845
This is a regression - the issue does NOT occur on 4.21.0-0.nightly-2025-10-30-125804 but DOES occur on 4.21.0-0.nightly-2025-11-13-042845.
How reproducible
Always
Steps to Reproduce
Deploy OpenShift 4.21.0-0.nightly-2025-11-13-042845 on Azure Stack Hub environment
Actual results
The ingress controller becomes degraded with the following error:
level=error msg=Cluster operator ingress Degraded is True with IngressDegraded: The "default" ingress controller reports Degraded=True: DegradedConditions: One or more other status conditions indicate a degraded state: LoadBalancerReady=False \(SyncLoadBalancerFailed: The service\-controller component is reporting SyncLoadBalancerFailed events like: Error syncing load balancer: failed to ensure load balancer: PUT [https://management.mtcazs.wwtatc.com/subscriptions/d751283a\-64fa\-401b\-92a1\-58f1750ac0a7/resourceGroups/ci\-op\-yn8t62wy\-0da13/providers/Microsoft.Network/loadBalancers/ci\-op\-yn8t62wy\-0da13\-pgz8r|https://management.mtcazs.wwtatc.com/subscriptions/d751283a-64fa-401b-92a1-58f1750ac0a7/resourceGroups/ci-op-yn8t62wy-0da13/providers/Microsoft.Network/loadBalancers/ci-op-yn8t62wy-0da13-pgz8r] RESPONSE 400: 400 Bad Request ERROR CODE: NoRegisteredProviderFound { "error": { "code": "NoRegisteredProviderFound", "message": "No registered resource provider found for location 'mtcazs' and API version '2024\-07\-01' for type 'loadBalancers'. The supported api\-versions are '2014\-12\-01\-preview, 2015\-05\-01\-preview, 2015\-06\-15, 2016\-03\-30, 2016\-06\-01, 2016\-07\-01, 2016\-08\-01, 2016\-09\-01, 2016\-10\-01, 2016\-11\-01, 2016\-12\-01, 2017\-03\-01, 2017\-04\-01, 2017\-06\-01, 2017\-08\-01, 2017\-09\-01, 2017\-10\-01, 2017\-11\-01, 2018\-01\-01, 2018\-02\-01, 2018\-03\-01, 2018\-04\-01, 2018\-05\-01, 2018\-06\-01, 2018\-07\-01, 2018\-08\-01, 2018\-10\-01, 2018\-11\-01, 2018\-12\-01, 2019\-02\-01, 2019\-04\-01, 2019\-06\-01, 2019\-07\-01, 2019\-08\-01, 2019\-09\-01, 2019\-11\-01, 2019\-12\-01, 2020\-01\-01, 2020\-03\-01, 2020\-04\-01, 2020\-05\-01, 2020\-06\-01, 2020\-07\-01, 2020\-08\-01, 2020\-11\-01, 2021\-01\-01'. The supported locations are 'mtcazs'." } }
Expected results
The cloud controller should either:
1. Detect Azure Stack Hub environment and use a compatible API version (2021-01-01 or earlier), OR
2. Support configuration to specify Azure API version for Azure Stack Hub compatibility
The load balancer should be created successfully and the ingress controller should become available.
Additional info
- Regression: Works on 4.21.0-0.nightly-2025-10-30-125804, broken on 4.21.0-0.nightly-2025-11-13-042845
- Failed job: [https://qe-private-deck-ci.apps.ci.l2s4.p1.openshiftapps.com/view/gs/qe-private-deck/logs/periodic-ci-openshift-openshift-tests-private-release-4.21-amd64-nightly-azure-stack-ipi-f28/1990003140555968512]
- Likely cause: PR [https://github.com/openshift/cloud-provider-azure/pull/148|upstream: https://github.com/kubernetes-sigs/cloud-provider-azure/pull/9308/] updated LoadBalancerClient API version from 2018-11-01 to 2024-07-01