Issue
When defining Managed controller provisioning values using CasC after version 2.440.1.3
, specifically when defining an ingress in an OpenShift environment, you are seeing an error similar to the following (truncated for privacy) when attempting to provision a Managed controller:
ERROR: Failed to provision controller:... null:Failure executing: POST at: ... Message: ... denied the request: invalid ingress class: IngressClass.networking.k8s.io "nginx" not found. Received status: Status(apiVersion=v1, code=403, details=null, kind=Status, message... invalid ingress class: IngressClass.networking.k8s.io "nginx" not found, metadata=ListMeta(_continue=null, remainingItemCount=null, resourceVersion=null, selfLink=null, additionalProperties={}), reason=invalid ingress class: IngressClass.networking.k8s.io "nginx" not found, status=Failure, additionalProperties={}).
This issue is occurring while the ingress class (nginx
in this case) is defined in the Helm values:
OperationsCenter:
Ingress:
Class: nginx
As well as the jenkins.yaml
:
masterprovisioning:
kubernetes:
clusterEndpoints:
- id: "myEndpoint"
name: "kubernetes"
serviceExposure:
ingress:
ingressAnnotations: |-
key1: value1
key2: value2
ingressClass: “nginx"
Resolution
Prior to the introduction of a concrete type for controller exposure, the operations center would dynamically change the behavior of exposing a controller based on a runtime lookup to detect if the underlying Kubernetes infrastructure was OpenShift. However, this dynamic check could lead to the creation of an Ingress
object for a controller instead of Route
.
If your kubernetes infrastructure is OpenShift, this error could mean that you should be providing a Route instead of an Ingress. This would be defined under the concrete type exposure as:
masterprovisioning:
kubernetes:
clusterEndpoints:
- id: "myEndpoint"
name: "openshift"
serviceExposure: "openShiftRoute"
For more information on this change, please see Operations Center Parent 3.0.74 as well as the upgrade notes for CloudBees CI on modern cloud platforms 2.440.1.3