Promote apt lock timeout and bounded boot upgrade to sandbox - #291
Merged
Conversation
Straight copy of the four items from environments/development, verified identical afterwards. No pre-existing divergence between the two overlays in these files, so nothing was clobbered. Validated on a development gha_runner (ip-10-0-1-142) before promoting: Notice: /Stage[init]/Profile::Apt_lock_timeout/File[/etc/apt/apt.conf.d/99-lock-timeout]/ensure: defined content The Stage[init] prefix confirms the drop-in lands before every Package resource in stage main, which was the part of the design most likely to surprise. That host's AMI predates infrahouse-ubuntu-pro#20, so the file did not exist and Puppet created it -- the exact case this exists for. The same run also confirmed the five unmask execs fire (so the units really are masked by cloud-init's bootcmd when Puppet runs), that the bounded upgrade script deploys and succeeds, that its /run marker stops it re-running on the second catalog pass, and that Package[postfix]/[mailutils]/[mutt] -- the three resources that failed in #289 -- now install cleanly. Bootstrap hook completed CONTINUE. Refs #289 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
infrahouse8
approved these changes
Aug 1, 2026
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.
Promotes the apt lock timeout and the bounded boot security upgrade from
environments/developmenttoenvironments/sandbox. Second step of the promotion path;modules/still to follow.Straight copy of four items, verified byte-identical to the development overlay afterwards. There was no pre-existing divergence between the two overlays in these files, so nothing was clobbered:
manifests/apt_lock_timeout.pp(new)files/github_runner/gha-boot-security-upgrade.sh(new)manifests/repos.pp— declares the class withstage => initmanifests/github_runner.pp— boundedExec[gha-boot-security-upgrade]Validated in development first
From a real
gha_runnerbootstrap (ip-10-0-1-142):The
Stage[init]prefix is the important part — it confirms the drop-in is applied before everyPackageresource in stage main, which was the piece of the design most likely to surprise. That host's AMI predates infrahouse/infrahouse-ubuntu-pro#20, so the file did not exist and Puppet created it, which is exactly the population this change is for.The same run also confirmed:
terraform-aws-cloud-init'sbootcmdwhen Puppet runs, and the execs are load-bearing rather than dead codegha-boot-security-upgrade.shdeploys and the exec succeeds/run/gha-boot-upgrade.donemarker stops it re-running on the second catalog passPackage[postfix],Package[mailutils]andPackage[mutt]— the three resources that failed in Own DPkg::Lock::Timeout in Puppet and bound Exec[gha-boot-security-upgrade] #289 — install cleanlyCONTINUENote for later
That instance reached CONTINUE at 719s of the 1200s hook budget, with the first catalog alone taking 514s. The boot upgrade's 480s worst case therefore leaves thinner margin than the budget suggests in isolation — a worst-case run would land near 1150s. Not changed here by decision; recorded so it is not a surprise later.
Refs #289
🤖 Generated with Claude Code