A short introduction to Ansible - T-DOSE 2012

Hi,

I did a presentation about Ansible two days ago at T-DOSE 2012 and the slides are available from:

     https://speakerdeck.com/dagwieers/a-short-introduction-to-ansible

I learned from the presentation that we should probably do a small demo before showing the architecture and the list of modules to keep people more focused, otherwise it's a bit too abstract for too long for new users.

Obviously the examples we showed and the short demo were the exciting bits.

In three other presentations Ansible was mentioned as well, so it was a good day for Ansible in Eindhoven, NL :wink:

Based on the feedback we got and my ambitions with ansible-provisioning,
I think we should start adding self-contained examples on the wiki based on ansible-provisioning for KVM and VirtualBox so people can set up and run a demo environment by simply running a sample playbook on their systems.

If ansible-playbook would be capable of running playbooks and inventories from URLs, we could make it very attractive to get people started very quickly on scratch-environments with a single command.

     ansible-playbook http://ansible.cc/demo/go-vbox.yml
or
     ansible-playbook http://ansible.cc/demo/go-kvm.yml

where this would use the localhost and/or user for provisioning a system over the internet (e.g. minimal centos system).

Excellent.

Before we do this, there are some things ansible-provisioning needs to do:

(A) include some templates for pxelinux.cfg
(B) remove the usage of "CMDB" variables -- I don't care what they are
actually called, but lots of people don't use CMDBs.

The other thing I miss, relative to Cobbler, is the lack of a
persistant record about what you installed.

For instance, if I launch a system, it doesn't create an inventory
record, therefore I don't have a place to go back and change the IP
address in DNS, nor can I easily browse what I've created.

I would really like to see something like an ansible-provision command
line, that takes a playbook and some parameters, and then is able
to use results from calling ansible to create a host record.

Now, to do that, we really need an inventory file that is readable and
writeable, which I think I can work on making it work in both
directions.

I believe we can do that. For external inventory scripts, perhaps it
takes a "ansible-inventory --write-host <host>" and stdin contains the
JSON
variable information about those hosts? I don't know.

Anyway, to me, I'm still trying to reconcile the holes between Cobbler
inventory and Ansible. I know if we can get there, it will be
amazing.

So this, in my opinion, is the #1 challenge for Ansible provisioning
to solve -- make the creation of hosts that need to appear in
inventory for later
management more fluid, and make it so that you never have to precreate
hosts in inventory.

Hi,

I did a presentation about Ansible two days ago at T-DOSE 2012 and the
slides are available from:

    https://speakerdeck.com/dagwieers/a-short-introduction-to-ansible

I learned from the presentation that we should probably do a small demo
before showing the architecture and the list of modules to keep people more
focused, otherwise it's a bit too abstract for too long for new users.

What I did for mine was kept jumping between Keynote and a VM for
showing examples.

But yes, the PyCon audience was not familiar with configuration
management much in general, so I jumped in too fast also.

If ansible-playbook would be capable of running playbooks and inventories
from URLs, we could make it very attractive to get people started very
quickly on scratch-environments with a single command.

    ansible-playbook http://ansible.cc/demo/go-vbox.yml
or
    ansible-playbook http://ansible.cc/demo/go-kvm.yml

We'd ideally want all the provisioning modules in core for that to
happen as well :slight_smile:

That time will likely come, though I want to solve some of those core
questions (in other email) first.

What I did for mine was kept jumping between Keynote and a VM for
showing examples.

I wouldn't want to jump in and out -- that can get messy and I don't
like watching people do that in presentations :slight_smile:

How about a short and sweet video of a screencast? Something that could
be embedded into a Keynote (or other) presentation? Maybe a minute or
max two. What should it show?

        cat hosts
        cat playbook
        ansible-playbook

Ideas?

And while I'm at it: I'd be willing to try and do that to share. I've
got a talk on Ansible coming up early November at the NLUUG in Ede, NL
and that would fit in nicely.

You haven't seen me do a live demo yet :slight_smile:

I made a short screencast this past weekend (4m11sec). Although the title is “Agile test environment demo”, but ansible is explicitly pointed out both in the Description and half way into the screencast. Some ansible actions are also displayed in the screencast too (but only developers can tell :slight_smile:

This is the first one in a two-part series of CI + agile test enviornment screencasts that I am making. Please take a look. Suggestions for improvements welcome!

Best,

Chin Fang

What I did for mine was kept jumping between Keynote and a VM for
showing examples.

I wouldn’t want to jump in and out – that can get messy and I don’t
like watching people do that in presentations :slight_smile:

You haven’t seen me do a live demo yet :slight_smile: