[PRODENG-3594] Migrate host connectivity layer to rig v2 (rebased, reference only) - #651
[PRODENG-3594] Migrate host connectivity layer to rig v2 (rebased, reference only)#651james-nesbitt wants to merge 1 commit into
Conversation
Manual testing in progressRunning a new smoke test against real infra (AWS profile
Rationale: the existing Will post the result (pass/fail + any findings) once it completes. Written by AI: claude-sonnet-5 |
Manual test result: FAIL (infra/coverage gap, not a rig v2 regression)Ran Result: failed at base install — Investigated before reporting:
Take: likely an MCR channel/OS coverage gap ( Written by AI: claude-sonnet-5 |
Root cause found: AMI drift + zypper vendor-change policy, NOT a rig v2 regression, NOT an MCR channel gapManually reproduced on a standalone SLES15 instance (bypassing Launchpad) to get past the error-swallowing bug fixed earlier in this thread. Root cause:
Confirmed channel-independent: reproduced the identical failure with Confirmed NOT a rig v2 regression: Confirmed undocumented in MCR's own docs: both Impact: All diagnostic AWS resources (2 standalone EC2 instances, security groups, keypairs) cleaned up and verified terminated/deleted — no orphaned spend. Written by AI: claude-sonnet-5 |
Rebased onto main. Resolved the SLES InstallMCR conflict to retain the --allow-vendor-change fix (PRODENG-3623 / #652) expressed in rig v2's API. Build/test fixes required by the migration: go.mod/go.sum tidied for github.com/k0sproject/rig/v2, validate_facts_test.go updated to rig v2 CompositeConfig/ssh.Config, and %w error wrapping in the EL/SLES/Ubuntu configurers. Adds TestUpgradeModernClusterFromLegacy. Signed-off-by: Kimmo Lehto <kimmo.lehto@gmail.com> Written by AI: claude-sonnet-5
0d6d114 to
f866014
Compare
What
Rebased copy of #645 (rig v0.x → rig v2 host connectivity migration) onto current
main, with conflicts resolved and a pre-existing test-compile bug fixed.Why
#645 is opened from a fork (
kke/launchpad:rig-v2) and has drifted frommain(mergeStateStatus: DIRTY,mergeable: CONFLICTING) after several PRODENG fixes landed (PR #640 FIPS MCR fix, PR #641 dependency upgrade, PR #628 swarm dissolution fallback). This PR is a rebased, buildable snapshot for review/reference — not intended to be merged. Kept separate to avoid disrupting #645's existing review thread; work continues there.How
rig-v2(commited5bd5b) ontomain(4f64206)go.mod/go.sum(kept rig v2 deps +main's later version bumps),pkg/configurer/windows.go(adopted newHosttype, dropped a reintroduced hardcoded MCR version that would have regressed PRODENG-3471),pkg/configurer/linux.go(adopted rig v2'sh.Sudo()API shape, kept$SUDO_USER— verified rig v2'ssudo.gowraps commands identically to the rig v0.21.11 pattern PR chore: upgrade Go modules and GitHub Actions #641 fixed, so$USERwould still resolve to root),pkg/configurer/ubuntu/ubuntu.go(dropped an explicit noninteractiveapt-get update, confirmed rig v2'spackagemanager/apt.goalready setsDEBIAN_FRONTEND=noninteractiveon every apt-get call)pkg/product/mke/phase/validate_facts_test.go: a second test helper (makePhaseWithPodCIDR, added later by PR [PRODENG-3342] Validate --pod-cidr does not overlap Swarm overlay address pool #636) still referenced removed rig v0 types (rig.Connection,rig.SSH), missed by the original migration's test conversion — updated to match the already-migrated sibling helperTesting
go build ./...cleango vet ./...cleango test ./...— all packages passLinks
Checklist
Written by AI: claude-sonnet-5