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 https://github.com/cumulusnetworks/cumulus-linux-ansible-modules/archive/master.tar.gz
- extracting cumulus.CumulusLinux to /etc/ansible/roles/cumulus.CumulusLinux
cumulus.CumulusLinux was installed successfully
cumulus@ansible-vm:~$
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.
##EXAMPLE PLAYBOOKS
OSPF Unnumbered topologies automated using Ansible
###CONTRIBUTING
- Fork it.
- Create your feature branch (
git checkout -b my-new-feature
). - Commit your changes (
git commit -am 'Add some feature'
). - Push to the branch (
git push origin my-new-feature
). - Create new Pull Request.
###TESTING
All modules created have associated nose test cases. Test cases can be found in tests
directory.
To run the tests execute the runtests.py
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 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: cumulusnetworks.com
This project is licensed under the GNU General Public License, Version 2.0