-
Bug
-
Resolution: Unresolved
-
Minor
-
None
-
4.16
-
Low
-
None
-
ODC Sprint 3263, ODC Sprint 3264, ODC Sprint 3265, ODC Sprint 3266, ODC Sprint 3267
-
5
-
Rejected
-
False
-
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:
- Deploy OCP 4.16
- Install ACM 2.12
- Toggle siteconfig-preview component to true in the mch CR
- 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.