Description of problem: Failed to install 'cluster-kube-descheduler-operator' with error: "message": "error creating clusterrole clusterkubedescheduleroperator.4.8.0-202105211057.p0-6d99c5598c: ClusterRole.rbac.authorization.k8s.io \"clusterkubedescheduleroperator.4.8.0-202105211057.p0-6d99c5598c\" is invalid: metadata.labels: Invalid value: \"clusterkubedescheduleroperator.4.8.0-202105211057.p0.assembly.stream\": must be no more than 63 characters" Version-Release number of selected component (if applicable): [root@localhost ~]# oc get csv clusterkubedescheduleroperator.4.8.0-202105211057.p0.assembly.stream NAME DISPLAY VERSION REPLACES PHASE clusterkubedescheduleroperator.4.8.0-202105211057.p0.assembly.stream Kube Descheduler Operator 4.8.0-202105211057.p0.assembly.stream Pending How reproducible: Always Steps to Reproduce: 1) Create namespace :openshift-kube-descheduler-operator 2) Create "cluster-kube-descheduler-operator" from console; Actual results: 2) Failed to create the "cluster-kube-descheduler-operator" find error: [root@localhost ~]# oc get events LAST SEEN TYPE REASON OBJECT MESSAGE 48m Normal RequirementsUnknown clusterserviceversion/clusterkubedescheduleroperator.4.8.0-202105211057.p0.assembly.stream requirements not yet checked 48m Normal RequirementsNotMet clusterserviceversion/clusterkubedescheduleroperator.4.8.0-202105211057.p0.assembly.stream one or more requirements couldn't be found 49m Normal CreatedSCCRanges namespace/openshift-kube-descheduler-operator [root@localhost ~]# oc get ip install-wdpl7 -o json |jq '.status' { "bundleLookups": [ { "catalogSourceRef": { "name": "qe-app-registry", "namespace": "openshift-marketplace" }, "identifier": "clusterkubedescheduleroperator.4.8.0-202105211057.p0.assembly.stream", "path": "registry-proxy.engineering.redhat.com/rh-osbs/openshift-ose-ose-cluster-kube-descheduler-operator-bundle@sha256:1ba792a91f426344612680ac38b9db4786e4377330f08f34b70a6e11b6685616", "properties": "{\"properties\":[{\"type\":\"olm.gvk\",\"value\":{\"group\":\"operator.openshift.io\",\"kind\":\"KubeDescheduler\",\"version\":\"v1\"}},{\"type\":\"olm.gvk\",\"value\":{\"group\":\"operator.openshift.io\",\"kind\":\"KubeDescheduler\",\"version\":\"v1beta1\"}},{\"type\":\"olm.package\",\"value\":{\"packageName\":\"cluster-kube-descheduler-operator\",\"version\":\"4.8.0-202105211057.p0.assembly.stream\"}}]}", "replaces": "" } ], "catalogSources": [], "conditions": [ { "lastTransitionTime": "2021-05-25T05:28:59Z", "lastUpdateTime": "2021-05-25T05:28:59Z", "message": "error creating clusterrole clusterkubedescheduleroperator.4.8.0-202105211057.p0-6d99c5598c: ClusterRole.rbac.authorization.k8s.io \"clusterkubedescheduleroperator.4.8.0-202105211057.p0-6d99c5598c\" is invalid: metadata.labels: Invalid value: \"clusterkubedescheduleroperator.4.8.0-202105211057.p0.assembly.stream\": must be no more than 63 characters", "reason": "InstallComponentFailed", "status": "False", "type": "Installed" } ], .... Expected results: 2) Succceed create the "cluster-kube-descheduler-operator" from console. Additional info:
[root@localhost ~]# oc describe sub cluster-kube-descheduler-operator Name: cluster-kube-descheduler-operator Namespace: openshift-kube-descheduler-operator Labels: operators.coreos.com/cluster-kube-descheduler-operator.openshift-kube-descheduler-op= Annotations: <none> API Version: operators.coreos.com/v1alpha1 Kind: Subscription Metadata: Creation Timestamp: 2021-05-25T05:27:47Z Generation: 1 Managed Fields: API Version: operators.coreos.com/v1alpha1 Fields Type: FieldsV1 fieldsV1: f:spec: .: f:channel: f:installPlanApproval: f:name: f:source: f:sourceNamespace: f:startingCSV: Manager: Mozilla Operation: Update Time: 2021-05-25T05:27:47Z API Version: operators.coreos.com/v1alpha1 Fields Type: FieldsV1 fieldsV1: f:metadata: f:labels: .: f:operators.coreos.com/cluster-kube-descheduler-operator.openshift-kube-descheduler-op: Manager: olm Operation: Update Time: 2021-05-25T05:27:47Z API Version: operators.coreos.com/v1alpha1 Fields Type: FieldsV1 fieldsV1: f:status: .: f:catalogHealth: f:conditions: f:currentCSV: f:installPlanGeneration: f:installPlanRef: .: f:apiVersion: f:kind: f:name: f:namespace: f:resourceVersion: f:uid: f:installedCSV: f:installplan: .: f:apiVersion: f:kind: f:name: f:uuid: f:lastUpdated: f:state: Manager: catalog Operation: Update Time: 2021-05-25T05:27:59Z Resource Version: 88492 UID: dca0e80f-9501-4595-bd4e-72f834a57c73 Spec: Channel: 4.8 Install Plan Approval: Automatic Name: cluster-kube-descheduler-operator Source: qe-app-registry Source Namespace: openshift-marketplace Starting CSV: clusterkubedescheduleroperator.4.8.0-202105211057.p0.assembly.stream Status: Catalog Health: Catalog Source Ref: API Version: operators.coreos.com/v1alpha1 Kind: CatalogSource Name: community-operators Namespace: openshift-marketplace Resource Version: 84144 UID: 2c05155e-670f-48b0-880e-e54a9606a40c Healthy: true Last Updated: 2021-05-25T05:27:47Z Catalog Source Ref: API Version: operators.coreos.com/v1alpha1 Kind: CatalogSource Name: qe-app-registry Namespace: openshift-marketplace Resource Version: 61412 UID: bf10f54a-90ad-4efb-b1e8-c1936647cc77 Healthy: true Last Updated: 2021-05-25T05:27:47Z Conditions: Last Transition Time: 2021-05-25T05:27:47Z Message: all available catalogsources are healthy Reason: AllCatalogSourcesHealthy Status: False Type: CatalogSourcesUnhealthy Last Transition Time: 2021-05-25T05:29:00Z Reason: InstallComponentFailed Status: True Type: InstallPlanFailed Current CSV: clusterkubedescheduleroperator.4.8.0-202105211057.p0.assembly.stream Install Plan Generation: 1 Install Plan Ref: API Version: operators.coreos.com/v1alpha1 Kind: InstallPlan Name: install-wdpl7 Namespace: openshift-kube-descheduler-operator Resource Version: 87867 UID: 1a55e2c3-ec19-4dbc-a73b-8655895f9c06 Installed CSV: clusterkubedescheduleroperator.4.8.0-202105211057.p0.assembly.stream Installplan: API Version: operators.coreos.com/v1alpha1 Kind: InstallPlan Name: install-wdpl7 Uuid: 1a55e2c3-ec19-4dbc-a73b-8655895f9c06 Last Updated: 2021-05-25T05:29:00Z State: AtLatestKnown Events: <none>
Thanks Yinzhou for reporting the bug, i hit similar issue during upgrade as well. [knarra@knarra ~]$ oc get csv NAME DISPLAY VERSION REPLACES PHASE clusterkubedescheduleroperator.4.7.0-202105141603.p0 Kube Descheduler Operator 4.7.0-202105141603.p0 Replacing clusterkubedescheduleroperator.4.8.0-202105211057.p0.assembly.stream Kube Descheduler Operator 4.8.0-202105211057.p0.assembly.stream clusterkubedescheduleroperator.4.7.0-202105141603.p0 Pending Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal RequirementsUnknown 2m58s (x2 over 2m58s) operator-lifecycle-manager requirements not yet checked Normal RequirementsNotMet 2m57s (x2 over 2m58s) operator-lifecycle-manager one or more requirements couldn't be found
setting the blocker ? flag as due to this bug QE is unable to install / upgrade or test descheduler operator. Install / upgrade gives the error above.
Hi folks, So this particular limit is because this operator is hitting a kube limit: OLM uses labels to track related resources from an operator install, and the name of this operator's CSV is too long to actually fit in that label. In the short term, the fix for this has to be that the operator reduces the length of the CSV name, otherwise this will never install on a cluster with OLM. Even if we add support for longer CSV names, it's still going to run into this issue for any cluster that doesn't have a change like that backported. Who owns the descheduler operator? It seems like the immediate fix should be for them to reduce the length of the CSV name and republish this operator bundle. Longer term, we can potentially try to spec out some changes that could enable longer CSV names, but that is bordering on a feature request and will most likely not be something that we would backport to previous versions of OCP. If anything, the only immediate fix we could add here is validation to test that operators are hitting this limit before they are released. For now, I'm setting this to blocker- and updating the priority and severity to medium/medium. I'm also reaching out on slack to continue this conversation there.
https://issues.redhat.com/browse/ART-3002 looks completed so I'm moving this to modified.
Verified bug with the payload below and could install descheduler successfully. [knarra@knarra ~]$ oc get csv NAME DISPLAY VERSION REPLACES PHASE clusterkubedescheduleroperator.4.8.0-202106081938 Kube Descheduler Operator 4.8.0-202106081938 Succeeded [knarra@knarra ~]$ oc get clusterversion NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.8.0-0.nightly-2021-06-09-023740 True False 3h57m Cluster version is 4.8.0-0.nightly-2021-06-09-023740 [knarra@knarra ~]$ oc get pods NAME READY STATUS RESTARTS AGE cluster-8478444647-lfhll 1/1 Running 0 3m26s descheduler-operator-5db59c8558-s9k8r 1/1 Running 0 56m Based on the above moving bug to verified state.
The issue was determined to not be specific to the Descheduler, but rather ART's automated builds of operators, see https://issues.redhat.com/browse/ART-3002 From those comments it appears they re-triggered builds for 4.5-4.8, but for any more questions on it I would forward to the ART team. I do not know when the release schedule for prior releases is, unfortunately, sorry
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Moderate: OpenShift Container Platform 4.8.2 bug fix and security update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2021:2438