OpenVZ Playbooks
ansible playbooks/files/etc repository for OpenVZ infrastructure: {bugzilla,ci,docs,download,forum,git,lists,mirrors,planet,stats,store,vault,www,wiki}.openvz.org
OpenVZ is a powerful, easy to use, cost effective server virtualization solution that empowers PC users with the ability to create completely networked, fully portable, entirely independent virtual machines and Containers on a single physical machine.
Using
Try out availability of servers:
$ ansible all -i production -a "/bin/echo hello"
In general to run any ansible playbook you will want to run:
$ ansible-playbook site.yml -i stage
$ ansible-playbook site.yml -i stage --limit mirrors
Gather facts on OpenVZ GIT server:
$ ansible -i production -m setup git
Scheduled check-diff
Every night a cron job runs over all playbooks under playbooks/{groups}{hosts} with the ansible --check --diff options. A report from this is sent to sysadmins. In the ideal state this report would be empty.
Idempotency
All playbooks should be idempotent. Ie, if run once they should bring the machine(s) to the desired state, and if run again N times after that they should make 0 changes (because the machine(s) are in the desired state). Please make sure your playbooks are idempotent.
Can be run anytime
When a playbook or change is checked into ansible you should assume that it could be run at ANY TIME. Always make sure the checked in state is the desired state. Always test changes when they land so they don't surprise you later.
Infrastructure of other open source projects
- Fedora Linux: code, documentation, site, wiki
- Gentoo Linux: documentation
- Wikimedia: wiki, code, blog
- OpenStreetMap: wiki
- OpenStack: wiki, code
- Mageia Linux: code, wiki
- Mozilla: code