DEPRECATED: Ansible modules to manage Cumulus Linux; License, Switch ports, Interfaces
Clone or download
desertmonkey add deprecation notice
We’ve replaced this module with native modules. This change adds a
notice to the top of the readme with a link to the KB article about the
new modules.
Latest commit ebf5198 Sep 20, 2017

Deprecation Notice

This repository has been deprecated in favor of native Linux modules. For more information, see this knowledge base article.

This is the top level Git repository for Cumulus Linux Ansible Modules

The following modules can be found within the library folder.

  • cl_img_install — Install a different version of Cumulus Linux in the inactive slot.
  • cl_interface — Configures a front panel, bridge or bond interface on a Cumulus Linux switch.
  • cl_bond - Configures bond interface
  • cl_bridge - Configures bridge interface
  • cl_interface_policy - Configures Interface enforcement policy
  • cl_ports - Configure Switch Port Attributes, i.e. Breakout Ports defined in /etc/cumulus/ports.conf
  • cl_license — Install a Cumulus Linux license.
  • cl_quagga_ospf - Configures basic OSPFv2 global parameters and OSPFv2 interface configuration.
  • cl_quagga_protocol - Enable Quagga services available on Cumulus Linux.

Documentation for each of the modules, along with examples, is included in each module as Python docstrings.


A Cumulus Linux switch can be provisioned and operated, using Ansible, with no extra plugins. Cumulus Linux, by default, has SSH enabled with a BASH login.

Cumulus Networks Ansible Library is hosted on the Ansible Galaxy website under the role CumulusLinux.

To download the CumulusLinux role to the Ansible host, execute the ansible-galaxy install command, and specify cumulus.CumulusLinux.

cumulus@ansible-vm:~$ sudo ansible-galaxy install cumulus.CumulusLinux
 downloading role 'CumulusLinux', owned by cumulus
 no version specified, installing master
 - downloading role from
 - extracting cumulus.CumulusLinux to /etc/ansible/roles/cumulus.CumulusLinux
cumulus.CumulusLinux was installed successfully

For more detailed installation guide please refer to the Cumulus Linux Knowledge Base


Ansible 1.8 and higher. The modules require features supported in 1.8 and higher.


OSPF Unnumbered topologies automated using Ansible



  1. Fork it.
  2. Create your feature branch (git checkout -b my-new-feature).
  3. Commit your changes (git commit -am 'Add some feature').
  4. Push to the branch (git push origin my-new-feature).
  5. Create new Pull Request.


All modules created have associated nose test cases. Test cases can be found in tests directory. To run the tests execute the script while in the root of this Git repository. Before running a test, check that the python Mock and Nose packages are installed.


Author:: Cumulus Networks Inc.

Copyright:: 2015 Cumulus Networks Inc.

Cumulus icon

Cumulus Linux

Cumulus Linux is a software distribution that runs on top of industry standard networking hardware. It enables the latest Linux applications and automation tools on networking gear while delivering new levels of innovation and flexibility to the data center.

For further details please see:

This project is licensed under the GNU General Public License, Version 2.0