Skip to content

[PRODENG-3393] Require explicit spec.mcr.channel; fix Ubuntu apt noninteractive#635

Open
james-nesbitt wants to merge 1 commit into
mainfrom
PRODENG-3393
Open

[PRODENG-3393] Require explicit spec.mcr.channel; fix Ubuntu apt noninteractive#635
james-nesbitt wants to merge 1 commit into
mainfrom
PRODENG-3393

Conversation

@james-nesbitt
Copy link
Copy Markdown
Collaborator

@james-nesbitt james-nesbitt commented May 27, 2026

What

Require spec.mcr.channel explicitly in the launchpad config and fix DEBIAN_FRONTEND on the Ubuntu MCR apt-get update call.

Why

Users following the MKE 3.8 doc template (which omits the mcr block) hit a silent default that caused MCR install failures. Making mcr.channel required produces a clear parse-time error before any install begins, consistent with how spec.mke.version is handled.

How

  • Removed channel default from MCRConfig.SetDefaults() — channel is now intentionally undefaulted
  • Added validation in ClusterSpec.UnmarshalYAML: empty channel after unmarshal returns a fatal error with an actionable message (e.g. channel: stable-29.4)
  • Set DEBIAN_FRONTEND=noninteractive on the apt-get update call in the Ubuntu configurer (InstallPackage from rig already sets it for install calls)
  • Added policy-rc.d comment documenting the deferred dpkg post-install daemon startup concern

Testing

  • TestMissingMCRChannelFails: verifies parse-time error for absent mcr block
  • TestMCRConfig_ChannelRequired: verifies channel is not silently defaulted
  • All existing cluster and migration tests updated and passing
  • make unit-test passes (24/24 packages)

Links

Checklist

  • Tests added or updated
  • Docs updated if user-visible behaviour changed
  • No debug output or dead code left in

- 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
@james-nesbitt james-nesbitt added smoke-modern Run modern smoke test smoke-legacy Run legacy smoke test labels May 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

smoke-legacy Run legacy smoke test smoke-modern Run modern smoke test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant