Restore the pre-codavox dev repo, keeping only the yumrepo_core fix - #67
Merged
Conversation
Reverts #63, #64, and #65: the compiler VM, the pp_role csr_attributes, and all the codavox wiring. The tree is now identical to 0a7c5f8 apart from one Puppetfile line. This repo is a dev environment — an edit to production has to appear on the next agent run with no deploy step. codavox distributes sealed, immutable, content-addressed versions. The two models are structurally opposed, and everything added to reconcile them was paying for the mismatch: a directory of environments nested inside an environment so the publisher had something other than the working tree to seal; a working tree that cannot be sealed at all, because .onceover/ holds rspec-puppet fixture symlinks pointing at absolute macOS host paths; a compiler that could never serve production, since codavox replaces environmentpath rather than adding to it; and static catalogs turned off on the primary, a real capability lost purely to the conflict. The compiler VM goes too. Without codavox it had no code — no synced mount, and a stock empty production skeleton — so it installed openvox-server on a node that could only compile empty catalogs. codavox was the only thing that ever fed it. codavox validation moves to a control repo built for it, where r10k deploys a clean tree and static catalogs stay on. puppetlabs/yumrepo_core is kept because it is the one fix here that had nothing to do with codavox. yumrepo left Puppet core, and while site-modules/profile/.fixtures.yml already declared it for the module's own specs, the control repo never shipped it — so onceover could not compile any RedHat role, failing with "Unknown resource type: 'yumrepo'". Real nodes were unaffected because openvox-agent bundles it, which is why it went unnoticed. Verified: onceover passes all four remaining roles, and the profile suite is back to 96 examples with no failures. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
Reverts #63, #64, and #65. The tree is now identical to
0a7c5f8apart from one Puppetfile line.Why
This repo is a dev environment: an edit to
productionhas to appear on the next agent run with no deploy step. codavox distributes sealed, immutable, content-addressed versions. Those models are structurally opposed, and everything added to reconcile them was paying for the mismatch:codavox-basedir/was a directory of environments nested inside an environment, so the publisher had something other than the working tree to seal..onceover/holds rspec-puppet fixture symlinks pointing at absolute macOS host paths, which codavox rightly refuses to unpack — and it returns every time anyone runs onceover.production, because codavox replacesenvironmentpathrather than adding to it. Exercising it meant giving up the only node compiling against the primary.The compiler VM goes too. Without codavox it had no code — no synced mount, stock empty
productionskeleton — sorole::compilerinstalled openvox-server on a node that could only compile empty catalogs. codavox was the only thing that ever fed it.codavox validation moves to a control repo built for it, where r10k deploys a clean tree and static catalogs stay on.
What's kept, and why only this
puppetlabs/yumrepo_core— the one change in that range with nothing to do with codavox.yumrepoleft Puppet core.site-modules/profile/.fixtures.ymlalready declared it for the module's own specs, but the control repo never shipped it, so onceover could not compile any RedHat role:Real nodes were unaffected because openvox-agent bundles it, which is why it went unnoticed. I confirmed it was pre-existing by stashing and reproducing the identical four failures on a clean tree.
The two other things I'd called fixes are gone with their subjects, correctly: the
site.ppcompiler classification has no compiler to classify, andcodavox::package_sourcehas no codavox to install.pp_roleincsr_attributes.yamlalso goes, since it arrived with #63 —0a7c5f8never had it. Worth re-adding on its own merits later if you want role-based auth; it isn't a codavox dependency.Verified
role::puppet_master,role::database_server,role::webserver,role::example)96 examples, 0 failuresgit diff --stat 0a7c5f8is exactlyPuppetfile | 6 ++++++Note
The running VMs still have codavox installed from testing — package,
/etc/codavox,/opt/puppetlabs/codavox, and the publisher unit onpuppet. Puppet only removes what it manages, so unmanaging it leaves it in place. Simplest cleanup isvagrant destroy && vagrant up, which also drops the compiler VM.🤖 Generated with Claude Code