master.yml #1

  • //
  • guest/
  • russell_jackson/
  • ansible-sdp/
  • roles/
  • perforce-sdp-install/
  • tasks/
  • cron/
  • master.yml
  • View
  • Commits
  • Open Download .zip Download (1 KB)
---
# 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.