Ansible 2.5
Core Engine Freeze and Module Freeze: 22 January 2018
Core and Curated Module Freeze: 22 January 2018
Community Module Freeze: 7 February 2018
Release Candidate 1 will be 21 February, 2018
Target: March 2018
Service Release schedule: every 2-3 weeks
Release Manager
Matt Davis (IRC/GitHub: @nitzmahone)
Engine improvements
- Assemble module improvements- assemble just skips when in check mode, it should be able to test if there is a difference and changed=true/false.- The same with diff, it should work as template modules does
- Handle Password reset prompts cleaner
- Tasks stats for rescues and ignores
- Normalize temp dir usage across all subsystems
- Add option to set playbook dir for adhoc, inventory and console to allow for ‘relative path loading’
Ansible-Config
- Extend config to more plugin types and update plugins to support the new config
Inventory
- ansible-inventory option to output group variable assignment and data (–export)
- Create inventory plugins for:- aws
Facts
- Namespacing fact variables (via a config option) implemented in ansible/ansible PR #18445.Proposal found in ansible/proposals issue #17.
- Make fact collectors and gather_subset specs finer grained
- Eliminate unneeded deps between fact collectors
- Allow fact collectors to indicate if they need information from another fact collector to be gathered first.
Static Loop Keyword
- A simpler altenative to
with_
,loop:
only takes a list - Remove complexity from loops, lookups are still available to users
- Less confusing having a static directive vs a one that is dynamic depending on plugins loaded.
Vault
- Vault secrets client inc new ‘keyring’ client
Runtime Check on Modules for Blacklisting
- Filter on things like “supported_by” in module metadata
- Provide users with an option of “warning, error or allow/ignore”
- Configurable via ansible.cfg and environment variable
Windows
- Implement gather_subset on Windows facts
- Fix Windows async + become to allow them to work together
- Implement Windows become flags for controlling various modes (done)- logontype- elevation behavior
- Convert win_updates to action plugin for auto reboot and extra features (done)
- Spike out changing the connection over to PSRP instead of WSMV (done- it’s possible)
- Module updates
- win_updates (done)
- Fix win_updates to detect (or request) become
- Add whitelist/blacklist features to win_updates
- win_dsc further improvements (done)
- win_updates (done)
General Cloud
- Make multi-cloud provisioning easier
- Diff mode will output provisioning task results of ansible-playbook runs
- Terraform module
AWS
- Focus on pull requests for various modules
- Triage existing merges for modules
- Module work
- ec2_instance
- ec2_vpc: Allow the addition of secondary IPv4 CIDRS to existing VPCs.
- AWS Network Load Balancer support (NLB module, ASG support, etc)
- rds_instance
Azure
- Azure CLI auth (done)
- Fix Azure module results to have “high-level” output instead of raw REST API dictionary (partial, more to come in 2.6)
- Deprecate Azure automatic storage accounts in azure_rm_virtualmachine (breaks on Azure Stack, punted until AS supports managed disks)
Network Roadmap
- Refactor common network shared code into package (done)
- Convert various nxos modules to leverage declarative intent (done)
- Refactor various modules to leverage the cliconf plugin (done)
- Add various missing declarative modules for supported platforms and functions (done)
- Implement a feature that handles platform differences and feature unavailability (done)
- netconf-config.py should provide control for deployment strategy
- Create netconf connection plugin (done)
- Create netconf fact module
- Turn network_cli into a usable connection type (done)
- Implements jsonrpc message passing for ansible-connection (done)
- Improve logging for ansible-connection (done)
- Improve stdout output for failures whilst using persistent connection (done)
- Create IOS-XR NetConf Plugin and refactor iosxr modules to leverage netconf plugin (done)
- Refactor junos modules to use netconf plugin (done)
- Filters: Add a filter to convert XML response from a network device to JSON object (done)
Documentation
- Extend documentation to more plugins
- Document vault-password-client scripts.
- Network Documentation
- New landing page (to replace intro_networking) (done)
- Platform specific guides (done)
- Walk through: Getting Started (done)
- Networking and
become
(done) - Best practice (done)
Contributor Quality of Life
- Finish PSScriptAnalyer integration with ansible-test (for enforcing Powershell style) (done)
- Resolve issues requiring skipping of some integration tests on Python 3.