Hi all, we’re happy to announce the RC1 release candidate for Ansible 2.0.1!
This release includes many new features and modules, including (but not limited to):
- Official support for the networking modules, originally available in 2.0 as a tech preview.
- Refactored and expanded support for Docker with new modules and many improvements to existing modules, as well as a new Kubernetes module.
- Added new modules for Azure (see below for the full list)
- Added the ability to specify includes as “static” (either through a configuration option or on a per-include basis). When includes are static, they are loaded at compile time and cannot contain dynamic features like loops.
- Added a new strategy
debug
, which allows per-task debugging of playbooks. - Added a new option for tasks:
loop_control
. This currently only supports one option -loop_var
, which allows a different loop variable fromitem
to be used. - Added the ability to filter facts returned by the fact gathering setup step using the
gather_subset
option on the play or in the ansible.cfg configuration file. See http://docs.ansible.com/ansible/intro_configuration.html#gathering for details on the format of the option. - Added the ability to send per-item callbacks, rather than a batch update (this more closely resembles the behavior of Ansible 1.x).
- Added facility for modules to send back ‘diff’ for display when ansible is called with --diff, updated several modules to return this info
- Added ansible-console tool, a REPL shell that allows running adhoc tasks against a chosen inventory (based on https://github.com/dominis/ansible-shell)
- Added two new variables, which are set when the
rescue
portion of ablock
is started:
ansible_failed_task
, which contains the serialized version of the failed task.ansible_failed_result
, which contains the result of the failed task.
- New meta action,
meta: clear_host_errors
which will clear any hosts which were marked as failed (but not unreachable hosts). - New meta action,
meta: clear_facts
which will remove existing facts for the current host from current memory and facts cache. - copy module can now transparently use a vaulted file as source, if vault passwords were provided it will decrypt and copy on the fly.
- The way new-style python modules (which include all of the non-windows modules shipped with Ansible) are assembled before execution on the remote machine has been changed. The new way stays closer to how python imports modules which will make it easier to write modules which rely heavily on shared code.
- Reduce the situations in which a module can end up as world readable. For details, see: https://docs.ansible.com/ansible/become.html#becoming-an-unprivileged-user
- Re-implemented the retry file feature, which had been left out of 2.0 (fix was backported to 2.0.1 originally).
- Improved winrm argument validation and feature sniffing (for upcoming pywinrm NTLM support).
- Improved winrm error handling: basic parsing of stderr from CLIXML stream.
Altogether, there are almost 90 new modules in this release, along with a new strategy (debug) and several new inventory scripts.
How do you get it?