A 45 minute overview of the what, where, how, and why of using Ansible. Covers alternatives, what Ansible is, what Ansible's dependencies are, jargon pertaining to Ansible, and what it can do to make your life easier. Also includes some tips and tricks for everyday use.
Charles Yost is currently a Security Developer at Binary Defense Systems. He has worked in the IT industry for over 10 years in a wide variety of roles including: Printer Technician, VoIP Systems Administrator, .Net Developer, and Web Developer. Throughout life his number one passion has been learning new skills. He can often be found researching a topic, attempting to keep up with the quickly evolving field of technology. Charles enjoys teaching and talking to others about technology. He is a member of NEOISF, and attends as many InfoSec conferences as he can justify with his wife.
You can find our booth right outside the door after this talk. As well as our sister company: TrustedSec.
Twitter: @CHARLESLYOST
GitHub & YouTube: Yoshi325
This Talk:
https://github.com/Yoshi325/talks-ansible
Who already knows about Ansible?
Who has done development in python before?
Here are some alternatives:
Many differences exist between
these alternatives and Ansible.
We will review those differences later.
DevOps made simple.
Deploy apps. Manage systems. Crush complexity.
Ansible is a powerful automation tool that you can learn quickly.
Ansible is a free software platform for configuring and managing computers. It combines multi-node software deployment, ad hoc task execution, and configuration management.
A way to maintain sanity in the complex and ever-changing world of system configuration.
It was named "Ansible" after the fictional instantaneous hyperspace communication system featured in Orson Scott Card's Ender's Game, and originally invented by Ursula K. Le Guin for her 1966 novel Rocannon's World."
Also, Releases are named after Van Halen songs.
Linux or Mac
SSH
Python (2.6 or later)
Linux, Mac, or Windows
SSH or PowerShell
Python (2.4 or later)
Thats it.
Galaxy
Tower (Optional!)
Ansible Is:
And It:
Rackspace Cloud Servers, OpenStack,
DigitalOcean Droplets, CloudStack,
Eucalyptus Cloud, AWS, VMware, and KVM
How-To iterate over a list from a shell command:
shell: /command/which/generates/lines
register: output
...
when: item not in output.stdout_lines
Store host specific variables in a host_vars folder.
To only run a task when a list is NOT empty.
when: list|length > 0
If your task hangs forever and is using sudo, confirm that you passed the:
--ask-sudo-pass
comand line option when you ran ansible.
There are two ways to structure variables:
networking.interface.ip
networking_interface_ip
when you set a value somewhere else, it will replace the entire dictionary. It does not merge it.
Chef
Puppet
Salt/SaltStack
Insanely complete Ansible playbook, showing off all the options
Insanely complete Ansible playbook, showing off all the options | marktheunissen's fork
Install Ansible, Create Your Inventory File, and Run an Ansible Playbook and Some Ansible Commands
Ansible (Real Life) Good Practices