--- apiVersion: v1 kind: Pod metadata: annotations: k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.130.0.48/23"],"mac_address":"0a:58:0a:82:00:30","gateway_ips":["10.130.0.1"],"routes":[{"dest":"10.128.0.0/14","nextHop":"10.130.0.1"},{"dest":"172.30.0.0/16","nextHop":"10.130.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.130.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.130.0.1"}],"ip_address":"10.130.0.48/23","gateway_ip":"10.130.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.130.0.48" ], "mac": "0a:58:0a:82:00:30", "default": true, "dns": {} }] openshift.io/scc: lvms-vgmanager creationTimestamp: "2025-10-11T10:49:26Z" generateName: vg-manager- labels: app.kubernetes.io/component: vg-manager app.kubernetes.io/managed-by: lvms-operator app.kubernetes.io/name: vg-manager app.kubernetes.io/part-of: lvms-provisioner controller-revision-hash: 57dbd6b85d pod-template-generation: "1" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:target.workload.openshift.io/management: {} f:generateName: {} f:labels: .: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/managed-by: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/part-of: {} f:controller-revision-hash: {} f:pod-template-generation: {} f:ownerReferences: .: {} k:{"uid":"37a274b4-3a4f-4563-a3d1-17b4cc355328"}: {} f:spec: f:affinity: .: {} f:nodeAffinity: .: {} f:requiredDuringSchedulingIgnoredDuringExecution: {} f:containers: k:{"name":"vg-manager"}: .: {} f:command: {} f:env: .: {} k:{"name":"GOGC"}: .: {} f:name: {} f:value: {} k:{"name":"GOMAXPROCS"}: .: {} f:name: {} f:value: {} k:{"name":"GOMEMLIMIT"}: .: {} f:name: {} f:value: {} k:{"name":"NAME"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} k:{"name":"NAMESPACE"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} k:{"name":"NODE_NAME"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:ports: .: {} k:{"containerPort":8081,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:privileged: {} f:runAsUser: {} f:startupProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/dev"}: .: {} f:mountPath: {} f:mountPropagation: {} f:name: {} k:{"mountPath":"/etc/topolvm"}: .: {} f:mountPath: {} f:mountPropagation: {} f:name: {} k:{"mountPath":"/registration"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/run/topolvm"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/run/udev"}: .: {} f:mountPath: {} f:mountPropagation: {} f:name: {} k:{"mountPath":"/sys"}: .: {} f:mountPath: {} f:mountPropagation: {} f:name: {} k:{"mountPath":"/tmp/k8s-metrics-server/serving-certs"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} k:{"mountPath":"/var/lib/kubelet/plugins/kubernetes.io/csi"}: .: {} f:mountPath: {} f:mountPropagation: {} f:name: {} k:{"mountPath":"/var/lib/kubelet/pods"}: .: {} f:mountPath: {} f:mountPropagation: {} f:name: {} k:{"mountPath":"/var/lock"}: .: {} f:mountPath: {} f:name: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:hostPID: {} f:priorityClassName: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:tolerations: {} f:volumes: .: {} k:{"name":"csi-plugin-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"device-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"file-lock-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"lvmd-config"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"metrics-cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} k:{"name":"node-plugin-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"pod-volumes-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"registration-dir"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"run-udev"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"sys"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} manager: kube-controller-manager operation: Update time: "2025-10-11T10:49:26Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.ovn.org/pod-networks: {} manager: master-0 operation: Update subresource: status time: "2025-10-11T10:49:26Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2025-10-11T10:49:27Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.130.0.48"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2025-10-11T10:49:36Z" name: vg-manager-rxlsk namespace: openshift-storage ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: DaemonSet name: vg-manager uid: 37a274b4-3a4f-4563-a3d1-17b4cc355328 resourceVersion: "30290" uid: 3d08adb1-c6cb-41b9-a68b-68a1e41b883a spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchFields: - key: metadata.name operator: In values: - master-0 containers: - command: - /lvms - vgmanager env: - name: GOMEMLIMIT value: 45MiB - name: GOGC value: "120" - name: GOMAXPROCS value: "2" - name: NODE_NAME valueFrom: fieldRef: apiVersion: v1 fieldPath: spec.nodeName - name: NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: NAME valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.name image: registry.redhat.io/lvms4/lvms-rhel9-operator@sha256:80f5e48600d9b42add118f1325ced01f49d544a9a4824a7da4e3ba805d64371f imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 httpGet: path: /healthz port: healthz scheme: HTTP initialDelaySeconds: 1 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 1 name: vg-manager ports: - containerPort: 8081 name: healthz protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /readyz port: healthz scheme: HTTP initialDelaySeconds: 1 periodSeconds: 60 successThreshold: 1 timeoutSeconds: 1 resources: requests: cpu: 5m memory: 45Mi securityContext: privileged: true runAsUser: 0 startupProbe: failureThreshold: 60 httpGet: path: /healthz port: healthz scheme: HTTP initialDelaySeconds: 2 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 2 terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /registration name: registration-dir - mountPath: /run/topolvm name: node-plugin-dir - mountPath: /var/lock name: file-lock-dir - mountPath: /var/lib/kubelet/plugins/kubernetes.io/csi mountPropagation: Bidirectional name: csi-plugin-dir - mountPath: /var/lib/kubelet/pods mountPropagation: Bidirectional name: pod-volumes-dir - mountPath: /etc/topolvm mountPropagation: HostToContainer name: lvmd-config - mountPath: /dev mountPropagation: HostToContainer name: device-dir - mountPath: /run/udev mountPropagation: HostToContainer name: run-udev - mountPath: /sys mountPropagation: HostToContainer name: sys - mountPath: /tmp/k8s-metrics-server/serving-certs name: metrics-cert readOnly: true - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-pdl74 readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true hostPID: true nodeName: master-0 preemptionPolicy: PreemptLowerPriority priority: 1000000000 priorityClassName: openshift-user-critical restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1000740000 seLinuxOptions: level: s0:c27,c19 serviceAccount: vg-manager serviceAccountName: vg-manager terminationGracePeriodSeconds: 30 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists - effect: NoSchedule key: node.kubernetes.io/disk-pressure operator: Exists - effect: NoSchedule key: node.kubernetes.io/memory-pressure operator: Exists - effect: NoSchedule key: node.kubernetes.io/pid-pressure operator: Exists - effect: NoSchedule key: node.kubernetes.io/unschedulable operator: Exists volumes: - hostPath: path: /var/lib/kubelet/plugins_registry/ type: DirectoryOrCreate name: registration-dir - hostPath: path: /var/lib/kubelet/plugins/topolvm.io/node type: DirectoryOrCreate name: node-plugin-dir - hostPath: path: /var/lock type: DirectoryOrCreate name: file-lock-dir - hostPath: path: /var/lib/kubelet/plugins/kubernetes.io/csi type: DirectoryOrCreate name: csi-plugin-dir - hostPath: path: /var/lib/kubelet/pods/ type: DirectoryOrCreate name: pod-volumes-dir - hostPath: path: /etc/topolvm type: DirectoryOrCreate name: lvmd-config - hostPath: path: /dev type: Directory name: device-dir - hostPath: path: /run/udev type: "" name: run-udev - hostPath: path: /sys type: "" name: sys - name: metrics-cert secret: defaultMode: 420 secretName: vg-manager-metrics-cert - name: kube-api-access-pdl74 projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2025-10-11T10:49:27Z" status: "True" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2025-10-11T10:49:26Z" status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2025-10-11T10:49:36Z" status: "True" type: Ready - lastProbeTime: null lastTransitionTime: "2025-10-11T10:49:36Z" status: "True" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2025-10-11T10:49:26Z" status: "True" type: PodScheduled containerStatuses: - containerID: cri-o://0769b027ed49aca1b276af8399b5e4fafd3aee07ccc9f93cd2ac4a7303e482df image: registry.redhat.io/lvms4/lvms-rhel9-operator@sha256:80f5e48600d9b42add118f1325ced01f49d544a9a4824a7da4e3ba805d64371f imageID: registry.redhat.io/lvms4/lvms-rhel9-operator@sha256:80f5e48600d9b42add118f1325ced01f49d544a9a4824a7da4e3ba805d64371f lastState: terminated: containerID: cri-o://a565c019c9824f5d08f5c05d055d268c1b884d168d1b37b88e96d612f7a7f10e exitCode: 1 finishedAt: "2025-10-11T10:49:29Z" message: | roup":"lvm.topolvm.io","controllerKind":"LVMVolumeGroup"} {"level":"info","ts":"2025-10-11T10:49:29Z","msg":"Stopping and waiting for caches"} {"level":"info","ts":"2025-10-11T10:49:29Z","msg":"sigs.k8s.io/controller-runtime/pkg/cache/internal/informers.go:108: watch of *v1.Node ended with: an error on the server (\"unable to decode an event from the watch stream: context canceled\") has prevented the request from succeeding"} {"level":"info","ts":"2025-10-11T10:49:29Z","msg":"Stopping and waiting for webhooks"} {"level":"info","ts":"2025-10-11T10:49:29Z","msg":"Stopping and waiting for HTTP servers"} {"level":"info","ts":"2025-10-11T10:49:29Z","msg":"shutting down server","name":"health probe","addr":"[::]:8081"} {"level":"info","ts":"2025-10-11T10:49:29Z","logger":"controller-runtime.metrics","msg":"Shutting down metrics server with timeout of 1 minute"} {"level":"info","ts":"2025-10-11T10:49:29Z","msg":"Wait completed, proceeding to shutdown the manager"} {"level":"info","ts":"2025-10-11T10:49:29Z","logger":"setup","msg":"restarting controller due to modified configuration"} {"level":"info","ts":"2025-10-11T10:49:29Z","msg":"configuration file loaded","device_classes":[{"name":"local-storage","volume-group":"local-storage","default":true,"spare-gb":null,"stripe":null,"stripe-size":"","lvcreate-options":null,"type":"thin","thin-pool":{"name":"topolvms_thin_pool","overprovision-ratio":10}}],"file_name":"/etc/topolvm/lvmd.yaml"} Error: unable to create controller VGManager: controller with name lvmvolumegroup already exists. Controller names must be unique to avoid multiple controllers reporting to the same metric {"level":"error","ts":"2025-10-11T10:49:29Z","logger":"setup","msg":"fatal error encountered","error":"unable to create controller VGManager: controller with name lvmvolumegroup already exists. Controller names must be unique to avoid multiple controllers reporting to the same metric","stacktrace":"main.main\n\t/remote-source/app/cmd/main.go:32\nruntime.main\n\t/usr/lib/golang/src/runtime/proc.go:271"} reason: Error startedAt: "2025-10-11T10:49:27Z" name: vg-manager ready: true restartCount: 1 started: true state: running: startedAt: "2025-10-11T10:49:29Z" volumeMounts: - mountPath: /registration name: registration-dir - mountPath: /run/topolvm name: node-plugin-dir - mountPath: /var/lock name: file-lock-dir - mountPath: /var/lib/kubelet/plugins/kubernetes.io/csi name: csi-plugin-dir - mountPath: /var/lib/kubelet/pods name: pod-volumes-dir - mountPath: /etc/topolvm name: lvmd-config - mountPath: /dev name: device-dir - mountPath: /run/udev name: run-udev - mountPath: /sys name: sys - mountPath: /tmp/k8s-metrics-server/serving-certs name: metrics-cert readOnly: true recursiveReadOnly: Disabled - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-pdl74 readOnly: true recursiveReadOnly: Disabled hostIP: 192.168.34.10 hostIPs: - ip: 192.168.34.10 phase: Running podIP: 10.130.0.48 podIPs: - ip: 10.130.0.48 qosClass: Burstable startTime: "2025-10-11T10:49:26Z"