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

Node Feature Discovery is hard-coding openshift-nfd namespace removing available flexibility and creating two ServiceMonitor

XMLWordPrintable

    • Moderate
    • None
    • Rejected
    • False
    • Hide

      None

      Show
      None

      Description of problem:

      Even though NFD Operator does allow to be installed into another namespace instead of openshift-nfd, it won't work as certain components won't work as openshift-nfd has for example hard-coded settings in ServiceMonitor requiring openshift-nfd namespace.
      
       - According to documentation it should be installed into openshift-nfd
         but still OLM offers to select another namespace which then will break
         certain functionality.
      
      In addition to that openshift-nfd creates two identical ServiceMonitor during the installation which are likely not required and referencing openshift-nfd namespace (hence removing flexibility with variable namespace).
      
      $ oc get servicemonitor
      NAME                                     AGE
      controller-manager-metrics-monitor       13m
      nfd-controller-manager-metrics-monitor   13m
      
      $ oc get servicemonitor -o yaml
      apiVersion: v1
      items:
      - apiVersion: monitoring.coreos.com/v1
        kind: ServiceMonitor
        metadata:
          creationTimestamp: "2023-01-10T15:04:44Z"
          generation: 1
          labels:
            control-plane: controller-manager
          name: controller-manager-metrics-monitor
          namespace: openshift-nfd
          ownerReferences:
          - apiVersion: operators.coreos.com/v1alpha1
            blockOwnerDeletion: false
            controller: false
            kind: ClusterServiceVersion
            name: nfd.4.11.0-202212070335
            uid: d32aa098-cc0b-4fbd-8189-f15cb6961e8b
          resourceVersion: "620263"
          uid: c4ffc0e2-1fe2-40df-9ac1-551c083ad76c
        spec:
          endpoints:
          - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
            interval: 30s
            path: /metrics
            port: https
            scheme: https
            tlsConfig:
              caFile: /etc/prometheus/configmaps/serving-certs-ca-bundle/service-ca.crt
              serverName: nfd-controller-manager-metrics-service.openshift-nfd.svc
          selector:
            matchLabels:
              control-plane: controller-manager
      - apiVersion: monitoring.coreos.com/v1
        kind: ServiceMonitor
        metadata:
          creationTimestamp: "2023-01-10T15:04:46Z"
          generation: 1
          labels:
            control-plane: controller-manager
          name: nfd-controller-manager-metrics-monitor
          namespace: openshift-nfd
          ownerReferences:
          - apiVersion: operators.coreos.com/v1alpha1
            blockOwnerDeletion: false
            controller: false
            kind: ClusterServiceVersion
            name: nfd.4.11.0-202212070335
            uid: d32aa098-cc0b-4fbd-8189-f15cb6961e8b
          resourceVersion: "620354"
          uid: 51193fb4-01eb-475e-a3b2-564736b53383
        spec:
          endpoints:
          - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
            interval: 30s
            path: /metrics
            port: https
            scheme: https
            tlsConfig:
              caFile: /etc/prometheus/configmaps/serving-certs-ca-bundle/service-ca.crt
              serverName: nfd-controller-manager-metrics-service.openshift-nfd.svc
          selector:
            matchLabels:
              control-plane: controller-manager
      kind: List
      metadata:
        resourceVersion: ""
      

      Version-Release number of selected component (if applicable):

      4.11.20

      How reproducible:

      Always

      Steps to Reproduce:

      1. Install OpenShift Container Platform 4
      2. Install Node Feature Discovery Operator
      3. Select another namespace but openshift-nfd
      4. See ServiceMonitor created with reference to openshift-nfd

      Actual results:

      openshift-nfd is required as namespace even though another can be selected and two identical ServiceMonitor are being created.

      Expected results:

      Either remove flexibility to install NFD Operator into non openshift-nfd namespace or otherwise remove hard-coded references to openshift-nfd namespace.
      
      Remove the two identical ServiceMonitor

      Additional info:

       

              yshnaidm Yevgeny Shnaidman
              rhn-support-sreber Simon Reber
              Guy Gordani Guy Gordani
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: