ansible/rst/gettingstarted.rst

115 lines
2.8 KiB
ReStructuredText
Raw Normal View History

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::
2012-03-12 02:20:30 +01:00
ansible all -a "/bin/echo hello"
2012-03-09 05:05:52 +01:00
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 :doc:`examples`, and explore
2012-03-09 20:39:29 +01:00
what you can do with different modules, as well as the Ansible
:doc:`playbooks` language. Ansible is not just about running commands, but
2012-03-09 20:39:29 +01:00
you already have a working infrastructure!
2012-03-08 19:36:47 +01:00
2012-03-09 20:39:29 +01:00
.. seealso::
:doc:`examples`
Examples of basic commands
:doc:`playbooks`
Learning ansible's configuration management language