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

Kube Descheduler requires the .metadata.name field to be "cluster"

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • None
    • 4.18
    • descheduler
    • Quality / Stability / Reliability
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Description of problem:

          When deploying the Kube Descheduler instance with a different name than `cluster` the operator does not do anything.
      
      ```
      apiVersion: operator.openshift.io/v1
      kind: KubeDescheduler
      metadata:
        name: cluster-test
        namespace: openshift-kube-descheduler-operator
      spec:
        deschedulingIntervalSeconds: 3600
        logLevel: Normal
        managementState: Managed
        mode: Predictive
        operatorLogLevel: Normal
        profileCustomizations:
          podLifetime: 50m
        profiles:
        - LifecycleAndUtilization
      ```
      
      ```
      oc logs descheduler-operator-5d7f6b6b94-l47td | tail -n 5 
      2025-10-06T09:04:14.786535648Z E1006 09:04:14.786004       1 target_config_reconciler.go:1555] "Unhandled Error" err="key failed with : kubedeschedulers.operator.openshift.io \"cluster\" not found"
      2025-10-06T09:04:24.948462896Z E1006 09:04:24.948405       1 target_config_reconciler.go:148] "unable to get operator configuration" err="kubedeschedulers.operator.openshift.io \"cluster\" not found" namespace="openshift-kube-descheduler-operator" kubedescheduler="cluster"
      2025-10-06T09:04:24.948462896Z E1006 09:04:24.948445       1 target_config_reconciler.go:1555] "Unhandled Error" err="key failed with : kubedeschedulers.operator.openshift.io \"cluster\" not found"
      2025-10-06T09:04:33.809603677Z E1006 09:04:33.809542       1 base_controller.go:279] "Unhandled Error" err="cluster-kube-descheduler-operator reconciliation failed: kubedeschedulers.operator.openshift.io \"cluster\" not found"
      2025-10-06T09:04:51.635437104Z E1006 09:04:51.635316       1 base_controller.go:279] "Unhandled Error" err="cluster-kube-descheduler-operator reconciliation failed: kubedeschedulers.operator.openshift.io \"cluster\" not found"
      ```
      
      

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

          OpenShift Version 4.18.3
      Kube Descheduler Operator Version 5.1.3

      How reproducible:

      100%    

      Steps to Reproduce:

          1. Install Kube Descheduler
          2. Provision Kube Descheduler with a different name than "cluster"
          3. The Kube Descheduler does not deploy a KubeDescheduler instance
          

      Actual results:

          No KubeDescheduler instance deployed

      Expected results:

          KubeDescheduler instance deployed

      Additional info:

          When removing the KubeDescheduler instance named `cluster-test` and provision an instance named `cluster` everything works as expected. 
      
      $ oc delete -n openshift-kube-descheduler-operator  kubedeschedulers.operator.openshift.io cluster-test
      $ oc apply -f kubedescheduler-cluster.yaml
      $ oc get pods                             
      NAME                                    READY   STATUS    RESTARTS   AGE
      descheduler-6b5fd5ff86-k95rk            1/1     Running   0          24s
      descheduler-operator-5d7f6b6b94-cbpmf   1/1     Running   0          1m
      
      $ oc logs descheduler-operator-5d7f6b6b94-cbpmf
      ....
      2025-10-06T09:10:05.217433423Z E1006 09:10:05.217383       1 target_config_reconciler.go:148] "unable to get operator configuration" err="kubedeschedulers.operator.openshift.io \"cluster\" not found" namespace="openshift-kube-descheduler-operator" kubedescheduler="cluster"
      2025-10-06T09:10:05.217546913Z E1006 09:10:05.217537       1 target_config_reconciler.go:1555] "Unhandled Error" err="key failed with : kubedeschedulers.operator.openshift.io \"cluster\" not found"
      2025-10-06T09:10:10.869150528Z I1006 09:10:10.869075       1 event.go:377] Event(v1.ObjectReference{Kind:"Deployment", Namespace:"openshift-kube-descheduler-operator", Name:"descheduler-operator", UID:"f39acff8-41de-4599-8c3d-5db836f05b4c", APIVersion:"apps/v1", ResourceVersion:"", FieldPath:""}): type: 'Normal' reason: 'ObserveTLSSecurityProfile' minTLSVersion changed to VersionTLS12
      2025-10-06T09:10:10.869275451Z I1006 09:10:10.869250       1 event.go:377] Event(v1.ObjectReference{Kind:"Deployment", Namespace:"openshift-kube-descheduler-operator", Name:"descheduler-operator", UID:"f39acff8-41de-4599-8c3d-5db836f05b4c", APIVersion:"apps/v1", ResourceVersion:"", FieldPath:""}): type: 'Normal' reason: 'ObserveTLSSecurityProfile' cipherSuites changed to ["TLS_AES_128_GCM_SHA256" "TLS_AES_256_GCM_SHA384" "TLS_CHACHA20_POLY1305_SHA256" "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256" "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384" "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256" "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256"]
      2025-10-06T09:10:10.869459904Z I1006 09:10:10.869431       1 event.go:377] Event(v1.ObjectReference{Kind:"Deployment", Namespace:"openshift-kube-descheduler-operator", Name:"descheduler-operator", UID:"f39acff8-41de-4599-8c3d-5db836f05b4c", APIVersion:"apps/v1", ResourceVersion:"", FieldPath:""}): type: 'Normal' reason: 'ObservedConfigChanged' Writing updated observed config:   map[string]any{
      2025-10-06T09:10:10.869459904Z +     "servingInfo": map[string]any{
      2025-10-06T09:10:10.869459904Z +         "cipherSuites": []any{
      2025-10-06T09:10:10.869459904Z +             string("TLS_AES_128_GCM_SHA256"), string("TLS_AES_256_GCM_SHA384"),
      2025-10-06T09:10:10.869459904Z +             string("TLS_CHACHA20_POLY1305_SHA256"),
      2025-10-06T09:10:10.869459904Z +             string("TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"),
      2025-10-06T09:10:10.869459904Z +             string("TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"),
      2025-10-06T09:10:10.869459904Z +             string("TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"),
      2025-10-06T09:10:10.869459904Z +             string("TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"),
      2025-10-06T09:10:10.869459904Z +             string("TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256"), ...,
      2025-10-06T09:10:10.869459904Z +         },
      2025-10-06T09:10:10.869459904Z +         "minTLSVersion": string("VersionTLS12"),
      2025-10-06T09:10:10.869459904Z +     },
      2025-10-06T09:10:10.869459904Z   }
      2025-10-06T09:10:10.897082945Z I1006 09:10:10.897032       1 event.go:377] Event(v1.ObjectReference{Kind:"Deployment", Namespace:"openshift-kube-descheduler-operator", Name:"descheduler-operator", UID:"f39acff8-41de-4599-8c3d-5db836f05b4c", APIVersion:"apps/v1", ResourceVersion:"", FieldPath:""}): type: 'Normal' reason: 'ConfigMapCreated' Created ConfigMap/cluster -n openshift-kube-descheduler-operator because it was missing
      2025-10-06T09:10:10.923642562Z I1006 09:10:10.923568       1 event.go:377] Event(v1.ObjectReference{Kind:"Deployment", Namespace:"openshift-kube-descheduler-operator", Name:"descheduler-operator", UID:"f39acff8-41de-4599-8c3d-5db836f05b4c", APIVersion:"apps/v1", ResourceVersion:"", FieldPath:""}): type: 'Normal' reason: 'ServiceCreated' Created Service/metrics -n openshift-kube-descheduler-operator because it was missing
      2025-10-06T09:10:10.962975988Z I1006 09:10:10.962495       1 event.go:377] Event(v1.ObjectReference{Kind:"Deployment", Namespace:"openshift-kube-descheduler-operator", Name:"descheduler-operator", UID:"f39acff8-41de-4599-8c3d-5db836f05b4c", APIVersion:"apps/v1", ResourceVersion:"", FieldPath:""}): type: 'Normal' reason: 'ServiceAccountCreated' Created ServiceAccount/openshift-descheduler-operand -n openshift-kube-descheduler-operator because it was missing
      2025-10-06T09:10:10.974370915Z I1006 09:10:10.974319       1 rbac.go:55] ClusterRole "openshift-descheduler-operand" changes: {"metadata":{"ownerReferences":[{"apiVersion":"operator.openshift.io/v1","kind":"KubeDescheduler","name":"cluster","uid":"47807227-5d1f-4007-aec6-b547249033b6"}]}}
      2025-10-06T09:10:10.986006442Z I1006 09:10:10.985953       1 event.go:377] Event(v1.ObjectReference{Kind:"Deployment", Namespace:"openshift-kube-descheduler-operator", Name:"descheduler-operator", UID:"f39acff8-41de-4599-8c3d-5db836f05b4c", APIVersion:"apps/v1", ResourceVersion:"", FieldPath:""}): type: 'Normal' reason: 'ClusterRoleUpdated' Updated ClusterRole.rbac.authorization.k8s.io/openshift-descheduler-operand because it changed
      2025-10-06T09:10:10.993331590Z I1006 09:10:10.993290       1 rbac.go:110] ClusterRoleBinding "openshift-descheduler-operand" changes: {"metadata":{"ownerReferences":[{"apiVersion":"operator.openshift.io/v1","kind":"KubeDescheduler","name":"cluster","uid":"47807227-5d1f-4007-aec6-b547249033b6"}]}}
      2025-10-06T09:10:10.998978853Z I1006 09:10:10.998916       1 event.go:377] Event(v1.ObjectReference{Kind:"Deployment", Namespace:"openshift-kube-descheduler-operator", Name:"descheduler-operator", UID:"f39acff8-41de-4599-8c3d-5db836f05b4c", APIVersion:"apps/v1", ResourceVersion:"", FieldPath:""}): type: 'Normal' reason: 'ClusterRoleBindingUpdated' Updated ClusterRoleBinding.rbac.authorization.k8s.io/openshift-descheduler-operand because it changed
      2025-10-06T09:10:11.022168533Z I1006 09:10:11.022093       1 event.go:377] Event(v1.ObjectReference{Kind:"Deployment", Namespace:"openshift-kube-descheduler-operator", Name:"descheduler-operator", UID:"f39acff8-41de-4599-8c3d-5db836f05b4c", APIVersion:"apps/v1", ResourceVersion:"", FieldPath:""}): type: 'Normal' reason: 'PrometheusRuleCreated' Created PrometheusRule.monitoring.coreos.com/descheduler-rules -n openshift-kube-descheduler-operator because it was missing
      2025-10-06T09:10:11.043443317Z I1006 09:10:11.043384       1 rbac.go:110] ClusterRoleBinding "cluster-monitoring-view-cr" changes: {"metadata":{"ownerReferences":[{"apiVersion":"operator.openshift.io/v1","kind":"KubeDescheduler","name":"cluster","uid":"47807227-5d1f-4007-aec6-b547249033b6"}]}}
      2025-10-06T09:10:11.053246778Z I1006 09:10:11.053170       1 event.go:377] Event(v1.ObjectReference{Kind:"Deployment", Namespace:"openshift-kube-descheduler-operator", Name:"descheduler-operator", UID:"f39acff8-41de-4599-8c3d-5db836f05b4c", APIVersion:"apps/v1", ResourceVersion:"", FieldPath:""}): type: 'Normal' reason: 'ClusterRoleBindingUpdated' Updated ClusterRoleBinding.rbac.authorization.k8s.io/cluster-monitoring-view-cr because it changed
      2025-10-06T09:10:11.200967450Z I1006 09:10:11.200904       1 event.go:377] Event(v1.ObjectReference{Kind:"Deployment", Namespace:"openshift-kube-descheduler-operator", Name:"descheduler-operator", UID:"f39acff8-41de-4599-8c3d-5db836f05b4c", APIVersion:"apps/v1", ResourceVersion:"", FieldPath:""}): type: 'Normal' reason: 'RoleCreated' Created Role.rbac.authorization.k8s.io/prometheus-k8s -n openshift-kube-descheduler-operator because it was missing
      2025-10-06T09:10:11.611282792Z I1006 09:10:11.611205       1 event.go:377] Event(v1.ObjectReference{Kind:"Deployment", Namespace:"openshift-kube-descheduler-operator", Name:"descheduler-operator", UID:"f39acff8-41de-4599-8c3d-5db836f05b4c", APIVersion:"apps/v1", ResourceVersion:"", FieldPath:""}): type: 'Normal' reason: 'RoleBindingCreated' Created RoleBinding.rbac.authorization.k8s.io/prometheus-k8s -n openshift-kube-descheduler-operator because it was missing
      2025-10-06T09:10:11.659041571Z I1006 09:10:11.657771       1 event.go:377] Event(v1.ObjectReference{Kind:"Deployment", Namespace:"openshift-kube-descheduler-operator", Name:"descheduler-operator", UID:"f39acff8-41de-4599-8c3d-5db836f05b4c", APIVersion:"apps/v1", ResourceVersion:"", FieldPath:""}): type: 'Normal' reason: 'DeploymentCreated' Created Deployment.apps/descheduler -n openshift-kube-descheduler-operator because it was missing
      2025-10-06T09:10:16.443897435Z I1006 09:10:16.443838       1 apps.go:155] Deployment "openshift-kube-descheduler-operator/descheduler" changes: {"metadata":{"annotations":{"operator.openshift.io/spec-hash":"07817235be352e14ab209a6f47c0ba0d29f3ccd22b0de294722c2196bbdbb0fe"}},"spec":{"progressDeadlineSeconds":null,"revisionHistoryLimit":null,"strategy":{"rollingUpdate":null,"type":null},"template":{"metadata":{"annotations":{"kubedeschedulers.operator.openshift.io/cluster":"2","serviceaccounts/openshift-descheduler-operand":"21150262","services/metrics":"21150302"}},"spec":{"containers":[{"args":["--policy-config-file=/policy-dir/policy.yaml","--logging-format=text","--tls-cert-file=/certs-dir/tls.crt","--tls-private-key-file=/certs-dir/tls.key","--descheduling-interval=3600s","--tls-cipher-suites=TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256","--tls-min-version=VersionTLS12","--dry-run=true","-v=2"],"command":["/bin/descheduler"],"image":"registry.redhat.io/kube-descheduler-operator/descheduler-rhel9@sha256:4c653bee02c0135c8625fea6a01e18a046013ee330c5253ff66a7cd705ba08c1","name":"openshift-descheduler","resources":{"requests":{"cpu":"100m","memory":"500Mi"}},"securityContext":{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"readOnlyRootFilesystem":true},"volumeMounts":[{"mountPath":"/policy-dir","name":"policy-volume"},{"mountPath":"/certs-dir","name":"certs-dir"}]}],"dnsPolicy":null,"schedulerName":null,"serviceAccount":null,"terminationGracePeriodSeconds":null,"volumes":[{"configMap":{"name":"cluster"},"name":"policy-volume"},{"name":"certs-dir","secret":{"secretName":"kube-descheduler-serving-cert"}}]}}}}
      2025-10-06T09:10:16.455674045Z I1006 09:10:16.455581       1 event.go:377] Event(v1.ObjectReference{Kind:"Deployment", Namespace:"openshift-kube-descheduler-operator", Name:"descheduler-operator", UID:"f39acff8-41de-4599-8c3d-5db836f05b4c", APIVersion:"apps/v1", ResourceVersion:"", FieldPath:""}): type: 'Normal' reason: 'DeploymentUpdated' Updated Deployment.apps/descheduler -n openshift-kube-descheduler-operator because it changed
      ....

       

       

              rh-ee-ehearne Evan Hearne
              rh-ee-kniederw Kevin Niederwanger
              None
              None
              Rama Kasturi Narra Rama Kasturi Narra
              None
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: