Merge branch 'master' of github.com:mpdehaan/ansible

pull/3/head
Michael DeHaan 13 years ago
commit 4a3a5fb685

@ -24,28 +24,28 @@ and the source will be blindingly obvious.
Design Principles Design Principles
================= =================
* Dead simple setup * Dead simple setup
* Super fast & parallel by default * Super fast & parallel by default
* No server or client daemons; use existing SSHd * No server or client daemons; use existing SSHd
* No additional software required on client boxes * No additional software required on client boxes
* Modules can be written in ANY language * Modules can be written in ANY language
* Awesome API for creating very powerful distributed scripts * Awesome API for creating very powerful distributed scripts
* Be usable as non-root * Be usable as non-root
* Create the easiest config management system to use, ever. * Create the easiest config management system to use, ever.
Requirements Requirements
============ ============
For the server the tool is running from, *only*: For the server the tool is running from, *only*:
* paramiko * paramiko
* python 2.6 (or the 2.4/2.5 backport of the multiprocessing module) * python 2.6 (or the 2.4/2.5 backport of the multiprocessing module)
* PyYAML (only if using playbooks) * PyYAML (only if using playbooks)
Optional -- If you want to push templates, the nodes need a template library, Optional -- If you want to push templates, the nodes need a template library,
which for bonus points you can install with ansible! Easy enough. which for bonus points you can install with ansible! Easy enough.
* python-jinja2 * python-jinja2
Inventory file Inventory file
============== ==============
@ -67,9 +67,9 @@ Massive Parallelism, Pattern Matching, and a Usage Example
Reboot all web servers in Atlanta, 10 at a time: Reboot all web servers in Atlanta, 10 at a time:
* ssh-agent bash ssh-agent bash
* ssh-add ~/.ssh/id_rsa.pub ssh-add ~/.ssh/id_rsa.pub
* ansible -p "atlanta-web*" -f 10 -n command -a "/sbin/reboot" ansible -p "atlanta-web*" -f 10 -n command -a "/sbin/reboot"
Other than the comamnd module, though, ansible modules are not scripts. They make Other than the comamnd module, though, ansible modules are not scripts. They make
the remote system look like you state, and run the commands neccessary to get it the remote system look like you state, and run the commands neccessary to get it
@ -80,7 +80,7 @@ File Transfer
Ansible can SCP lots of files to lots of places in parallel. Ansible can SCP lots of files to lots of places in parallel.
* ansible -p "web-*.acme.net" -f 10 -n copy -a "/etc/hosts /tmp/hosts" ansible -p "web-*.acme.net" -f 10 -n copy -a "/etc/hosts /tmp/hosts"
Templating Templating
========== ==========
@ -88,9 +88,9 @@ Templating
JSON files can be placed for template metadata using Jinja2. Variables JSON files can be placed for template metadata using Jinja2. Variables
placed by 'setup' can be reused between ansible runs. placed by 'setup' can be reused between ansible runs.
* ansible -p "*" -n setup -a "ntp_server=192.168.1.1" ansible -p "*" -n setup -a "favcolor=red ntp_server=192.168.1.1"
* ansible -p "*" -n template /srv/motd.j2 /etc/motd ansible -p "*" -n template /srv/motd.j2 /etc/motd
* ansible -p "*" -n template /srv/foo.j2 /etc/foo ansible -p "*" -n template /srv/ntp.j2 /etc/ntp.conf
Very soon, templates will be able to also include facter and ohai Very soon, templates will be able to also include facter and ohai
variables. variables.
@ -100,7 +100,7 @@ Git Deployments
Deploy your webapp straight from git Deploy your webapp straight from git
* ansible -p "web*" -n git -a "repo=git://foo dest=/srv/myapp version=HEAD" ansible -p "web*" -n git -a "repo=git://foo dest=/srv/myapp version=HEAD"
Take Inventory Take Inventory
============== ==============
@ -108,8 +108,8 @@ Take Inventory
Run popular open-source data discovery tools across a wide number of hosts. Run popular open-source data discovery tools across a wide number of hosts.
This is best used from API scripts that want to learn about remote systems. This is best used from API scripts that want to learn about remote systems.
* ansible -p "dbserver*" -n facter ansible -p "dbserver*" -n facter
* ansible -p "dbserver"" -n ohai ansible -p "dbserver"" -n ohai
Other Modules Other Modules
============= =============
@ -126,29 +126,29 @@ together, and can even fire off triggers when certain commands report changes.
They are the basis for a really simple configuration management system, unlike They are the basis for a really simple configuration management system, unlike
any that already exist. Powerful, concise, but dead simple. any that already exist. Powerful, concise, but dead simple.
See examples/playbook.yml for what the syntax looks like. See examples/playbook.yml for what the syntax looks like, and the manpage -- ansible-playbook(5) for more details.
To run a playbook: To run a playbook:
ansible -r playbook.yml ansible -r playbook.yml
Read ansible-playbook(5) for more details.
Future plans Future plans
============ ============
* see github's issue tracker for what we're thinking about See github's issue tracker for what we're thinking about
License License
======= =======
* MIT MIT
Mailing List Mailing List
============ ============
* Join the mailing list to talk about Ansible! Join the mailing list to talk about Ansible!
* [ansible-project](http://groups.google.com/group/ansible-project)
[ansible-project](http://groups.google.com/group/ansible-project)
Author Author
====== ======

Loading…
Cancel
Save