Ansible

Ansible is a configuration management system written in Python. It can be used for automating machine deployments.

Emerge
Install :

Configuration
The app-admin/ansible-1.9.6 ebuild will not generate the basic configuration. The default inventory file is named. It should be created in the directory:

This file contains the managed computers organized in groups.

With  and   remote users and ssh ports can be specified per hosts. From 2.0 version they are deprecated, use  and   instead.

The first two lines are crucial to explicitly set Ansible's python interpreter for all hosts, Ansible only works with python 2.7, and even is the  flag is set, it will use the system's python by default. It is unnecessary if the system python is version 2.7, but still recommended to avoid unexpected failure if you change it.

To show current ansible configuration, issue:

Roles for Gentoo
Over 40 roles specifically for Gentoo can be found in the https://github.com/gentoo-ansible project.

Usage
Check if ansible can manage remote machine with given user:

Get info from remote machine, what can be used later in playbooks:

Run on evapc under myuser via :

The command can be used to read module documentation. For example, to list available modules:

To print out info about the ping module: