Skip to content

(MODULES-11968) Stagger nightly cron to 01:05 UTC - #482

Open
imaqsood wants to merge 1 commit into
mainfrom
MODULES-11968-stagger-nightly
Open

imaqsood wants to merge 1 commit into
mainfrom
MODULES-11968-stagger-nightly

Conversation

@imaqsood

Copy link
Copy Markdown
Contributor

Strategy and full slot table: Supported modules: staggered nightly schedule

Summary

Moves the puppetlabs-java_ks nightly workflow from 0 0 * * * to 5 1 * * * (01:05 UTC). Only the cron: line in .github/workflows/nightly.yml changes; workflow_dispatch and the jobs are untouched.

Additional Context

  • Root cause: all 40 supported modules start their nightly at 00:00 UTC. That sends about 467 provision_service VM requests at once and hit the GCP FIREWALLS quota on 2026-10-01 (389 provision failures).
  • Approach: each module gets its own 15-minute slot between 00:05 and 04:50 UTC. Slots are weighted by VM count, so at most 4 nightlies and 50 VM requests start in any 30 minutes. This module has about 19 VM jobs per night. Slots avoid :00 because GitHub delays top-of-hour schedules the most.
  • This PR is part of wave 1, the 12 heaviest modules (about 231 of the 467 VM requests). Wave 2 (the other 28) follows once wave 1 lands.

Related Issues (if any)

  • Jira: MODULES-11968
  • Related: MODULES-11966 (CAT cleanup of leaked firewall rules), MODULES-11965 (provision retry; land this wave before or with it)

Checklist

  • 🟢 Spec tests. (Not affected; this PR's ci.yml run covers it)
  • 🟢 Acceptance tests. (The nightly itself only runs on schedule; check the first run after merge starts at 01:05 UTC)
  • Manually verified: exactly one cron line changed (plus the one .sync.yml line for managed modules). Both files parse with ruby -ryaml, and the parsed on.schedule[0].cron equals 5 1 * * *.

🤖 Generated with Claude Code

@imaqsood
imaqsood requested a review from a team as a code owner October 12, 2026 08:07

@bastelfreak bastelfreak left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aren't you missing the .sync.yml entry?

All supported modules ran their nightly at 00:00 UTC, so about 467
provision_service VM requests hit the GCP firewall-rule quota at once
(389 provision failures on 2026-10-01). Move this module to its own
15-minute slot in the 00:05-04:50 UTC window.

Also record the slot as `cron` in .sync.yml so it stays in step with
the hand-maintained nightly.yml (pdk ignores the key until
pdk-templates supports it).

Co-Authored-By: Claude <noreply@anthropic.com>
@imaqsood
imaqsood force-pushed the MODULES-11968-stagger-nightly branch from 257eb8a to 9cf0d97 Compare October 12, 2026 08:55
@imaqsood

Copy link
Copy Markdown
Contributor Author

Yes, thanks. I added cron: '5 1 * * *' under .github/workflows/nightly.yml in .sync.yml, matching the workflow (9cf0d97).

@imaqsood
imaqsood requested a review from bastelfreak October 12, 2026 08:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants