Cumulus Linux Demo Packages (cldemo)
This repo contains the source for the cldemo packages, these can be used by sales engineers, partners and customers to demonstrate:
- Automation tools (such as Ansible, CFEngine, Chef and Puppet)
- Configuration of routing protocols (BGP, OSPF)
- Zero touch provisioning (ZTP)
- Monitoring tools (like Ganglia)
Using dependencies the packages will automatically install any required components, configure them as appropriate and ensure content such as recipes, cookbooks, ZTP scripts and playbooks are in place and ready.
Currently, the primary target for these packages is within the hosted Cumulus Workbench, though in the near future we will support installation on the customer or partner site using a standalone Ubuntu install.
The Cumulus Workbench consists of a single pre-provisioned Ubuntu (currently 12.04) workbench/jump VM and multiple switches running Cumulus Linux.
From the workbench packages can be installed via APT:
cumulus@wbench:~$ apt-cache search cldemo cldemo-wbench-ibgp-2s-ansible - 2 switch; Ansible, PTM and iBGP IPv4 cldemo-wbench-ibgp-2s2l-ansible - 2 leaf 2 spine; Ansible, PTM and iBGP IPv4 cldemo-wbench-ibgp-2s2l-puppet - 2 leaf 2 spine; Puppet, PTM and iBGP IPv4 cldemo-wbench-ospfunnum-2s-ansible - 2 switch; Ansible, PTM and OSPF Unnumbered IPv4 cldemo-wbench-ospfunnum-2s-puppet - 2 switch; Puppet, PTM and OSPF Unnumbered IPv4 cldemo-wbench-ospfunnum-2s2l-ansible - 2 leaf 2 spine; Ansible, PTM and OSPF Unnumbered IPv4 cldemo-wbench-ospfunnum-2s2l-puppet - 2 leaf 2 spine; Puppet, PTM and OSPF Unnumbered IPv4 cldemo-wbench-sflow-2lt22s-puppet - Setup sflow and ganglia web frontend cumulus@wbench:~$ sudo apt-get install cldemo-wbench-ospfunnum-2s2l-puppet
Instructions for each demo are hosted on the knowledge base.
Package content can be developed on either Debian or Ubuntu.
Note: The SecureAPT releases signing key is not stored in this repo.
Preparing Your Environment
Install the git and dpkg tools:
julia@devhost:~$ sudo apt-get install git apt-utils dpkg-dev julia@devhost:~$ git clone email@example.com:CumulusNetworks/cldemo.git
The test script runs lint tools for Puppet, Ansible & Chef against the manifests/playbooks/cookbooks and reports any issues.
julia@devhost:~$ cd cldemo julia@devhost:~/cldemo$ ./test.sh
The test.sh script will check for the following dependencies:
- puppet-lint (Ruby)
- ansible-lint (Python)
- foodcritic (Ruby)
It will attempt to install them, and their dependencies, if they are not found. You will require a working Ruby 2.x, with a working Rubygems, installed, and a working version of Python and Python Pip.
The build script compiles packages from within pkgs/*; it also generates the packages and signs the release file.
julia@devhost:~$ cd cldemo julia@devhost:~/cldemo$ ./build.sh
The compiled debs will be written to repo-build/. From there they can be uploaded to your development Web server.
You can find old packages in the Archive repository
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 ﬂexibility to the data center.
For further details please see: cumulusnetworks.com