-
Bug
-
Resolution: Won't Do
-
Minor
-
None
-
4.19.0
-
None
-
Quality / Stability / Reliability
-
False
-
-
None
-
Low
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Description of problem:
vsphere-problem-detector-metrics is not reporting for invalid datastore with both Intree/CSI provisioners for query CheckStorageClasses
Version-Release number of selected component (if applicable):
4.19.0-0.nightly-2025-04-08-163320
How reproducible:
Always
Steps to Reproduce:
1. Install cluster from flexy template with latest payload profile: ipi-on-vsphere/versioned-installer-fips 2. Create sc with invalid datastore using intree/CSI provisioner, pvc, dep. 3. Check vsphere problem detector metrics for query CheckStorageClasses
Actual results:
It is reporting 0 value { "metric": { "__name__": "vsphere_cluster_check_errors", "check": "CheckStorageClasses", "container": "vsphere-problem-detector-operator", "endpoint": "vsphere-metrics", "instance": "10.130.1.49:8444", "job": "vsphere-problem-detector-metrics", "namespace": "openshift-cluster-storage-operator", "pod": "vsphere-problem-detector-operator-6885dddb54-2jr8g", "service": "vsphere-problem-detector-metrics" }, "value": [ 1744201252.878, "0" ] },
Expected results:
It should report value 1 { "metric": { "__name__": "vsphere_cluster_check_errors", "check": "CheckStorageClasses", "container": "vsphere-problem-detector-operator", "endpoint": "vsphere-metrics", "instance": "10.130.1.49:8444", "job": "vsphere-problem-detector-metrics", "namespace": "openshift-cluster-storage-operator", "pod": "vsphere-problem-detector-operator-6885dddb54-2jr8g", "service": "vsphere-problem-detector-metrics" }, "value": [ 1744201252.878, "1" ] },
Additional info:
Metrics report is working correctly on 4.12, 4.13, 4.16 version with invalid datastore if datastore not supportable from 4.19 then 4.13, 4.16, 4.19 pvc describe info is same on all versions oc describe pvc -n testropatil Warning ProvisioningFailed 15s (x5 over 30s) csi.vsphere.vmware.com_vmware-vsphere-csi-driver-controller-7d6d68ddbc-fs4vc_735a896a-2504-447d-b5ac-d24223cfcd43 failed to provision volume with StorageClass "mystorageclass-csidatastore": rpc error: code = InvalidArgument desc = parsing storage class parameters failed with error: invalid parameters :map[datastore:NONDatastore diskformat:thin] sc_csi.yaml apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: mystorageclass-csidatastore provisioner: csi.vsphere.vmware.com reclaimPolicy: Delete volumeBindingMode: WaitForFirstConsumer parameters: diskformat: thin datastore: NONDatastore --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mypvc-fs-csidatastore namespace: testropatil spec: accessModes: - ReadWriteOnce volumeMode: Filesystem storageClassName: mystorageclass-csidatastore resources: requests: storage: 1Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: mydep-fs-csidatastore namespace: testropatil spec: replicas: 1 selector: matchLabels: app: hello-storage1 template: metadata: labels: app: hello-storage1 spec: containers: - name: hello-storage image: quay.io/openshifttest/hello-openshift@sha256:b1aabe8c8272f750ce757b6c4263a2712796297511e0c6df79144ee188933623 ports: - containerPort: 80 volumeMounts: - name: local mountPath: /mnt/storage volumes: - name: local persistentVolumeClaim: claimName: mypvc-fs-csidatastore sc_intree.yaml apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: mystorageclass-intreedatastore provisioner: kubernetes.io/vsphere-volume reclaimPolicy: Delete volumeBindingMode: Immediate parameters: diskformat: thin datastore: NONDatastore --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mypvc-fs-intree namespace: testropatil spec: accessModes: - ReadWriteOnce volumeMode: Filesystem storageClassName: mystorageclass-intreedatastore resources: requests: storage: 1Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: mydep-fs-intree namespace: testropatil spec: replicas: 1 selector: matchLabels: app: hello-storage1 template: metadata: labels: app: hello-storage1 spec: containers: - name: hello-storage image: quay.io/openshifttest/hello-openshift@sha256:b1aabe8c8272f750ce757b6c4263a2712796297511e0c6df79144ee188933623 ports: - containerPort: 80 volumeMounts: - name: local mountPath: /mnt/storage volumes: - name: local persistentVolumeClaim: claimName: mypvc-fs-intree oc get pvc,pod -n testropatil NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS VOLUMEATTRIBUTESCLASS AGE persistentvolumeclaim/mypvc-fs-csidatastore Pending mystorageclass-csidatastore <unset> 27m NAME READY STATUS RESTARTS AGE pod/mydep-fs-csidatastore-597d6cd4c7-ffwcl 0/1 Pending 0 27m token=`oc create token prometheus-k8s -n openshift-monitoring`oc -n openshift-monitoring exec -c prometheus prometheus-k8s-0 -- curl -k -H "Authorization: Bearer $token" 'https://prometheus-k8s.openshift-monitoring.svc:9091/api/v1/query?query=vsphere_cluster_check_errors' | jq { "metric": { "__name__": "vsphere_cluster_check_errors", "check": "CheckStorageClasses", "container": "vsphere-problem-detector-operator", "endpoint": "vsphere-metrics", "instance": "10.128.0.40:8444", "job": "vsphere-problem-detector-metrics", "namespace": "openshift-cluster-storage-operator", "pod": "vsphere-problem-detector-operator-5567b9fb7c-jr5z4", "service": "vsphere-problem-detector-metrics" }, "value": [ 1744200872.761, "1" ] }