Peter Sprygada

Author Archives: Peter Sprygada

Coming Soon: Networking Features in Ansible 2.4

Ansible 2.4

Wow, how time flies! Here we go with another Ansible Project release packed full of updates for automating network infrastructure. After spending the last year heavily focused on building much of the foundation for Ansible network integration, this release represents the beginning of the journey towards building more application-aware, declarative-based Ansible modules. This is an exciting time and on behalf of the entire Ansible community, including the Ansible network engineering team. I’m very pleased to share with you the enhancements and updates to network integration included with the forthcoming Ansible 2.4 open source release.

The initial introduction of network support was originally conceived to help operators focus on being able to execute configuration changes on network devices with a set of imperative-based configuration modules.

Today, the Ansible network modules are focused on pushing configuration statements to network devices. It was a small step, but an important one in the journey towards full configuration management of physical network devices.

Since then, we have turned our attention towards how to better help organizations become more agile in actively managing network configurations. Over the course of the Ansible 2.4 release, we have been phasing in a more intelligent approach to building Continue reading

Network Device Authentication with Ansible 2.3

Ansible 2.3 Networking Update

In a recent post, Coming Soon: Networking Features in Ansible 2.3, one of the key features to be introduced is a new connection framework. This new connection framework supports persistent SSH connections for modules that communicate with network devices via two methods:

1) the tried and true CLI method
2) the newly included NETCONF method

With the new connection framework, the network modules are currently undergoing a transformation with regards to how credentials are supplied. In Ansible versions 2.0 to 2.2, network modules support providing connection credentials as top-level arguments in the module.

If you want to build a task using the ios_command Ansible module the credentials used to authenticate to the device could be provided as top level arguments. The following example demonstrates the simplest form of passing credentials to modules in order to authenticate to the remote device:


ios_command:
  commands: show version
  host: “{{ inventory_hostname }}”
  username: cisco
  password: cisco
  

In some cases, such as with configuration modules, additional authentication details are required. In order to enter configuration mode, the Playbook tasks must first enter “enable” mode and, in some cases, supply an enable-mode password. Notice the additional two arguments (authorize and auth_pass) added to Continue reading

Ansible 2.2 Network Updates

Ansible for Network Automation

The Slack channel question seemed so innocuous at the time, “I was reviewing through the Ansible 2.2 commits related to networking. Is there a summary of the networking items that are new in 2.2?”

In a rather quick response, my first answer seemed so obvious, “Not really, mostly simplifying code, merging template with config modules and some new platforms."

As the conversation continued though, reality came crashing down with the realization that the sprint from Ansible 2.1 to Ansible 2.2 for networking modules was substantially more than a few tweaks and added platforms.

Before getting into what’s new and what’s changed, let's review the overall state of network integration with Ansible. We started this journey just about a year ago announcing that Ansible would start supporting direct integration with network devices. At the time, this was a fairly big departure from the more traditional roots where Ansible has focused on in the systems and application development worlds. There always seemed to be a natural fit between Ansible’s agentless, SSH-based architecture’s ability to adapt to automating traditional network device configurations. It didn’t take long for the initial integration of network modules to start achieving greater adoption.

In just three releases (counting Continue reading

Ansible Network Technology Preview

Ansible-Networking-Blog.png

One of the greatest strengths of Ansible is the tremendous community of individuals that have risen to the challenge of building Ansible into the top automation platform available. It is that community that has driven Ansible to focus on innovative solutions that are guided by simplicity. The community that makes Ansible great has pushed to expand the capabilities of Ansible even further to encompass more platforms and technologies that comprise today’s most complex IT infrastructures.

In response to the many asks from the Ansible community and enterprise customers, we are pleased to introduce Ansible network technology preview, which is available immediately. The Ansible network technology preview is built on the success of Ansible 2.0, and provides newly developed integrations for working with network devices. Developed in partnership with network vendors and the Ansible community, support for networking devices gives the Ansible community the opportunity to extend full stack automation efforts to include network devices as well.

Capabilities

Ansible’s network support augments, rather than replaces, network operations team capabilities. The network modules focus on three key areas where automation can revolutionize how organizations work with their network gear:

  • Configuration Management

  • Test-Driven Networking

  • Continuous Compliance

Background

We built a set of Continue reading