Introducing Ansible 2.1: Networking, Windows, Azure, and Containers

May 26, 2016 by Jason McKerr


I am pleased to announce the availability of Ansible version 2.1. Ansible 2.1 is Red Hat’s next major release since we pushed  2.0 in January. This new version adds a number of new features and fixes, and we’re excited to get it out into your hands. We’ve added key functionality in networking, took the beta tag off of our Microsoft Windows support, expanded our support for Microsoft Azure, enhanced our Docker containers support, and added a number of key internal features for ziploader and elsewhere.

On the networking front, we’ve included managing networking infrastructure as first-order feature set in Ansible--no separate download required. We previously released the Networking tech preview in February at AnsibleFest in London, and now it is fully integrated into Ansible as part of 2.1 Ansible’s agentless model works particularly well in the network management space, and with a lot of help and support from the vendors, we are very pleased to have our first major release with support for these features. Networking now includes support for:

  • Cisco
  • HP Enterprise
  • Juniper
  • Arista Networks
  • Cumulus Networks

In the Microsoft world, we significantly upped our game for both Windows and Azure Cloud. We’re happy to take the beta tag off of our Windows support, and make it a fully supported part of the Ansible automation platform. As part of this effort, we’ve engaged more deeply with the pywinrm project team and others to add support for NTLM and Kerberos delegation. NTLM makes managing domain resources much easier, since domain users can authenticate with just a username and password, which is enabled by default in WinRM. Kerberos delegation allows for easy domain-based multi-hop management (eg, accessing file shares and SQL Server databases with domain credentials). For Azure, we’ve added a full suite of modules, as well as an inventory script that targets the new Azure Resource Manager API. The new modules allow first-class management of most basic resource types (eg, virtual networks, storage accounts, NICs, virtual machines), as well as deployment of Azure Resource Manager templates. We’ve also built a shared framework for supporting new Azure resource types, so it’s much easier for the Ansible community to keep up with changes to the Azure platform, and to wrap custom resources in Ansible modules.

On the containers front, our focus for this release is to further mature our Docker support, with a large effort in making it simple to manage and scale Docker infrastructure--especially as it relates to your overall infrastructure. We really focused on our core mission of “radically simple automation,” and I think we’ve done well. Here are some basics about what’s new in container-world:

  • docker_service: Allows users to consumer Docker Compose and manage and scale multiple services in a standalone environment or Docker Swarm.
  • docker_container: Managing basic container lifecycle
  • docker_image: Build, push, pull, and tag images for Docker
  • docker_login: for managing access to Docker registries
  • docker_image Facts: Inspect images for metadata

I also really want to mention our Ansible community and the team at Red Hat for this particular release. We added 7 new core committers from our sizeable community, and they have already had a significant impact on our ability to move issue and pull-request submissions from reported to finished. In the past several months, we’ve also tripled the size of the Ansible team. With the combination of a significantly growing community, and more full-time developers working on nothing but Ansible, we were able to get a significant release out the door, and start making a dent in our backlog of submissions. Thank you all for that… but don’t let that slow down your pace of submissions!

Download Ansible 2.1 and let us know what you think. In the very near future, we’ll publish a proposed roadmap to the community for feedback targeting Ansible version 2.2. We’d love to hear your feedback.


Windows, Network Automation, Containers, Azure


Jason McKerr

Jason is the Director of Engineering, Ansible. He started out as a developer and then moved to management as co-founder of the OSU Open Source Lab. He's held senior management positions at a number companies in and out of the Open Source space, including JanRain, Puppet, and The Washington Post Company/SocialCode. Jason currently manages Ansible project engineering, which includes Red Hat Ansible Engine, Networking, Windows, Cloud, and Container. Jason lives in Vermont where his hobby is training his German Shepherd, "Scuffy the Tugboat."

rss-icon  RSS Feed