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

Some MTU migration controller config changes not rendered with pools paused

XMLWordPrintable

    • No
    • Rejected
    • False
    • Hide

      None

      Show
      None

      Description of problem:

      With the machine config pools paused, specific changes on the controller config are not rendered. When the pools are unpause after that, the machine config pools are not updated.

      How reproducible: always

      Steps to Reproduce:

      1. Pause machine config pools

      > oc patch MachineConfigPool worker --type=merge --patch '{ "spec":{ "paused": true } }';oc patch MachineConfigPool master --type=merge --patch '{ "spec":{ "paused": true } }'
      

      2. Apply a network configuration change to set MTU migration:

      > oc patch Network.operator.openshift.io cluster --type=merge --patch '{"spec": { "migration": { "mtu": { "network": { "from": 1360, "to": 1260 } , "machine": { "to" : 1360} } } } }'
      

      3. Observe the corresponding controller config change

      > oc get controllerconfigs machine-config-controller -o yaml | grep -B1 -A5 mtuMigration
      ...
        network:
          mtuMigration:
            machine:
              to: 1360
            network:
              from: 1360
              to: 1260
      ...
      

      4. Observe the latest rendered config

      > oc get mc rendered-master-749f5e1422740330b898f6c04aa973a4 -o yaml | grep Environment=TARGET_MTU
      Environment=TARGET_MTU=1360
      

      5. Observe MCO status

      machine-config                             4.13.0-0.nightly-2023-02-12-024338   True        False         True       49m     Failed to resync 4.13.0-0.nightly-2023-02-12-024338 because: Required MachineConfigPool 'master' is paused and can not sync until it is unpaused
      

      6. Reverse the network configuration change, so mtu migration is unset

      > oc patch Network.operator.openshift.io cluster --type=merge --patch '{"spec": { "migration": { "mtu": { "network": { "from": 1260, "to": 1360 } , "machine": { "to" : 1460} } } } }'
      > oc patch Network.operator.openshift.io cluster --type=merge --patch '{"spec": { "migration": null } }'
      

      7. Observe the corresponding controller config change

      > oc get controllerconfigs machine-config-controller -o yaml | grep -B1 -A5 mtuMigration
      
      // no output, expected
      

      8. Observe the latest rendered config

      ❯ oc get mc rendered-master-84a18f8d4a2ac800e0adfb27d62cc296 -o yaml | grep Environment=TARGET_MTU    
                Environment=TARGET_MTU=1460
      

      This is unexpected, output should be empty.
      The observed output corresponds as if only the first command of step 6 had been executed.
      The second command of step 6 unsets mtu migration, and that is correctly reflected in controller config spec where the mtu migration is unset as well.
      But the machine config is rendered as it had not.

      9. Unpause the pools

      > oc patch MachineConfigPool worker --type=merge --patch '{ "spec":{ "paused": false } }';oc patch MachineConfigPool master --type=merge --patch '{ "spec":{ "paused": false } }'
      

      10. The pools are unexpectedly not updated

      ❯ oc get mc --sort-by=.metadata.creationTimestamp
      NAME                                               GENERATEDBYCONTROLLER                      IGNITIONVERSION   AGE
      99-master-ssh                                                                                 3.2.0             120m
      99-worker-ssh                                                                                 3.2.0             120m
      00-worker                                          55684a0a23d6d110331e8279af5d96f2f8e3a443   3.2.0             113m
      01-master-container-runtime                        55684a0a23d6d110331e8279af5d96f2f8e3a443   3.2.0             113m
      01-master-kubelet                                  55684a0a23d6d110331e8279af5d96f2f8e3a443   3.2.0             113m
      01-worker-container-runtime                        55684a0a23d6d110331e8279af5d96f2f8e3a443   3.2.0             113m
      01-worker-kubelet                                  55684a0a23d6d110331e8279af5d96f2f8e3a443   3.2.0             113m
      00-master                                          55684a0a23d6d110331e8279af5d96f2f8e3a443   3.2.0             113m
      97-worker-generated-kubelet                        55684a0a23d6d110331e8279af5d96f2f8e3a443   3.2.0             113m
      99-worker-generated-registries                     55684a0a23d6d110331e8279af5d96f2f8e3a443   3.2.0             113m
      97-master-generated-kubelet                        55684a0a23d6d110331e8279af5d96f2f8e3a443   3.2.0             113m
      99-master-generated-registries                     55684a0a23d6d110331e8279af5d96f2f8e3a443   3.2.0             113m
      rendered-master-6a3430dbb83b1465f57926de01478309   55684a0a23d6d110331e8279af5d96f2f8e3a443   3.2.0             113m
      rendered-worker-ef360c5158169c8b7f8b56d39fffa5c0   55684a0a23d6d110331e8279af5d96f2f8e3a443   3.2.0             113m
      rendered-master-fa8e3ed364bf74668458ef9a7505fb84   55684a0a23d6d110331e8279af5d96f2f8e3a443   3.2.0             102m
      rendered-worker-cb192b72b065e2a8585bfcc1d3e97acc   55684a0a23d6d110331e8279af5d96f2f8e3a443   3.2.0             102m
      rendered-master-749f5e1422740330b898f6c04aa973a4   55684a0a23d6d110331e8279af5d96f2f8e3a443   3.2.0             72m
      rendered-worker-46b2e9c26c8ee82034c1ca3f11978444   55684a0a23d6d110331e8279af5d96f2f8e3a443   3.2.0             72m
      rendered-master-4fc095a2826536f96c9b177e8b9c2016   55684a0a23d6d110331e8279af5d96f2f8e3a443   3.2.0             61m
      rendered-worker-81dda56ee4f26d937b22eae6ac30e1a5   55684a0a23d6d110331e8279af5d96f2f8e3a443   3.2.0             61m
      rendered-worker-d920fca6ead8dee94f26367e87d846cc   55684a0a23d6d110331e8279af5d96f2f8e3a443   3.2.0             57m
      rendered-master-84a18f8d4a2ac800e0adfb27d62cc296   55684a0a23d6d110331e8279af5d96f2f8e3a443   3.2.0             57m
      
      ❯ oc get mcp                                     
      NAME     CONFIG                                             UPDATED   UPDATING   DEGRADED   MACHINECOUNT   READYMACHINECOUNT   UPDATEDMACHINECOUNT   DEGRADEDMACHINECOUNT   AGE
      master   rendered-master-fa8e3ed364bf74668458ef9a7505fb84   True      False      False      3              3                   3                     0                      113m
      worker   rendered-worker-cb192b72b065e2a8585bfcc1d3e97acc   True      False      False      3              3                   3                     0                      113m
      

            jkyros@redhat.com John Kyros
            jcaamano@redhat.com Jaime Caamaño Ruiz
            Rio Liu Rio Liu
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: