[PRODENG-3393] Require explicit spec.mcr.channel; fix Ubuntu apt noninteractive - #635
Merged
Conversation
james-nesbitt
force-pushed
the
PRODENG-3393
branch
from
June 4, 2026 14:21
3099744 to
1064066
Compare
- Remove the default channel from MCRConfig.SetDefaults() — channel is now a required field. An absent or empty spec.mcr.channel produces a clear fatal error at parse time, consistent with how spec.mke.version is handled. - Add validation in ClusterSpec.UnmarshalYAML: if MCR channel is empty after unmarshal (mcr block absent or channel field omitted), return an actionable error directing the user to set e.g. channel: stable-29.4. - Set DEBIAN_FRONTEND=noninteractive on the apt-get update call in the Ubuntu MCR installer (InstallPackage from rig already sets it for install calls). - Add policy-rc.d comment documenting the deferred dpkg post-install concern. - Update all cluster_test.go fixtures to include mcr.channel: stable. - Add TestMissingMCRChannelFails and TestMCRConfig_ChannelRequired tests. PRODENG-3393
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: James Nesbitt <jnesbitt@mirantis.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: James Nesbitt <jnesbitt@mirantis.com>
rocky8 AMI (owner 792107900819, Rocky-8-EC2-Base-8.*.x86_64) is no longer available in us-east-1. rhel8 resolves fine and has MCR packages on repos.mirantis.com. AlmaLinux was considered but has no MCR packages. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: James Nesbitt <jnesbitt@mirantis.com>
SLES 12 SP5 AMIs are available in us-east-1 (owner 013907871322) and MCR packages exist at repos.mirantis.com/sles/12/. Added as a worker node to verify sles12 compatibility with MKE 3.8.8/MCR stable-25.0. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: James Nesbitt <jnesbitt@mirantis.com>
Rocky 8's official AMI (owner 792107900819, Rocky-8-EC2-Base-8.*.x86_64) is back in us-east-1 as of 2026-06-27 (Rocky-8-EC2-Base-8.10-20260625.x86_64, public, no product code, dry-run launch succeeds) -- the gap that justified dropping it predates that republish. Restore MngrRocky8/WrkRocky8 alongside rhel8/sles12/ubuntu22. Desired legacy coverage per team decision: ubuntu22, rhel8, rocky8, sles12. sles12 is expected to fail; kept in (worker-only) to observe the failure before deciding whether to drop it. Also drop PRODENG-3393-plan.md, a scratch planning doc not meant to ship.
james-nesbitt
force-pushed
the
PRODENG-3393
branch
from
July 22, 2026 05:31
9f3cd47 to
77d8680
Compare
sles12 (SLES 12 SP5) fails launchpad's Validate Hosts phase: failed to find host local addresses: failed to get local addresses: command failed: client exec: ssh session wait: Process exited with status 4 Root cause: pkg/configurer/linux.go LocalAddresses() runs `hostname --all-ip-addresses`, a GNU/net-tools extension flag SLES 12's older hostname implementation doesn't support. All other legacy hosts (rhel8, rocky8, ubuntu22 managers/workers) pass validation cleanly. Filed PRODENG-3588 to fix LocalAddresses() portably and re-add sles12 once verified against a real SLES 12 SP5 instance. Written by AI: claude-sonnet-5
Collaborator
Author
Final stateLegacy smoke coverage restored to
CI: unit tests (macOS/Ubuntu/Windows), CodeQL, and static analysis all pass. Still needs the required review approval to merge. Written by AI: claude-sonnet-5 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Require
spec.mcr.channelexplicitly in the launchpad config and fixDEBIAN_FRONTENDon the Ubuntu MCR apt-get update call.Why
Users following the MKE 3.8 doc template (which omits the
mcrblock) hit a silent default that caused MCR install failures. Makingmcr.channelrequired produces a clear parse-time error before any install begins, consistent with howspec.mke.versionis handled.How
MCRConfig.SetDefaults()— channel is now intentionally undefaultedClusterSpec.UnmarshalYAML: empty channel after unmarshal returns a fatal error with an actionable message (e.g.channel: stable-29.4)DEBIAN_FRONTEND=noninteractiveon theapt-get updatecall in the Ubuntu configurer (InstallPackagefrom rig already sets it for install calls)Testing
TestMissingMCRChannelFails: verifies parse-time error for absentmcrblockTestMCRConfig_ChannelRequired: verifies channel is not silently defaultedmake unit-testpasses (24/24 packages)Links
Checklist