Repository navigation
Conversation
Mirrors the per-job machine_type parameter: a job can now also request a specific boot disk size, sent as disk_size_gb on each VM and omitted when unset so the request body is unchanged for existing callers. Falls back to PROVISION_DISK_SIZE_GB; the parameter wins. Depends on puppetlabs/provision_service's disk_size_gb support being deployed first, same rollout order as machine_type. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #303 +/- ##
==========================================
+ Coverage 91.37% 91.42% +0.04%
==========================================
Files 7 7
Lines 522 525 +3
==========================================
+ Hits 477 480 +3
Misses 45 45 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
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.
Summary
Adds an optional
disk_size_gbto theprovision::provision_servicetask so a job can request a specific boot disk size, instead of every consumer getting the service's single default (the source image's own size).disk_size_gb(Optional[Integer[1]]), with aPROVISION_DISK_SIZE_GBenvironment variable fallback. The parameter wins, matchingmachine_type. A blank value counts as unset.disk_size_gbon each entry inVMs, and omitted when unset, so the request body is byte-for-byte unchanged for existing callers.platformvalues.Why
Following the
machine_typefix (#301), the PE 2026.0.0 jobs in puppetlabs-peadm are now running out of disk space on the default-sized boot disk. Raising the default would raise cost for every consumer of the service, so we want to size only the jobs that need it. Same approach asmachine_type.Depends on provision_service, and merge order matters
This only changes what the task sends.
puppetlabs/provision_service#448must be deployed to production first: the service reads onlycloud,images,region,zoneandmachine_typeper VM today, so an older service silently ignoresdisk_size_gband the job still gets the default disk size with no error.Rollout: deploy provision_service#448 (merge to
main, check thepuppetlabs-motdnightly against it, then pushmaintorelease, perdocs/production.md) -> merge this and cut a newprovisiontag -> bump theprovisionref in the consuming repo's.fixtures.yml-> setPROVISION_DISK_SIZE_GBonly on the jobs that need it.Testing
machine_typecoverage:disk_size_gbomitted by default and when blank, added for String/Array/Hash platforms, sent in the request body as an Integer,PROVISION_DISK_SIZE_GBfallback, parameter-over-environment precedence, blank values ignored, and passthrough from.run. The existingmachine_type-only specs (.run, env-isolationaroundblock) are extended rather than duplicated.rspec -Ilib -Ispec(bundler can't resolve this machine's installed gem set; needed to installwebmocklocally first) — 37 examples, 0 failures.With Litmus, which cannot pass extra task parameters, set
provision_disk_size_gbunderparamsinprovision.yaml(forlitmus:provision_list) orPROVISION_DISK_SIZE_GBin the job's environment.🤖 Generated with Claude Code