homeblogintroducing new cisco ios module agentless device management

Introducing new Cisco IOS module for agentless device management

We’re pleased to announce that today we’ve continued our expansion of agentless Network Automation support with the release of a new module that manages Cisco Catalyst (IOS) switches. Cisco Catalyst is one of the most widely deployed network platforms, and the inclusion of it in the Puppet ecosystem brings the power of modern Network Automation to our customers’ current and future environments.

We’re building upon our current agentless capabilities to expand the type of devices that can be managed with Puppet. The module requires the installation of our modern Resource API. The module supports a number of Cisco Catalyst switches running IOS and has been tested against the devices listed in our documentation.

This is the initial release of this module and we will be modifying it in the future to expand the types of devices that it supports.

What can I manage with the Cisco IOS module?

The module can be used to manage a range of resource types on Cisco IOS switches. The full list of resources is listed in the module, and includes the complete set of resources from the Network Device Standard Library. Additionally, if you wish to manage a resource that is not available in the module by default, there is an extra provider, known as ios_config, that allows an arbitrary command to be executed against the Cisco IOS device with or without a check for idempotency. We would love to get your feedback on what additional types you would like to see added to the module - please add issues to the GitHub repo, or even submit a pull request!

How do I use the module?

The module uses the ‘Puppet device’ capability, so no agent needs to be installed on the device. The module will operate on a node running Puppet device and with the Resource API installed. The module is available on the Forge. To use the module, simply install it as you would any other module by typing:

puppet module install puppetlabs-cisco_ios

Once this has been done, the devices to be managed need configuration: device.conf needs to be populated with device details. This configuration is described in the wiki of the module. Once the devices have been configured, the new Puppet device commands can be used to get and set resources. Puppet device now has --resource and --apply options to get and set data. Again, this configuration and operation is described in the documentation for the module.

An alternative way to get devices configured for use is to use the new device manager module that sets up and configures the module, available on the Forge.

Interested in contributing?

We love to get contributions to our modules, and especially welcome any community members that wish to add to the module. If you have any questions on how to contribute or would like to speak with the engineering team, please raise a GitHub issue in the repo. Thanks in advance for your contributions!

Learn more

Davin Hanlon is a product manager at Puppet. Rick Sherman is a senior software engineer at Puppet.