Getting Started

How to download ansible and get started using it

See also

Examples
Examples of basic commands
YAML Scripts
Complete documentation of the YAML syntax ansible understands for playbooks.
Playbooks
Learning ansible’s configuration management language
Ansible Modules
Learn about modules that ship with ansible

Requirements

Requirements are extremely minimal.

If you are running python 2.6 on the overlord machine, you will need:

  • paramiko
  • PyYAML
  • python-jinja2 (for playbooks)

If you are running less than Python 2.6, you will also need:

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)
  • python-sphinx (for building content for ansible.github.com)

Getting Ansible

Tagged releases are available as tar.gz files from the Ansible github project page:

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

In the near future, pre-built RPMs will be available through your distribution. Until that time you can use the make rpm command:

$ 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

Edit /etc/ansible/hosts and put one or more remote systems in it, for which you have your SSH key in authorized_keys:

192.168.1.50
aserver.example.org
bserver.example.org

Now try this:

ssh-agent bash ssh-add ~/.ssh/id_rsa ansible all -m ping

Congratulations. You’ve just contacted your nodes with Ansible. It’s now time to read some of the more real-world examples.

Table Of Contents

Previous topic

Ansible

Next topic

Patterns

This Page