Skip to content

Skotha/cldemo

 
 

Repository files navigation

Cumulus Linux Demo Packages (cldemo)

Overview

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.

Usage

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.

Development

Requirements

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 protected]:CumulusNetworks/cldemo.git

Testing

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.

Building

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.


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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Puppet 38.9%
  • Shell 23.1%
  • HTML 14.1%
  • Ruby 11.4%
  • Python 8.6%
  • JavaScript 2.0%
  • Other 1.9%