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

[4.19-vSphere][vsphere-problem-detector] Metrics is not reporting for invalid datastore with both CSI/Intree provisioners on query vsphere_cluster_check_errors

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Do
    • Icon: Minor Minor
    • None
    • 4.19.0
    • Storage
    • None
    • Quality / Stability / Reliability
    • False
    • Hide

      None

      Show
      None
    • 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"
              ]
            }

              rhn-support-pewang Penghao Wang
              ropatil@redhat.com Rohit Patil
              None
              None
              Wei Duan Wei Duan
              None
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: