Skip to content

(MODULES-11982) Stagger nightly cron to 02:50 UTC - #659

Merged
imaqsood merged 1 commit into
mainfrom
MODULES-11982-stagger-nightly
Oct 14, 2026
Merged

imaqsood merged 1 commit into
mainfrom
MODULES-11982-stagger-nightly

Conversation

@imaqsood

Copy link
Copy Markdown

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

Summary

Moves the puppetlabs-haproxy nightly workflow from 0 0 * * * to 50 2 * * * (02:50 UTC). Only the cron: line in .github/workflows/nightly.yml changes; the triggers and jobs are untouched.

.sync.yml also records the slot as cron: '50 2 * * *' under .github/workflows/nightly.yml, to keep it in step with the hand-maintained nightly.yml (as asked for in the wave-1 review). PDK ignores the key until pdk-templates supports it (puppetlabs/pdk-templates#677).

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 12 VM jobs per night. Slots avoid :00 because GitHub delays top-of-hour schedules the most.
  • This PR is part of wave 2a (16 Linux/cross-platform modules). Wave 1, the 12 heaviest modules, is MODULES-11968 and still in review; please merge this after the wave-1 PRs land.

Related Issues (if any)

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 02:50 UTC)
  • Manually verified: exactly one cron line changed in nightly.yml, plus one cron: line in .sync.yml. Both files parse with ruby -ryaml, and the parsed values equal 50 2 * * *.

🤖 Generated with Claude Code

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 requested review from a team and bastelfreak as code owners October 14, 2026 11:04

@span786 span786 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

LGTM. Cron-only change: nightly moves from 00:00 UTC to 02:50 UTC, matching in .github/workflows/nightly.yml and .sync.yml.

@imaqsood
imaqsood merged commit 700afae into main Oct 14, 2026
36 checks passed
@imaqsood
imaqsood deleted the MODULES-11982-stagger-nightly branch October 14, 2026 14:22
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