integ/kubernetes/kubernetes-unversioned
Chris Friesen 1fffbe7c9b use symlinks instead of bind mounts for K8s versioning
Switch to using "stage1" and "stage2" symlinks under
/var/lib/kubernetes to select versions for kubeadm, kubelet,
and kubectl.

We have been using bind mounts to select K8s versions, but they are not
well supported by Puppet and suffer from fragility since you cannot
remove a bind mount while an executable is still running from it.  They
also need to be re-created when creating an OSTree hotfix.

Symlinks suffer from no such issues, they just need to be created in
a filesystem that is not managed by OSTree.

NOTE: This also requires the following two changes to go in at the same
time.  All three must be in place for the symlinks to work properly.

https://review.opendev.org/c/starlingx/stx-puppet/+/916338
https://review.opendev.org/c/starlingx/ansible-playbooks/+/916336

Story: 2011047
Task: 49915

TEST PLAN:

PASS:
Perform default install on AIO-SX, ensure no issues and K8s works as
expected.

PASS:
Perform default install on Standard lab, ensure no issues and K8s works
as expected.

PASS:
Install with K8s 1.24 on AIO-SX, do orchestrated upgrade covering
multiple K8s versions.  Ensure no issues and K8s works as expected.

PASS:
Install with K8s 1.24 on Standard lab, do  manual K8s upgrade, ensure
no issues and K8s works as expected.

PASS:
Do backup on AIO-SX while running K8s 1.25, ensure that after a restore
we are also running K8s 1.25.   (NOTE: this test resulted in hitting
CGTS-55971 multiple times so the restore didn't complete successfully,
but the K8s symlinks were created as expected.)

Change-Id: Iffc4ed57c64c8cffd648345d7e03c7d9448ea891
Signed-off-by: Chris Friesen <chris.friesen@windriver.com>
2024-04-29 17:06:15 -06:00
..
centos Remove broken/stale K8s upgrade script 2023-04-26 16:24:03 -07:00
debian use symlinks instead of bind mounts for K8s versioning 2024-04-29 17:06:15 -06:00