kube-upgrade-networking fails for k8s 1.18.1 -> 1.19.13
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
StarlingX |
Fix Released
|
Medium
|
Steven Webster |
Bug Description
Brief Description
-----------------
In the ongoing effort to refresh the containerization components in StarlingX:
https:/
Recent commits have been committed to support the upgrade of kubernetes from 1.18.1 -> 1.19.13 -> 1.20.9 -> 1.21.3.
Specifically, the networking container images will be upgraded along with the k8s 1.19.13 version.
See commit:
https:/
An issue has been encountered when running the system kube-upgrade-
When running this step, ansible will fail with the following error while doing the rolling update to these images:
TASK [common/
fatal: [localhost]: FAILED! => {"changed": true, "cmd": ["kubectl", "--kubeconfig=
PLAY RECAP *******
localhost : ok=64 changed=15 unreachable=0 failed=1
This is because the newer templates only have a name: label in the match selector, while the older templates did not specify a name label.
The new templates should be fixed up to match the labels applied to the older images in order to enable the rolling update. It's possible that we can add new templates to the k8s 1.20.9 which will align with the 'name' match selector (since this label will be applied via the k8s 1.19.13 templates), but the first priority should be to enable the k8s 1.18 -> k8s 1.19 upgrade path.
Severity
--------
Critical: System/Feature is not usable due to the defect
Steps to Reproduce
------------------
At the time of writing, the load used is a developer build from 2021-08-31
With the following cherry-picked WIP commits:
https:/
https:/
system kube-upgrade-start v1.19.13
system kube-upgrade-
*** there's still a bug here with a config-out-of-date issue, so this step will eventually fail. Lock and unlock the host and run it again:
system kube-upgrade-
system kube-upgrade-
Expected Behavior
------------------
Write down what was expected after taking the steps written above
Actual Behavior
----------------
We should get to a state of 'upgraded-
Reproducibility
---------------
100%
System Configuration
-------
AIO-SX
Branch/Pull Time/Commit
-------
master 2021-08-31
With the following cherry-picked WIP commits:
https:/
https:/
Last Pass
---------
N/A we are still working through the story
Timestamp/Logs
--------------
TASK [common/
fatal: [localhost]: FAILED! => {"changed": true, "cmd": ["kubectl", "--kubeconfig=
PLAY RECAP *******
localhost : ok=64 changed=15 unreachable=0 failed=1
Test Activity
-------------
Developer testing
Workaround
----------
Change the following files to change the match labels as follows:
- name: sriov-device-plugin
+ tier: node
+ app: sriovdp
/usr/share/
/usr/share/
Changed in starlingx: | |
assignee: | nobody → Steven Webster (swebster-wr) |
status: | New → In Progress |
importance: | Undecided → Critical |
Fix proposed to branch: master /review. opendev. org/c/starlingx /ansible- playbooks/ +/807135
Review: https:/