Ansible 1.0 released!
Ansible 1.0 is a major milestone in the development of Ansible.cc.
We have added 6 great new modules:
- pacman (package management for Arch linux)
- apt_key for installing new apt signing keys (Debian/Ubuntu)
- ec2_facts which contact the EC2 metadata service
- hg (Mercurial)
- pkgin (package management for Joyent Smart OS)
We have also acquired a wide variety of useful new features. Some of the highlights include:
- Support for alternative sudo implementations
- New conditionals ‘when_failed’ and ‘when_changed’
- Being able to change the connection type in the middle of a playbook
- Task includes of infinite depth
- If you want hashes to “merge” instead of override each other when names collide, you can now configure that in the configuration file.
- Hostnames in the inventory file can now be indicated by alphabetic in addition to the previous numeric sequencing
- Inventory scripts can now define nested groups, just like the text file versions of inventory representations.
This release also includes numerous new flags to the various modules in Ansible, including:
- The ability to use the ‘raw’ module without a Python stack
- fixes to service detection, particularly on Ubuntu
- various improvements to the logic of the git module
- more data returned for the shell and command modules
- Various fixes around path expansion and relative path handling
The template engine also got a little smarter, making new variables like $template_name and $template_run_date available to annotate rendered templates. Previously we had, and still have, variables like $ansible_managed that also help with this purpose.
The EC2 module has gotten a lot of love, in particular from our friends at Eucalyptus Systems and Seth Vidal from the Fedora Project. It can now deploy multiple simultaneous instances and now is powered by boto, an excellent EC2 python library.
Ansible has a major player in the open source configuration management and orchestration space too. Just this week we’ve passed the 1000 star/follower mark on github and even more impressively were recognized by Black Duck Software as one of their 2012 “Rookies of the Year” projects. Over 10,000 people have seen the Ansible webpage in the last month. We’re currently one of the top watched Python projects on github this month too. Exciting times, that I could not have predicted.
I think there’s a couple reasons for that. (A) we are really liberating people by making it easy for them to handle hard to automate IT tasks and bringing some new capabilities that we previously not there before anywhere else, and (B) we have a really friendly, inclusive community that helps people of all skill levels and shares similar aesthetics about how to help each other. We grow stronger from our collective knowledge.
Thanks very much to everyone who has made this release, and all previous releases possible — whether it’s contributing a documentation fix, adding a new module, fixing a bug, contributing a core feature, helping a fellow user on IRC or the mailing list, or helping spread ansible at a local meetup, this is very much a community project, made for everyone.
Contributors to this release with a change in git include: Daniel Hokka Zakrisson (79), Stephen Fromm (26), Michel Blanc (10), Dag Wieers (10), Tim Gerla (7), Seth Vidal (7), Jan-Piet Mens (7), Brian Coca (6), fdavis (5), Shaun Zinck (5), Gregory Duchatelet (5), Silviu Dicu (4), Norman J. Harman Jr (4), Lester Wade (4), Felix Sipma (4), willthames (3), afterburn (3), Lorin Hochstein (3), Les Aker (3), Junegunn Choi (3), Chelsea Robb (3), ron1 (2), jkleint (2), igor (2), Vincent Van der Kussen (2), Rodney Quillo (2), Pepe Barbe (2), Nandor Sivok (2), Jure Triglav (2), Juha Litola (2), Jayson Vantuyl (2), Brendan Taylor (2), Blair Zajac (2), vincent Van der Kussen (1), root (1), junyoung (1), diefans (1), davixx (1), Yeukhon Wong (1), Sergey Popov (1), Rune Kaagaard (1), Piotr Kweclich (1), Mark Theunissen (1), John Gosset (1), Jimmy Tang (1), Jeff Blaine (1), Javier Candeira (1), Gert Goet (1), Francis Besset (1), Francesc Esplugas (1), Christopher A. Snapp (1), Chris Berkhout (1), Bowe Strickland (1), Alexandre Bourget (1).
While I would like to thank everyone individually here, I cannot. However Daniel Zakrisson deserves special thanks for fixing all sorts of issues in record time and knowing my own code better than myself, all the while being a tremendous resource in helping people with questions on IRC.
This has been a fantastic first year for Ansible and I can only imagine the future will be even more exciting. 1.1 is going to bring “check mode” for all of you wanting dry run / comparison features, new options for handlers/notifiers, and many other things, many of which i can’t even anticipate.
This last release was codenamed “Eruption”, following our Van Halen song themed release history. It seemed fitting for a 1.0 and Ansible starting to get more mainstream. A user suggested “Mean Street” for 1.1, and it is one of my favorite Van Halen albums, “Fair Warning”.
Just as the CBS Sunday Morning show leaves you with pictures of little fluffy animals in the field and chirping bird effects, we too will leave you with a scene. I leave you with the chorus to Van Halen’s Mean Street.
It’s always here and now, my friend
It ain’t once upon a time
It’s all over but the shouting
I’ll come and I’ll take what’s mine
We’re searching for the latest thing
A break in this routine
Talkin’ some new kicks
Ones like you ain’t never seen