2012-03-10 03:50:00 +01:00
|
|
|
Downloads & Getting Started
|
|
|
|
===========================
|
2012-03-07 17:35:18 +01:00
|
|
|
|
2012-03-08 19:36:47 +01:00
|
|
|
How to download ansible and get started using it
|
2012-03-07 17:35:18 +01:00
|
|
|
|
|
|
|
.. seealso::
|
|
|
|
|
2012-03-08 19:36:47 +01:00
|
|
|
:doc:`examples`
|
|
|
|
Examples of basic commands
|
|
|
|
:doc:`playbooks`
|
|
|
|
Learning ansible's configuration management language
|
|
|
|
|
|
|
|
Requirements
|
|
|
|
````````````
|
|
|
|
|
2012-03-09 04:50:00 +01:00
|
|
|
Requirements for Ansible are extremely minimal.
|
2012-03-08 19:36:47 +01:00
|
|
|
|
2012-03-09 20:39:29 +01:00
|
|
|
If you are running python 2.6 on the **overlord** machine (the machine
|
|
|
|
that you'll be talking to the other machines from), you will need:
|
2012-03-08 19:36:47 +01:00
|
|
|
|
|
|
|
* ``paramiko``
|
|
|
|
* ``PyYAML``
|
|
|
|
* ``python-jinja2`` (for playbooks)
|
|
|
|
|
|
|
|
If you are running less than Python 2.6, you will also need:
|
|
|
|
|
|
|
|
* The Python 2.4 or 2.5 backport of the ``multiprocessing`` module
|
|
|
|
|
|
|
|
- `Installation and Testing Instructions <http://code.google.com/p/python-multiprocessing/wiki/Install>`_
|
|
|
|
|
|
|
|
* ``simplejson``
|
|
|
|
|
|
|
|
On the managed nodes, to use templating, you will need:
|
|
|
|
|
|
|
|
* ``python-jinja2`` (you can install this with ansible)
|
|
|
|
|
|
|
|
Developer Requirements
|
|
|
|
``````````````````````
|
|
|
|
|
|
|
|
For developers, you may wish to have:
|
|
|
|
|
|
|
|
* ``asciidoc`` (for building manpage documentation)
|
2012-03-09 04:50:00 +01:00
|
|
|
* ``python-sphinx`` (for building content for the ansible.github.com project only)
|
2012-03-08 19:36:47 +01:00
|
|
|
|
|
|
|
|
|
|
|
Getting Ansible
|
|
|
|
```````````````
|
|
|
|
|
|
|
|
Tagged releases are available as tar.gz files from the Ansible github
|
|
|
|
project page:
|
|
|
|
|
|
|
|
* `Ansible/downloads <https://github.com/ansible/ansible/downloads>`_
|
|
|
|
|
|
|
|
You can also clone the git repository yourself and install Ansible in
|
|
|
|
one of two ways:
|
|
|
|
|
|
|
|
|
|
|
|
Python Distutils
|
|
|
|
++++++++++++++++
|
|
|
|
|
|
|
|
You can also install Ansible using Python Distutils::
|
|
|
|
|
|
|
|
$ git clone git://github.com/ansible/ansible.git
|
|
|
|
$ cd ./ansible
|
|
|
|
$ sudo make install
|
|
|
|
|
|
|
|
Via RPM
|
|
|
|
+++++++
|
|
|
|
|
2012-03-09 20:39:29 +01:00
|
|
|
In the near future, pre-built RPMs will be available through your
|
|
|
|
distribution. Until that time you can use the ``make rpm`` command::
|
2012-03-08 19:36:47 +01:00
|
|
|
|
|
|
|
$ git clone git://github.com/ansible/ansible.git
|
|
|
|
$ cd ./ansible
|
|
|
|
$ make rpm
|
|
|
|
$ sudo rpm -Uvh ~/rpmbuild/RPMS/noarch/ansible-1.0-1.noarch.rpm
|
|
|
|
|
|
|
|
Your first commands
|
|
|
|
```````````````````
|
|
|
|
|
2012-03-09 20:39:29 +01:00
|
|
|
Edit /etc/ansible/hosts and put one or more remote systems in it, for
|
|
|
|
which you have your SSH key in ``authorized_keys``::
|
2012-03-08 19:36:47 +01:00
|
|
|
|
|
|
|
192.168.1.50
|
|
|
|
aserver.example.org
|
|
|
|
bserver.example.org
|
|
|
|
|
2012-03-09 05:05:52 +01:00
|
|
|
Set up SSH agent to avoid retyping passwords::
|
2012-03-08 19:36:47 +01:00
|
|
|
|
|
|
|
ssh-agent bash
|
|
|
|
ssh-add ~/.ssh/id_rsa
|
2012-03-09 05:05:52 +01:00
|
|
|
|
|
|
|
Now ping all your nodes::
|
|
|
|
|
2012-03-08 19:36:47 +01:00
|
|
|
ansible all -m ping
|
|
|
|
|
2012-03-09 05:05:52 +01:00
|
|
|
Now run a live command on all of your nodes::
|
|
|
|
|
|
|
|
ansible all /bin/echo hello
|
|
|
|
|
2012-03-09 20:39:29 +01:00
|
|
|
Congratulations. You've just contacted your nodes with Ansible. It's
|
|
|
|
now time to read some of the more real-world examples, and explore
|
|
|
|
what you can do with different modules, as well as the Ansible
|
|
|
|
playbooks language. Ansible is not just about running commands, but
|
|
|
|
you already have a working infrastructure!
|
2012-03-08 19:36:47 +01:00
|
|
|
|
2012-03-09 20:39:29 +01:00
|
|
|
|
|
|
|
.. seealso::
|
|
|
|
|
|
|
|
:ref:`Inventory <inventoryformat>`
|
|
|
|
Complete documentation on the inventory file format
|