serve OS images required for a capm3 workload cluster 2-step k8s version upgrade

This is needed for sylva-projects/sylva-core!6891 (merged)

Context:

in capm3 the mgmt cluster needs to serve all OS images used by workload clusters

  • for kubeadm, the upgrade path from sylva 1.6 to 1.7 is: 1.33 -> 1.34  followed by 1.34 -> 1.35
  • this applies to the mgmt cluster, because the intended procedure for workload cluster for upgrades from sylva n to n+1 is that the workload cluster k8s version is not changed
  • but this is not what our CI  "sylva--to-" are testing* (in our pipelines the k8s version is also changed)

What we have today:

  • the mgmt cluster is automatically configured so that os-image-server always serves the OS image needed by the mgmt cluster
  • the mgmt cluster still needs to be configured to serve OS images that workload clusters need
  • the "upgrade from 1.6 to main" CI pipeline, for capm3 workload cluster is failing, because the mgmt cluster does not serve the OS image for k8s 1.34

What we need to change (or discuss?):

  • (a) our CI: we would need to have the  sylva-<n-1>-to-<main> not change the workload cluster k8s version in update-workload-cluster
  • (b) our "code" related to "what OS images are served by default by the mgmt cluster": for now we were optimizing and by default only serving the version, but maybe we need to reconsider this because the need to serve the version will now be very common

This MR covers (a).

(and (b) is tracked by sylva-projects/sylva-core#4024)

Edited by Thomas Morin

Merge request reports

Loading