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

Deployment list a pod that doesnt belong to it in the UI

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • None
    • 4.16
    • Dev Console
    • Low
    • None
    • ODC Sprint 3263, ODC Sprint 3264, ODC Sprint 3265, ODC Sprint 3266
    • 4
    • Rejected
    • False
    • Hide

      None

      Show
      None

      On OCP 4.16.8, I installed operator ACM 2.12 and observed that under a deployment in the UI shows a pod that shouldn't belong to it. I believe this is a UI issue as discussed with ACM Installer devs that nothing from ACM's side should be listing the pod under the deployment.

      Steps to Reproduce:

      1. Deploy OCP 4.16
      2. Install ACM 2.12
      3. Toggle siteconfig-preview component to true in the mce CR
      4. Go to the search v2 operator controller deployment in the UI and see the pods contains two pods, one which belongs (search v2 operator pod) and the other that shouldn't (siteconfig pod)

      Additional info:

      Not sure of the actual reason to why it shows up but dbennett@redhat.com noticed that both pods have the same container names (will provide a screenshot) that might caused this.
      I didn't notice anything in the search deployment yaml that lists the siteconfig pod as a reference. Let me know if you need more information as I wasnt sure what else to help to pinpoint the issue.

      oc get deployment search-v2-operator-controller-manager -o yaml
      apiVersion: apps/v1
      kind: Deployment
      metadata:
        annotations:
          deployment.kubernetes.io/revision: "1"
          installer.open-cluster-management.io/release-version: 2.12.0-65
        creationTimestamp: "2024-09-03T12:28:26Z"
        generation: 1
        labels:
          installer.name: multiclusterhub
          installer.namespace: ocm
        name: search-v2-operator-controller-manager
        namespace: ocm
        resourceVersion: "76634"
        uid: b1b882f7-3406-45dd-acde-ec29156fa255
      spec:
        progressDeadlineSeconds: 600
        replicas: 1
        revisionHistoryLimit: 10
        selector:
          matchLabels:
            control-plane: controller-manager
        strategy:
          rollingUpdate:
            maxSurge: 25%
            maxUnavailable: 25%
          type: RollingUpdate
        template:
          metadata:
            creationTimestamp: null
            labels:
              app: search
              control-plane: controller-manager
              ocm-antiaffinity-selector: search-v2-operator-controller-manager
          spec:
            affinity:
              podAntiAffinity:
                preferredDuringSchedulingIgnoredDuringExecution:
                - podAffinityTerm:
                    labelSelector:
                      matchExpressions:
                      - key: ocm-antiaffinity-selector
                        operator: In
                        values:
                        - search-v2-operator-controller-manager
                    topologyKey: topology.kubernetes.io/zone
                  weight: 70
                - podAffinityTerm:
                    labelSelector:
                      matchExpressions:
                      - key: ocm-antiaffinity-selector
                        operator: In
                        values:
                        - search-v2-operator-controller-manager
                    topologyKey: kubernetes.io/hostname
                  weight: 35
            containers:
            - args:
              - --secure-listen-address=0.0.0.0:8443
              - --upstream=http://127.0.0.1:8080/
              - --logtostderr=true
              - --v=10
              - --tls-min-version=VersionTLS13
              image: quay.io:443/acm-d/kube-rbac-proxy-rhel9@sha256:cfbed2b4db329452228224275c40bf72eefd107e134c77bb941881147df5fa65
              imagePullPolicy: IfNotPresent
              name: kube-rbac-proxy
              ports:
              - containerPort: 8443
                name: https
                protocol: TCP
              resources:
                limits:
                  cpu: 200m
                  memory: 1Gi
                requests:
                  cpu: 100m
                  memory: 256Mi
              securityContext:
                allowPrivilegeEscalation: false
                capabilities:
                  drop:
                  - ALL
                privileged: false
                readOnlyRootFilesystem: true
              terminationMessagePath: /dev/termination-log
              terminationMessagePolicy: File
            - args:
              - --health-probe-bind-address=:8081
              - --metrics-bind-address=127.0.0.1:8080
              - --leader-elect
              command:
              - /manager
              env:
              - name: WATCH_NAMESPACE
                valueFrom:
                  fieldRef:
                    apiVersion: v1
                    fieldPath: metadata.annotations['olm.targetNamespaces']
              - name: POSTGRES_IMAGE
                value: quay.io:443/acm-d/postgresql-13@sha256:826a1a75f4186f36217b5c1f1aa270838c4b55b1021d33a4876566bfc3b8e629
              - name: INDEXER_IMAGE
                value: quay.io:443/acm-d/acm-search-indexer-rhel9@sha256:ce92e658e5153ad8b637deb18e37f6910d781ec88a877e942b5bd225a4454606
              - name: COLLECTOR_IMAGE
                value: quay.io:443/acm-d/search-collector-rhel9@sha256:5878bdae2c102e79171780560dd79c6878d600d71ec3cce3163a658201b37ac4
              - name: API_IMAGE
                value: quay.io:443/acm-d/acm-search-v2-api-rhel9@sha256:017e9e5ad5de6d678c5f264107afe9a83cea317e3adb1669633e75a58477ea9c
              image: quay.io:443/acm-d/acm-search-v2-rhel9@sha256:b9201f48fe7e4930cdc767b5f88c45fe9fd0ae9f4725d80779311dd1a8afd9f3
              imagePullPolicy: IfNotPresent
              livenessProbe:
                failureThreshold: 3
                httpGet:
                  path: /healthz
                  port: 8081
                  scheme: HTTP
                initialDelaySeconds: 15
                periodSeconds: 20
                successThreshold: 1
                timeoutSeconds: 1
              name: manager
              readinessProbe:
                failureThreshold: 3
                httpGet:
                  path: /readyz
                  port: 8081
                  scheme: HTTP
                initialDelaySeconds: 5
                periodSeconds: 10
                successThreshold: 1
                timeoutSeconds: 1
              resources:
                limits:
                  cpu: 200m
                  memory: 6Gi
                requests:
                  cpu: 50m
                  memory: 256Mi
              securityContext:
                allowPrivilegeEscalation: false
                capabilities:
                  drop:
                  - ALL
                privileged: false
                readOnlyRootFilesystem: true
              terminationMessagePath: /dev/termination-log
              terminationMessagePolicy: File
            dnsPolicy: ClusterFirst
            imagePullSecrets:
            - name: multiclusterhub-operator-pull-secret
            restartPolicy: Always
            schedulerName: default-scheduler
            securityContext:
              runAsNonRoot: true
              seccompProfile:
                type: RuntimeDefault
            serviceAccount: search-v2-operator
            serviceAccountName: search-v2-operator
            terminationGracePeriodSeconds: 10
            tolerations:
            - effect: NoSchedule
              key: node-role.kubernetes.io/infra
              operator: Exists
      status:
        availableReplicas: 1
        conditions:
        - lastTransitionTime: "2024-09-03T12:28:46Z"
          lastUpdateTime: "2024-09-03T12:28:46Z"
          message: Deployment has minimum availability.
          reason: MinimumReplicasAvailable
          status: "True"
          type: Available
        - lastTransitionTime: "2024-09-03T12:28:26Z"
          lastUpdateTime: "2024-09-03T12:28:46Z"
          message: ReplicaSet "search-v2-operator-controller-manager-6db6fd768f" has successfully
            progressed.
          reason: NewReplicaSetAvailable
          status: "True"
          type: Progressing
        observedGeneration: 1
        readyReplicas: 1
        replicas: 1
        updatedReplicas: 1

      kind: Deployment
      apiVersion: apps/v1
      metadata:
      annotations:
      deployment.kubernetes.io/revision: '1'
      installer.open-cluster-management.io/release-version: 2.12.0-83
      resourceVersion: '1250164'
      name: siteconfig-controller-manager
      uid: 7bb0bd4c-df88-438f-a913-e87fd4acb91d
      creationTimestamp: '2024-09-17T15:37:21Z'
      generation: 1
      managedFields:
      - manager: multiclusterhub-operator
      operation: Apply
      apiVersion: apps/v1
      time: '2024-09-17T15:37:21Z'
      fieldsType: FieldsV1
      fieldsV1:
      'f:metadata':
      'f:annotations':
      'f:installer.open-cluster-management.io/release-version': {}
      'f:labels':
      'f:installer.name': {}
      'f:installer.namespace': {}
      'f:spec':
      'f:replicas': {}
      'f:selector': {}
      'f:strategy': {}
      'f:template':
      'f:metadata':
      'f:annotations':
      'f:openshift.io/scc': {}
      'f:target.workload.openshift.io/management': {}
      'f:labels':
      'f:app.kubernetes.io/component': {}
      'f:app.kubernetes.io/name': {}
      'f:control-plane': {}
      'f:ocm-antiaffinity-selector': {}
      'f:spec':
      'f:hostIPC': {}
      'f:containers':
      'k:{"name":"kube-rbac-proxy"}':
      'f:image': {}
      .: {}
      'f:resources':
      'f:limits':
      'f:cpu': {}
      'f:memory': {}
      'f:requests':
      'f:cpu': {}
      'f:memory': {}
      'f:args': {}
      'f:env': {}
      'f:securityContext':
      'f:allowPrivilegeEscalation': {}
      'f:capabilities':
      'f:drop': {}
      'f:privileged': {}
      'f:readOnlyRootFilesystem': {}
      'f:imagePullPolicy': {}
      'f:ports':
      'k:{"containerPort":8443,"protocol":"TCP"}':
      .: {}
      'f:containerPort': {}
      'f:name': {}
      'f:protocol': {}
      'f:name': {}
      'k:{"name":"manager"}':
      'f:image': {}
      .: {}
      'f:resources':
      'f:limits':
      'f:cpu': {}
      'f:ephemeral-storage': {}
      'f:memory': {}
      'f:requests':
      'f:cpu': {}
      'f:ephemeral-storage': {}
      'f:memory': {}
      'f:args': {}
      'f:command': {}
      'f:livenessProbe':
      'f:httpGet':
      'f:path': {}
      'f:port': {}
      'f:initialDelaySeconds': {}
      'f:periodSeconds': {}
      'f:env':
      'k:{"name":"POD_NAMESPACE"}':
      .: {}
      'f:name': {}
      'f:valueFrom':
      'f:fieldRef': {}
      'f:readinessProbe':
      'f:httpGet':
      'f:path': {}
      'f:port': {}
      'f:initialDelaySeconds': {}
      'f:periodSeconds': {}
      'f:securityContext':
      'f:allowPrivilegeEscalation': {}
      'f:capabilities':
      'f:drop': {}
      'f:privileged': {}
      'f:readOnlyRootFilesystem': {}
      'f:imagePullPolicy': {}
      'f:name': {}
      'f:tolerations': {}
      'f:hostPID': {}
      'f:hostNetwork': {}
      'f:terminationGracePeriodSeconds': {}
      'f:imagePullSecrets':
      'k:{"name":"multiclusterhub-operator-pull-secret"}': {}
      'f:serviceAccountName': {}
      'f:securityContext':
      'f:runAsNonRoot': {}
      'f:seccompProfile':
      'f:type': {}
      'f:affinity':
      'f:podAntiAffinity':
      'f:preferredDuringSchedulingIgnoredDuringExecution': {}
      - manager: kube-controller-manager
      operation: Update
      apiVersion: apps/v1
      time: '2024-09-17T15:37:32Z'
      fieldsType: FieldsV1
      fieldsV1:
      'f:metadata':
      'f:annotations':
      'f:deployment.kubernetes.io/revision': {}
      'f:status':
      'f:availableReplicas': {}
      'f:conditions':
      .: {}
      'k:{"type":"Available"}':
      .: {}
      'f:lastTransitionTime': {}
      'f:lastUpdateTime': {}
      'f:message': {}
      'f:reason': {}
      'f:status': {}
      'f:type': {}
      'k:{"type":"Progressing"}':
      .: {}
      'f:lastTransitionTime': {}
      'f:lastUpdateTime': {}
      'f:message': {}
      'f:reason': {}
      'f:status': {}
      'f:type': {}
      'f:observedGeneration': {}
      'f:readyReplicas': {}
      'f:replicas': {}
      'f:updatedReplicas': {}
      subresource: status
      namespace: ocm
      labels:
      installer.name: multiclusterhub
      installer.namespace: ocm
      spec:
      replicas: 1
      selector:
      matchLabels:
      app.kubernetes.io/component: siteconfig
      app.kubernetes.io/name: siteconfig-controller
      control-plane: controller-manager
      template:
      metadata:
      creationTimestamp: null
      labels:
      app.kubernetes.io/component: siteconfig
      app.kubernetes.io/name: siteconfig-controller
      control-plane: controller-manager
      ocm-antiaffinity-selector: siteconfig-controller-manager
      annotations:
      openshift.io/scc: restricted
      target.workload.openshift.io/management: '{"effect": "PreferredDuringScheduling"}'
      spec:
      restartPolicy: Always
      serviceAccountName: siteconfig-controller-manager
      imagePullSecrets:
      - name: multiclusterhub-operator-pull-secret
      schedulerName: default-scheduler
      affinity:
      podAntiAffinity:
      preferredDuringSchedulingIgnoredDuringExecution:
      - weight: 70
      podAffinityTerm:
      labelSelector:
      matchExpressions:
      - key: ocm-antiaffinity-selector
      operator: In
      values:
      - siteconfig-controller-manager
      topologyKey: topology.kubernetes.io/zone
      - weight: 35
      podAffinityTerm:
      labelSelector:
      matchExpressions:
      - key: ocm-antiaffinity-selector
      operator: In
      values:
      - siteconfig-controller-manager
      topologyKey: kubernetes.io/hostname
      terminationGracePeriodSeconds: 10
      securityContext:
      runAsNonRoot: true
      seccompProfile:
      type: RuntimeDefault
      containers:
      - resources:
      limits:
      cpu: 500m
      memory: 128Mi
      requests:
      cpu: 5m
      memory: 64Mi
      terminationMessagePath: /dev/termination-log
      name: kube-rbac-proxy
      securityContext:
      capabilities:
      drop:
      - ALL
      privileged: false
      readOnlyRootFilesystem: true
      allowPrivilegeEscalation: false
      ports:
      - name: https
      containerPort: 8443
      protocol: TCP
      imagePullPolicy: IfNotPresent
      terminationMessagePolicy: File
      image: 'quay.io:443/acm-d/kube-rbac-proxy-rhel9@sha256:0f7396f914e118c2699fd353f4c368ff0ebde5791d31524891657e1e560899e4'
      args:
      - '--secure-listen-address=0.0.0.0:8443'
      - '--upstream=http://127.0.0.1:8080/'
      - '--logtostderr=true'
      - '--v=0'
      - resources:
      limits:
      cpu: '2'
      ephemeral-storage: 10Gi
      memory: 16Gi
      requests:
      cpu: 100m
      ephemeral-storage: 1Gi
      memory: 256Mi
      readinessProbe:
      httpGet:
      path: /readyz
      port: 8081
      scheme: HTTP
      initialDelaySeconds: 5
      timeoutSeconds: 1
      periodSeconds: 10
      successThreshold: 1
      failureThreshold: 3
      terminationMessagePath: /dev/termination-log
      name: manager
      command:
      - /usr/local/bin/manager
      livenessProbe:
      httpGet:
      path: /healthz
      port: 8081
      scheme: HTTP
      initialDelaySeconds: 15
      timeoutSeconds: 1
      periodSeconds: 20
      successThreshold: 1
      failureThreshold: 3
      env:
      - name: POD_NAMESPACE
      valueFrom:
      fieldRef:
      apiVersion: v1
      fieldPath: metadata.namespace
      securityContext:
      capabilities:
      drop:
      - ALL
      privileged: false
      readOnlyRootFilesystem: true
      allowPrivilegeEscalation: false
      imagePullPolicy: IfNotPresent
      terminationMessagePolicy: File
      image: 'quay.io:443/acm-d/acm-siteconfig-rhel9@sha256:dd653cf9814d9c1c3f1d2cec29487982833ce777a49627e404a746e7deeed31c'
      args:
      - '--health-probe-bind-address=:8081'
      - '--metrics-bind-address=127.0.0.1:8080'
      - '--leader-elect'
      serviceAccount: siteconfig-controller-manager
      dnsPolicy: ClusterFirst
      tolerations:
      - key: node-role.kubernetes.io/infra
      operator: Exists
      effect: NoSchedule
      strategy:
      type: RollingUpdate
      rollingUpdate:
      maxUnavailable: 25%
      maxSurge: 25%
      revisionHistoryLimit: 10
      progressDeadlineSeconds: 600
      status:
      observedGeneration: 1
      replicas: 1
      updatedReplicas: 1
      readyReplicas: 1
      availableReplicas: 1
      conditions:
      - type: Available
      status: 'True'
      lastUpdateTime: '2024-09-17T15:37:32Z'
      lastTransitionTime: '2024-09-17T15:37:32Z'
      reason: MinimumReplicasAvailable
      message: Deployment has minimum availability.
      - type: Progressing
      status: 'True'
      lastUpdateTime: '2024-09-17T15:37:32Z'
      lastTransitionTime: '2024-09-17T15:37:21Z'
      reason: NewReplicaSetAvailable
      message: ReplicaSet "siteconfig-controller-manager-845dc6dc7" has successfully progressed.

              avik6028 Avik Kundu
              kurwang@redhat.com Kurtis Wang
              David Darrah David Darrah (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated: