Commit 1d5d3cc
ci: assert kubeadm exposes the upgrade-path surface per minor (U-N)
After building each per-minor image, run the bundled kubeadm and assert it
exposes exactly the subcommands/flags the upgrade path drives, so an upstream
removal/rename is caught on every PR before it breaks an upgrade at runtime:
- upgrade apply: --yes, --certificate-renewal
- upgrade node: subcommand exists
- init phase kubelet-start: --config (ADR-12-R1 API-free kubelet repair)
- init phase upload-certs: --config (cert-key via config, never argv -- the mint
keystone, ADR-11 #3 / ADR-12 B3)
Runs inside the images CI already builds (1.34/1.35/1.36) -- no release/tag
needed. Pure edge logic (accept +1 minor; refuse skip/downgrade/out-of-window)
is already covered by TestUpgradePath; the full live upgrade stays the libvirt
smoke. Verified the flags against real kubeadm v1.35.5 before committing.
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: William Rizzo <william.rizzo@gmail.com>1 parent 588baa7 commit 1d5d3cc
1 file changed
Lines changed: 34 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
139 | 139 | | |
140 | 140 | | |
141 | 141 | | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
0 commit comments