This change modifies upgrade_k8s_config.sh to support updating
k8s feature-gates for different k8s versions. With every k8s release,
default values of some feature-gate are changed and usage of some
feature-gates often gets deprecated.
The script runs during each k8s control plane upgrade before
upgrading first master. It modifies kubeadm-config configmap
with features-gates as required for the specific k8s version
we are upgrading to.
The set of changes here, a6a5349d02
(k8s-1.22.5: remove feature-gates), 1cdfd78286
(Add a puppet class to support k8s feature-gate update), and cc3cdbd647
(apply feature-gate update during upgrade-activate) were added for
stx 6.0 to stx 7.0 upgrade (CentOS) for changes in feature-gates with
respect to k8s 1.22. Instead of adding that script to Debian and
maintaining two different scripts, going forward we can maintain this
single script to accommodate any change in feature-gates
(or any other config in kubeadm-config) with respect to the specific
k8s version we are upgrading to.
Test Plan:
PASS: K8s upgrade 1.21.8 to 1.22.5
PASS: k8s upgrade 1.23.1 to 1.24.4
PASS: shellcheck run
PASS: replace_configmap function was unit tested separately.
Closes-Bug: 1996546
Closes-Bug: 1990880
Signed-off-by: Kaustubh Dhokte <kaustubh.dhokte@windriver.com>
Change-Id: Ib693d7892aee2da91d612789b64ff38a65da5ccb