-
Bug
-
Resolution: Duplicate
-
Normal
-
None
-
4.10
-
Moderate
-
None
-
False
-
Description of problem:
The machineConfigPool shows as Updating==true and Updated==false when a node of the same mcp in in SchedulingDisabled state, even if the node match the desiredMac
Version-Release number of selected component (if applicable):
$ oc version Client Version: 4.10.36 Server Version: 4.10.38 Kubernetes Version: v1.23.12+6b34f32
How reproducible:
100%
Steps to Reproduce:
// checking the desired machineConfig fr the worker pool $ oc get mcp worker -o json | jq .spec.configuration.name "rendered-worker-03e011808b16f8274e7605c85537569c" // checkinh the currentConfig and desiredConfig machineConfig for each workers node $ oc get node -l node-role.kubernetes.io/worker= -o custom-columns=NAME:metadata.name,STATE:metadata.annotations.machineconfiguration\\.openshift\\.io/state,DESIRED:metadata.annotations.machineconfiguration\\.openshift\\.io/desiredConfig,CURRENT:metadata.annotations.machineconfiguration\\.openshift\\.io/currentConfig NAME STATE DESIRED CURRENT ip-10-0-159-119.eu-central-1.compute.internal Done rendered-worker-03e011808b16f8274e7605c85537569c rendered-worker-03e011808b16f8274e7605c85537569c ip-10-0-163-125.eu-central-1.compute.internal Done rendered-worker-03e011808b16f8274e7605c85537569c rendered-worker-03e011808b16f8274e7605c85537569c ip-10-0-215-129.eu-central-1.compute.internal Done rendered-worker-03e011808b16f8274e7605c85537569c rendered-worker-03e011808b16f8274e7605c85537569c // cordoning a worker node $ oc adm cordon ip-10-0-163-125.eu-central-1.compute.internal $ oc get node -l node-role.kubernetes.io/worker= NAME STATUS ROLES AGE VERSION ip-10-0-159-119.eu-central-1.compute.internal Ready,SchedulingDisabled worker 2d1h v1.23.12+6b34f32 ip-10-0-163-125.eu-central-1.compute.internal Ready worker 2d1h v1.23.12+6b34f32 ip-10-0-215-129.eu-central-1.compute.internal Ready worker 2d1h v1.23.12+6b34f32
Actual results:
$ oc get mcp NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-31865b18ce07a3655fdaf530b28a86d7 True False False 3 3 3 0 2d1h worker rendered-worker-03e011808b16f8274e7605c85537569c False True False 3 2 3 0 2d1h
Expected results:
$ oc get mcp NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-31865b18ce07a3655fdaf530b28a86d7 True False False 3 3 3 0 2d1h worker rendered-worker-03e011808b16f8274e7605c85537569c True False False 3 3 3 0 2d1h
Additional info:
As reported in the machineconfigpools CRD the "Updated" field should be true "When all the machines in the pool are updated to the correct machine config" but is not. The same for the "Updating" field.
$ oc get crd machineconfigpools.machineconfiguration.openshift.io -o json | jq '.spec.versions[0].additionalPrinterColumns[] | select((.name=="Updated") or .name=="Updating")' { "name": "Updated", "type": "string", "description": "When all the machines in the pool are updated to the correct machine config.", "jsonPath": ".status.conditions[?(@.type==\"Updated\")].status" } { "name": "Updating", "type": "string", "description": "When at least one of machine is not either not updated or is in the process of updating to the desired machine config.", "jsonPath": ".status.conditions[?(@.type==\"Updating\")].status" }