Skip to content

isabella232/cumulus-linux-ansible-modules

 
 

Repository files navigation

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.

INSTALLATION

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

REQUIREMENTS

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

##EXAMPLE PLAYBOOKS

OSPF Unnumbered topologies automated using Ansible

DEVELOPMENT

###CONTRIBUTING

  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.

###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.

LICENSE AND AUTHORS

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: cumulusnetworks.com

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

About

Ansible modules to manage Cumulus Linux; License, Switch ports, Interfaces

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 96.3%
  • Ruby 3.7%