You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/rst/gettingstarted.rst

143 lines
3.9 KiB
ReStructuredText

Downloads & Getting Started
===========================
13 years ago
How to download ansible and get started using it
13 years ago
Requirements
````````````
13 years ago
Requirements for Ansible are extremely minimal.
13 years ago
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:
13 years ago
* ``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 easily install this using ansible)
13 years ago
Getting Ansible
```````````````
As the project is still pretty new, you will probably want to clone
the git checkout, so you can keep up with all of the latest features,
and also contribute easily back to the project (if you want).
Instructions for installing from source are below.
13 years ago
You may also wish to follow the `Github project <https://github.com/ansible/>`_ if
you have a github account. This is also where we keep the issue tracker for sharing
bugs or feature ideas.
13 years ago
Running From Checkout
+++++++++++++++++++++
Ansible is trivially easy to run from a checkout, root permissions are not required
to use it::
$ git clone git://github.com/ansible/ansible.git
$ cd ./ansible
$ source ./hacking/env-setup
You can optionally specify an inventory file other than /etc/ansible/hosts::
$ cat "127.0.0.1" > ~/ansible_hosts
$ export ANSIBLE_HOSTS=~/ansible_hosts
Now let's test things::
$ ansible all -m ping --ask-pass
13 years ago
Make Install
++++++++++++
You can install Ansible using "make install". This is done through `python-distutils`::
13 years ago
$ git clone git://github.com/ansible/ansible.git
$ cd ./ansible
$ sudo make install
13 years ago
Via RPM
+++++++
In the near future, pre-built RPMs will be available through your
distribution. Until that time, you can use the ``make rpm`` command::
13 years ago
$ git clone git://github.com/ansible/ansible.git
$ cd ./ansible
$ make rpm
$ sudo rpm -Uvh ~/rpmbuild/RPMS/noarch/ansible-*.noarch.rpm
Note that if you are tracking the upstream source (i.e. git), the RPM revision may not be
bumped with every source code change. To get around this, you can use
rpm `-Uvh` with `--force` when RPM tells you the package is still at the
same version. This is perfectly safe to do.
Tagged Releases
+++++++++++++++
Tagged releases are available as tar.gz files from the Ansible github
project page:
* `Ansible/downloads <https://github.com/ansible/ansible/downloads>`_
At this point in Ansible's development, running or building from checkout is preferred
if you want access to all of the latest modules and improvements.
13 years ago
Your first commands
```````````````````
Edit (or create) /etc/ansible/hosts and put one or more remote systems in it, for
which you have your SSH key in ``authorized_keys``::
13 years ago
192.168.1.50
aserver.example.org
bserver.example.org
Set up SSH agent to avoid retyping passwords::
13 years ago
ssh-agent bash
ssh-add ~/.ssh/id_rsa
Now ping all your nodes::
13 years ago
ansible all -m ping
Now run a live command on all of your nodes::
ansible all -a "/bin/echo hello"
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
what you can do with different modules, as well as the Ansible
:doc:`playbooks` language. Ansible is not just about running commands, but
you already have a working infrastructure!
13 years ago
.. seealso::
:doc:`examples`
Examples of basic commands
:doc:`playbooks`
Learning ansible's configuration management language
`Mailing List <http://groups.google.com/group/ansible-project>`_
Questions? Help? Ideas? Stop by the list on Google Groups
`irc.freenode.net <http://irc.freenode.net>`_
#ansible IRC chat channel