10/29 austin ansible meetup - ansiblefest talk & extending ansible

27
AnsibleFest San Francisco & Extending Ansible A presentation by Tyler Turk

Upload: tylerturk

Post on 14-Jun-2015

228 views

Category:

Technology


2 download

DESCRIPTION

A brief presentation on AnsibleFest SF 2014 and a quick discusison around the ease of extending ansible, specifically around writing a lookup plugin.

TRANSCRIPT

Page 1: 10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible

AnsibleFest San Francisco& Extending AnsibleA presentation by Tyler Turk

Page 2: 10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible

Who Am I?

The name is Turk. Tyler Turk.

DevOps Engineer at WP Engine

Loves linux, python, building tools, and automating stuff

Page 3: 10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible

State of Ansible - Oct 29

Ansible Galaxy updates

new 'ansible_version' variable available contains a dictionary of version info

monitoring: bigpanda - support for bigpanda

Page 4: 10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible
Page 5: 10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible

–Greg DeKoenigsberg, Ansible Community Guy

“Coffee is the most important meal of the day.”

Page 6: 10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible

A Quick Overview for AnsibleFest SF

3 times the number of folks in attendance

Ansible project is growing significantly

One track with 8 presentations

Page 7: 10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible

Opening - Michael DeHaan

Coming soon:

Fact caching

Line number reporting

Ansible Up & Running in Nov

Ansible 1.8 in Dec

Page 8: 10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible

890+ contributors to date

Top 100 most forked projects on GitHub (2400+)

At least 38% of forks result in contributions

Code blocks and try/except coming soon!

Presentation: https://speakerdeck.com/mpdehaan/1-dot-8

Page 9: 10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible

Breaking Up With Your Datacenter - Telescope TV

Significant spikes in traffic

Tinkered with multiple…:

Infrastructure Vendors

Automation Vendors

Page 10: 10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible

Puppet was too dependent

Chef was too needy

Ansible was a perfect match!

Page 11: 10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible

Leveraged build APIs and jinja2 templates heavily

Tag all the things! No really, tag them.

Uses AnsibleTower and loves it

Much more in control of their environment

Presentation: http://www.slideshare.net/Telescope_Inc/breaking-up-share-40275629

Page 12: 10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible

BigPanda & One Man Ops

How to run a one man ops team

Awesome use of hubot, hipchat, and ansible

I’d say more, but I don’t want to steal Dan’s thunder

Presentation: http://www.slideshare.net/chuparkoff/ansible-allthethings

Page 13: 10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible

Hacking Ansible - Brian Coca

SPOILER: Brian signed his offer letter to join the Ansible team on the morning of AnsibleFest San Francisco!

Known as bcoca on Freenode and active in #ansible

Deeper dive presentation on Ansible internals and extensibility

Page 14: 10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible

Extending Ansible is Easy!

Ansible is modular

Libraries!

Actions!

Caching!

Callbacks!

You name it!

Page 15: 10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible

Plugin development can be simple

Write up proper documentation

Make sure others benefit before submitting

Presentation: http://www.slideshare.net/bcoca/hacking-ansible

Page 16: 10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible

Ansible and Google Cloud Platform

Gave walkthrough and demo of Google services

Demonstrated integration with GCE services via modules

Demo was sabotaged by broken wireless

Page 17: 10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible

Wrote PTC agent for continuous deployment

Consumed messages from pub/sub

Continuous deployment!

Page 18: 10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible

Fun with Containers & Ansible

Short and sweet presentation about docker & ansible

Ansible can generate Dockerfiles

Ansible can provision docker instances

Presentation: http://www.slideshare.net/abadger1999/fun-withcontainers

Page 19: 10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible

Writing Roles: Tips & Tricks

Excellent presentation about role hierarchy

Ansible Galaxy is more than it seems

Tag all the things

Page 20: 10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible

Handler names must be unique

Task names should be unique, but isn’t mandatory

Excellent walkthrough of using galaxy

Presentation: http://www.slideshare.net/jimi-c/ansible-sf2014

Page 21: 10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible

Key Takeaways

Awesome features coming soon

Can achieve one-man ops

Extending ansible is simple

Page 22: 10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible

WP Engine’s Use Case

Needed to improve user management process

Wrote a front-end interface

Wrote a stupid simple plugin

Page 23: 10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible
Page 24: 10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible

Create directory in project root (lookup_plugins)

Write stupid simple plugin in that directory

Use with_{SCRIPT_NAME} in playbook

Profit!

Page 25: 10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible

Wait… That easy?

Yes. That’s it.

User management can now be handled with an API call

Page 26: 10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible

–Leo Tolstoy

“There is no greatness where there is no simplicity, goodness and truth.”

Page 27: 10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible

Thanks!

Twitter: @tylerjturk