openstack-ansible/playbooks/roles/system_crontab_coordination
Major Hayden c4d12eba1b Fix crontab errors on CentOS/SUSE
CentOS comes with a default empty crontab file that is fine for
most deployers. It also lacks the `--report` option for `run-parts`
that Ubuntu has.

SUSE doesn't have run-parts at all.

This causes the server administrator to receive emails with errors
from cron on a regular basis. This patch limits the crontab
deployment to Ubuntu only and skips CentOS/SUSE hosts.

Closes-Bug: 1732762
Change-Id: Iba714e1e20e1a27b1a5bb58a714dee3916faba8f
2017-12-04 14:57:29 +00:00
..
defaults Add role system-crontab-coordination 2015-06-30 10:06:11 +01:00
meta Remove Ubuntu Trusty Support 2016-12-13 17:35:49 +00:00
tasks Fix crontab errors on CentOS/SUSE 2017-12-04 14:57:29 +00:00
templates Change the variable name play_hosts to ansible_play_hosts 2017-06-25 11:39:22 -04:00
LICENSE Add role system-crontab-coordination 2015-06-30 10:06:11 +01:00
README.md Add role system-crontab-coordination 2015-06-30 10:06:11 +01:00

README.md

Role Name

This role is designed to co-ordinate the values specified in /etc/crontab. If multiple hosts are providing the same service, there is the potential that a cron job could cause an impact if all hosts have the same schedule. This role attempts to distribute the times set so that the hosts have different schedules.

Requirements

Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.

Role Variables

A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.

Dependencies

A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.

Example Playbook

Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:

- hosts: servers
  roles:
     - { role: system_crontab_coordination , hour_start: 20, hour_end: 6, day_of_week_start: 6, day_of_week_end: 0}

License

Apache 2.0

Author Information

An optional section for the role authors to include contact information, or a website (HTML is not allowed).