Install it in the master node
# apt-get install ansible
add a section to /etc/ansible/hosts
[slaves] d510 d610
Ping them (make sure you have ssh keys setup in authorized_keys)
# ansible -m ping -u root all d510 | success >> { "changed": false, "ping": "pong" } d610 | success >> { "changed": false, "ping": "pong" }
A first play file using apt to install some packages in the “slaves”
--- - name : first play hosts: slaves user: root tasks: # - name: install gcc # apt: pkg=gcc state=present # - name: install nginx # apt: pkg=nginx state=present - name: install findx copy: src=/usr/bin/findx dest=/usr/bin/findx owner=root group=root mode=755 - name: install common packages action: apt pkg={{item}} state=installed with_items: - motion - nginx
Running it…
# ansible-playbook play.yml PLAY [first play] ************************************************************* GATHERING FACTS *************************************************************** ok: [d510] ok: [d610] TASK: [install findx] ********************************************************* ok: [d610] ok: [d510] TASK: [install common packages] *********************************************** ok: [d610] => (item=motion,nginx) ok: [d510] => (item=motion,nginx) PLAY RECAP ******************************************************************** d510 : ok=3 changed=0 unreachable=0 failed=0 d610 : ok=3 changed=0 unreachable=0 failed=0