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

OCB pools report a wrong error when we create a MC that deploys a forcefile

XMLWordPrintable

      Description of problem:

      
      In on-cluster build pools, when we create a MC that deploys a forcefile, the pool becomes degraded with this message, saying that the problem is that the forcefile does not exist:
      
          message: 'Node sregidor-s8-2x7db-worker-a-4sx82.c.openshift-qe.internal is reporting:
            "unexpected on-disk state validating against quay.io/mcoqe/layering@sha256:670968ffa386ce382aa61e6ded5bfc13cb6ce7d9da69e554c8dfa34c309b66fb:
            could not stat file \"/run/machine-config-daemon-force\": lstat /run/machine-config-daemon-force:
            no such file or directory"'
      
      But what is actually happening is that it is forbidden to create the forcefile using a MC. The message should report  the real problem. In normal MCPs, the error is like this one:
      
          message: 'Node ..... is reporting:
            "can''t reconcile config ....... with
            .......: cannot create /run/machine-config-daemon-force
            via Ignition"'
       
      
      

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

      $ oc get clusterversion
      NAME      VERSION                              AVAILABLE   PROGRESSING   SINCE   STATUS
      version   4.14.0-0.nightly-2023-09-02-132842   True        False         144m    Cluster version is 4.14.0-0.nightly-2023-09-02-132842
      
      

      How reproducible:

      Always
      

      Steps to Reproduce:

      1. Enable the on-cluster build functionality in the "worker" pool
      
      2. Create a MC to deploy a forcefile in the worker pool
      
      apiVersion: machineconfiguration.openshift.io/v1
      kind: MachineConfig
      metadata:
        labels:
          machineconfiguration.openshift.io/role: worker
        name: mco-tc-55879-create-force-file-dgi5osmt
      spec:
        config:
          ignition:
            version: 3.2.0
          passwd:
            users: []
          storage:
            files:
            - contents:
                source: data:,
              mode: 272
              path: /run/machine-config-daemon-force
      
      
      
      3. Wait until the pool is degrade 
      
      
      

      Actual results:

      The pool is degraded with this message:
      
      $ oc get mcp worker -o yaml
      ....
       - lastTransitionTime: "2023-09-05T10:49:27Z"
          message: 'Node sregidor-s8-2x7db-worker-a-4sx82.c.openshift-qe.internal is reporting:
            "unexpected on-disk state validating against quay.io/mcoqe/layering@sha256:670968ffa386ce382aa61e6ded5bfc13cb6ce7d9da69e554c8dfa34c309b66fb:
            could not stat file \"/run/machine-config-daemon-force\": lstat /run/machine-config-daemon-force:
            no such file or directory"'
          reason: 1 nodes are reporting degraded status on sync
          status: "True"
          type: NodeDegraded
      
      
      

      Expected results:

      MCs that deploy a forcefile are not allowed. They should be rejected with and error like this one:
      
        - lastTransitionTime: "2023-09-05T10:52:03Z"
          message: 'Node sregidor-s8-2x7db-master-0.c.openshift-qe.internal is reporting:
            "can''t reconcile config rendered-master-ca14516181bb5a6feca0292353e8849f with
            rendered-master-321648691198e6a11ab17db96232e224: cannot create /run/machine-config-daemon-force
            via Ignition"'
          reason: 1 nodes are reporting degraded status on sync
          status: "True"
          type: NodeDegraded
      
      
      
      

      Additional info:

      
      

            zzlotnik@redhat.com Zack Zlotnik
            sregidor@redhat.com Sergio Regidor de la Rosa
            Sergio Regidor de la Rosa Sergio Regidor de la Rosa
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: