|
1 | 1 | --- |
2 | 2 |
|
| 3 | +- name: Get intial kubelet version |
| 4 | + kubernetes.core.k8s_info: |
| 5 | + kind: Node |
| 6 | + register: initial_node_info |
| 7 | + |
3 | 8 | - name: Pause the worker's MachineConfigPool |
4 | 9 | kubernetes.core.k8s: |
5 | 10 | state: present |
|
10 | 15 | spec: |
11 | 16 | paused: true |
12 | 17 |
|
| 18 | +- name: Check if worker's MachineConfigPool has paused |
| 19 | + shell: oc get mcp worker -o json | jq ".spec.paused" |
| 20 | + register: worker_mcp_paused |
| 21 | + failed_when: not worker_mcp_paused.stdout | bool |
| 22 | + |
| 23 | +- debug: |
| 24 | + msg: "Worker's MachineConfigPool has paused. 'spec.paused: {{ worker_mcp_paused.stdout }}'" |
| 25 | + |
13 | 26 | - name: Patch the ClusterVersion with the eus intermediate upgrade channel |
14 | 27 | kubernetes.core.k8s: |
15 | 28 | state: present |
|
92 | 105 | msg: "Worker machine config pool get updated" |
93 | 106 | when: worker_mcp.resources[0].status.updatedMachineCount != 0 |
94 | 107 |
|
| 108 | +- name: Get kubelet version of workers after intermediate upgrade |
| 109 | + kubernetes.core.k8s_info: |
| 110 | + kind: Node |
| 111 | + label_selectors: node-role.kubernetes.io/worker |
| 112 | + register: worker_node_info |
| 113 | + |
| 114 | +- debug: |
| 115 | + msg: "Kubelet version of worker nodes after intermediate upgrade: {{ item.status.nodeInfo.kubeletVersion }}" |
| 116 | + with_items: "{{ worker_node_info.resources }}" |
| 117 | + loop_control: |
| 118 | + label: "{{ item.status.nodeInfo.kubeletVersion }}" |
| 119 | + |
| 120 | +- name: Validate kubelet version of workers after intermediate upgrade |
| 121 | + fail: |
| 122 | + msg: "Kubelet version has updated for workers" |
| 123 | + when: item.status.nodeInfo.kubeletVersion != initial_node_info.resources[0].status.nodeInfo.kubeletVersion |
| 124 | + with_items: "{{ worker_node_info.resources }}" |
| 125 | + loop_control: |
| 126 | + label: "{{ item.status.nodeInfo.kubeletVersion }}" |
| 127 | + |
95 | 128 | - name: Patch the ClusterVersion with the upgrade channel |
96 | 129 | kubernetes.core.k8s: |
97 | 130 | state: present |
|
144 | 177 | msg: "Master MachineConfigPool not get updated" |
145 | 178 | when: master_mcp.resources[0].status.updatedMachineCount != master_mcp.resources[0].status.machineCount |
146 | 179 |
|
| 180 | +- name: Get kubelet version of workers after final upgrade |
| 181 | + kubernetes.core.k8s_info: |
| 182 | + kind: Node |
| 183 | + label_selectors: node-role.kubernetes.io/worker |
| 184 | + register: worker_node_info |
| 185 | + |
| 186 | +- debug: |
| 187 | + msg: "Kubelet version of worker nodes after final upgrade: {{ item.status.nodeInfo.kubeletVersion }}" |
| 188 | + with_items: "{{ worker_node_info.resources }}" |
| 189 | + loop_control: |
| 190 | + label: "{{ item.status.nodeInfo.kubeletVersion }}" |
| 191 | + |
| 192 | +- name: Validate kubelet version of workers after final upgrade |
| 193 | + fail: |
| 194 | + msg: "Kubelet version has updated for workers" |
| 195 | + when: item.status.nodeInfo.kubeletVersion != initial_node_info.resources[0].status.nodeInfo.kubeletVersion |
| 196 | + with_items: "{{ worker_node_info.resources }}" |
| 197 | + loop_control: |
| 198 | + label: "{{ item.status.nodeInfo.kubeletVersion }}" |
| 199 | + |
147 | 200 | - name: Resume the worker's MachineConfigPool |
148 | 201 | kubernetes.core.k8s: |
149 | 202 | state: present |
|
0 commit comments