---
# Cron jobs for the master server.
- name: "Weekly maintenance"
ansible.builtin.cron:
name: "Weekly maintenance on the master. Be sure to set up the maintenance.cfg file."
minute: "0"
hour: "6"
weekday: "6"
job: "/p4/common/bin/run_if_master.sh ${INSTANCE} /p4/sdp/Maintenance/maintenance ${INSTANCE}"
- name: "Unlock master"
ansible.builtin.cron:
name: "Unlock Master"
minute: "0"
hour: "*/6"
job: "/p4/common/bin/run_if_master.sh ${INSTANCE} p4 unlock -x > /dev/null 2>&1"
- name: "Update limits"
ansible.builtin.cron:
name: "Update limits"
minute: "*/10"
job: "/p4/common/bin/run_if_master.sh ${INSTANCE} /p4/common/bin/update_limits.py ${INSTANCE}"
- name: "Verify shelves"
ansible.builtin.cron:
name: "Verify Shelves"
minute: "*/15"
job: "/p4/common/bin/run_if_master.sh ${INSTANCE} /p4/common/bin/verify_shelves.sh ${INSTANCE} 100"
# Replaces the twelve individual 00:00..22:00 entries: minute 5, every 2nd hour.
- name: "Journal rotation (every two hours)"
ansible.builtin.cron:
name: "Journal Rotation"
minute: "5"
hour: "*/2"
job: "/p4/common/bin/run_if_master.sh ${INSTANCE} /p4/common/bin/rotate_journal.sh ${INSTANCE}"
- name: "Daily checkpoint"
ansible.builtin.cron:
name: "Daily Checkpoint"
minute: "5"
hour: "5"
job: "/p4/common/bin/run_if_master.sh ${INSTANCE} /p4/common/bin/daily_checkpoint.sh ${INSTANCE}"
| # | Change | User | Description | Committed | |
|---|---|---|---|---|---|
| #1 | 32842 | Russell C. Jackson (Rusty) |
Reorganize ansible-sdp into per-concern task files; ansible-lint production-clean - Split install.yml/cron.yml/dependencies.yml and the monitoring role into thin orchestrators plus single-purpose phase files; extract shared steps into tasks/common/ (fetch_sdp, fetch_binaries, run_mkdirs, copy_ssl, configure_broker, sudoers). - Full best-practices pass: FQCN, true/false, quoted modes, changed_when, loops, document-start markers; fill both roles' meta; add .ansible-lint. - RedHat parity: parameterized EPEL enable, dnf, full upgrade, sysctl/bbr tuning. - Collapse the 12 journal-rotation cron tasks to one; consolidate duplicate download/broker logic; fix broken tests/test.yml role reference. - Validated ansible-lint clean at the production profile (ansible-core 2.21 / python 3.12) and ansible-playbook --syntax-check OK. |