Skip to content

feat: add group and batch patching#255

Merged
rwaffen merged 1 commit intovoxpupuli:mainfrom
rwaffen:batch_group_patch
Nov 7, 2025
Merged

feat: add group and batch patching#255
rwaffen merged 1 commit intovoxpupuli:mainfrom
rwaffen:batch_group_patch

Conversation

@rwaffen
Copy link
Copy Markdown
Member

@rwaffen rwaffen commented Oct 9, 2025

Extend patching plans

  • patch a group of hosts (defined via fact)
  • patch a group of hosts (defined via pql)
  • patch a group in batches

Extend patching fact

  • add a chunk for defining a group

@rwaffen rwaffen force-pushed the batch_group_patch branch from 722cdc2 to de626de Compare October 9, 2025 14:17
@bastelfreak bastelfreak added the enhancement New feature or request label Oct 9, 2025
Comment thread manifests/init.pp Outdated
cvquesty
cvquesty previously approved these changes Oct 9, 2025
Comment thread plans/patch_after_healthcheck.pp
Comment thread plans/patch_batch.pp Outdated
Comment thread plans/patch_batch.pp Outdated
Comment thread plans/patch_batch.pp Outdated
@rwaffen rwaffen added the backwards-incompatible This change will lead to a major version bump for the next release label Oct 10, 2025
@rwaffen
Copy link
Copy Markdown
Member Author

rwaffen commented Oct 10, 2025

I marked it backwards-incompatible because i do a Type change wich changes the behavior.

Comment thread plans/patch_batch.pp Outdated
@rwaffen
Copy link
Copy Markdown
Member Author

rwaffen commented Oct 10, 2025

health check task is missing

Comment thread plans/patch_pql.pp Outdated
@rwaffen
Copy link
Copy Markdown
Member Author

rwaffen commented Nov 6, 2025

i'm going to work a lot on this, so maybe wait with review a bit

@rwaffen
Copy link
Copy Markdown
Member Author

rwaffen commented Nov 6, 2025

need to do a proper voxpupuli release of this module first to get the tests working again

Comment thread plans/patch_group.pp Outdated
@rwaffen
Copy link
Copy Markdown
Member Author

rwaffen commented Nov 6, 2025

will rebase and squash. got quite some commits together XD

@rwaffen rwaffen force-pushed the batch_group_patch branch 2 times, most recently from ef3b41a to 223e15b Compare November 6, 2025 14:04
@rwaffen
Copy link
Copy Markdown
Member Author

rwaffen commented Nov 6, 2025

code works in my tests now. i think i'm ready for review again. tests are all read, because it cannot find the voxpupuli version of this module in the forge. this is because we didn't do a release yet. see #258

@rwaffen
Copy link
Copy Markdown
Member Author

rwaffen commented Nov 6, 2025

$ bolt plan run os_patching::patch_group group=patching01 batch_size=2

Starting: plan os_patching::patch_group
patch_group.pp: Patching group: patching01
patch_group.pp: Targets in group: [student1.priv.rw.betadots.training, student3.priv.rw.betadots.training, student2.priv.rw.betadots.training, puppet.priv.rw.betadots.training]
patch_group.pp: Patching in batches is true
patch_group.pp: Patching in batches of size: 2
patch_group.pp: Patching batches created: [[student1.priv.rw.betadots.training, student3.priv.rw.betadots.training], [student2.priv.rw.betadots.training, puppet.priv.rw.betadots.training]]
Starting: plan os_patching::patch_batch
patch_batch.pp: Patching batch of nodes: [student1.priv.rw.betadots.training, student3.priv.rw.betadots.training]
patch_batch.pp: Health check is true.
patch_batch.pp: Running health check before patching
Starting: task puppet_health_check::agent_health on student1.priv.rw.betadots.training, student3.priv.rw.betadots.training
Finished: task puppet_health_check::agent_health with 0 failures in 7.28 sec
Starting: task os_patching::patch_server on student1.priv.rw.betadots.training, student3.priv.rw.betadots.training
Finished: task os_patching::patch_server with 0 failures in 15.0 sec
Finished: plan os_patching::patch_batch in 22.3 sec
Starting: plan os_patching::patch_batch
patch_batch.pp: Patching batch of nodes: [student2.priv.rw.betadots.training, puppet.priv.rw.betadots.training]
patch_batch.pp: Health check is true.
patch_batch.pp: Running health check before patching
Starting: task puppet_health_check::agent_health on student2.priv.rw.betadots.training, puppet.priv.rw.betadots.training
Finished: task puppet_health_check::agent_health with 2 failures in 11.57 sec
Finished: plan os_patching::patch_batch in 11.57 sec
Finished: plan os_patching::patch_group in 34.01 sec
{
  "targets": [
    "student1.priv.rw.betadots.training",
    "student3.priv.rw.betadots.training",
    "student2.priv.rw.betadots.training",
    "puppet.priv.rw.betadots.training"
  ],
  "patched": [
    "student1.priv.rw.betadots.training",
    "student3.priv.rw.betadots.training"
  ],
  "failed": [],
  "skipped": [
    "student2.priv.rw.betadots.training",
    "puppet.priv.rw.betadots.training"
  ],
  "health_check": true
}

@rwaffen
Copy link
Copy Markdown
Member Author

rwaffen commented Nov 6, 2025

don't know why tests fail. they try to pull in v1.0.0-rc0 of the module instead of the released v1.0.0 🤷

@rwaffen
Copy link
Copy Markdown
Member Author

rwaffen commented Nov 6, 2025

okay, beaker packageing v1.0.0-rc0 and should be able to install it into the instance. but it doesn't work :(

@rwaffen
Copy link
Copy Markdown
Member Author

rwaffen commented Nov 6, 2025

okay, puppet-puppet_health_check is not yet released and maybe merged into another module. so the dependency in the metadata.json is removed for now

@rwaffen rwaffen requested a review from jay7x November 6, 2025 15:40
@rwaffen rwaffen merged commit deb52da into voxpupuli:main Nov 7, 2025
14 checks passed
@rwaffen rwaffen deleted the batch_group_patch branch November 7, 2025 10:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backwards-incompatible This change will lead to a major version bump for the next release enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants