Repository navigation
CKS: support headlamp.yaml in upgrade-kubernetes.sh - #14245
Conversation
|
Congratulations on your first Pull Request and welcome to the Apache CloudStack community! If you have any issues or are unsure about any anything please check our Contribution Guide (https://github.com/apache/cloudstack/blob/main/CONTRIBUTING.md)
|
|
@ACSHomeBot package G |
Packaging results:
Test packages are available at: |
|
extras removed from file |
@mw-0 that covers it, the script parses fine now |
|
@blueorangutan package |
|
@nvazquez a [SL] Jenkins job has been kicked to build packages. It will be bundled with no SystemVM templates. I'll keep you posted as I make progress. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #14245 +/- ##
============================================
+ Coverage 20.05% 20.39% +0.34%
- Complexity 20656 21283 +627
============================================
Files 6427 6481 +54
Lines 584905 588040 +3135
Branches 71658 72021 +363
============================================
+ Hits 117278 119951 +2673
- Misses 454802 455058 +256
- Partials 12825 13031 +206
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 19845 |
|
@ACSHomeBot package |
|
Accepted: Planned: RPM + DEB, KVM SystemVM. Status: Completed. Packaging results. |
Packaging results:
Test packages are available at: |
bhouse-nexthop
left a comment
There was a problem hiding this comment.
LGTM. The upgrade now picks the dashboard the same way k8s-control-node.yml does on create: headlamp.yaml first, then dashboard.yaml, then a warning. So ISOs built before and after #12776 both work.
This matters to us: our clusters were created on 4.19/4.20 with the legacy dashboard. Without this, their first Kubernetes upgrade with a 4.23+ ISO stops on the main control node after kubeadm and kubelet have already been upgraded, and the ISO stays mounted.
One non-blocking note, for a follow-up or the docs. A cluster created with the legacy dashboard and then upgraded with a Headlamp ISO ends up running both. The old kubernetes-dashboard deployment is never updated again, and the kubernetes-dashboard-ui cluster-admin binding that create gave its service account stays in place. The upgrade could remove the old namespace and binding once Headlamp is applied. Or the upgrade notes could tell operators to do it themselves.
|
Awesome work, congrats on your first merged pull request! |
Description
This PR fixes #14244.
Since 4.23 the binaries ISO ships the Headlamp dashboard as
headlamp.yamlinstead ofdashboard.yaml. The create path (k8s-control-node.yml) already falls back between the two,but
upgrade-kubernetes.shhardcodeddashboard.yaml. Because the script runs withbash -e,every upgrade using a Headlamp ISO failed on the first control node after kubeadm had already
upgraded it, leaving the cluster half-upgraded and in Alert.
This applies the same fallback as the create path:
headlamp.yaml, thendashboard.yaml,then a warning, so ISOs built before and after the Headlamp change both work.
Affects 4.23.0.0 and main. 4.22 is not affected. Happy to retarget if a 4.23 branch is
wanted for a patch release.
Types of changes
Feature/Enhancement Scale or Bug Severity
Bug Severity
How Has This Been Tested?
cluster, isolated network, .
v1.36.0, headlamp running in kube-system, cluster back to Running, version updated in DB.
error: the path "/mnt/k8sdisk//dashboard.yaml" does not exist.How did you try to break this feature and the system with this change?