Hi all, I'm very happy to announce the first beta release of Ansible 2.0!
In case you missed the original update in the alpha release, here's a quick break down of some of the new features in 2.0:
* Blocks, which allow playbooks to do some basic try/except/finally style error handling
* Execution strategy plugins, which allow tasks to run in ways that differ from classic Ansible.
* Dynamic include statements, which bring back the ability to use include + with_* loops. In
1.9.x and before, includes function simply as a pre-processor macro, in which tasks are
expanded before any task execution starts. Now, in 2.0 and beyond, includes are executed
as any other task is and expanded only at the point it is executed.
* A multitude of bug fixes - well over 200 issues were closed in just the main Ansible repository
as part of the refactoring and cleanup.
* Over 150 new modules, including the new style Openstack modules, new VMware and
Cloudstack modules, and many more!
The full list of changes can be found here:
What will break?
----------------------------------------------------------------------
As we have noted in the past, we strove to maintain 100% backwards compatibility for playbooks, and where appropriate we have decided to deprecate some language features. These will continue to work, however you may notice an increase in deprecation messages.
The main issue some users may run into is the internal APIs for some plugins have changed (especially for Lookups and Action plugins), for which we will be writing a migration guide before the final 2.0 release.
There are still some known issues in this beta, which we are currently tracking here:
We expect to do at least one more beta release before the final release candidate phase because of this, so please help us find as many bugs as possible before then!
How do you get it?
----------------------------------------------------------------------
The tar.gz of the release can be found here:
SHA256: 9789344bd94dcaaee6196fac9de943eb129cb3cfd638d58a133314f3e808e1ff
You can also test against the git repository as follows:
$ cd ansible
$ git checkout v2.0.0-0.3.beta1
$ git submodule update --init
You can then source our testing script:
$ . hacking/env-setup
or you can build your own .tar.gz (output will be dist/ansible-2.0.0.tar.gz):
$ make sdist
If you discover any errors related to this beta release, or if you see any regressions from playbooks which work on 1.9.x and prior, please open a Github issue and be sure to mention which version you're testing.
Thanks!
James Cammarata
Director, Ansible Core Engineering
github: jimi-c