openstack-ansible/playbooks/roles/system_crontab_coordination
git-harry e148635e78 Add role system-crontab-coordination
Currently every host, both containers and bare metal, has a crontab
configured with the same values for minute, hour, day of week etc. This
means that there is the potential for a service interruption if, for
example, a cron job were to cause a service to restart.

This commit adds a new role which attempts to adjust the times defined
in the entries in the default /etc/crontab to reduce the overlap
between hosts.

Change-Id: I18bf0ac0c0610283a19c40c448ac8b6b4c8fd8f5
Closes-bug: #1424705
2015-06-30 10:06:11 +01:00
..
defaults Add role system-crontab-coordination 2015-06-30 10:06:11 +01:00
meta Add role system-crontab-coordination 2015-06-30 10:06:11 +01:00
tasks Add role system-crontab-coordination 2015-06-30 10:06:11 +01:00
templates Add role system-crontab-coordination 2015-06-30 10:06:11 +01: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

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).