[RETIRED] Demo: OSPF Unnumbered Using Puppet in the Cumulus Workbench


Important! This article has been retired. Check out our GitHub site for the latest demos.

Using Zero Touch Provisioning and Puppet, a set of node can be automatically configured to establish OSPF in Quagga with unnumbered links, and leverage PTM to verify the topology.



Demonstrated Features

Supported Topologies


2-Spine + 2-Leaf:


Required Packages

  • cldemo-wbench-ospfunnum-puppet

Source Code

File Descriptions

File Description
/var/www/provision-puppet.sh ZTP automation script to update Puppet.
/var/www/topology.dot Network topology file for PTM to validate against.
/home/cumulus/example-ospfunnum-puppet/ Puppet configuration files

Getting Started

Preparing the Environment

Puppet can be installed with the OSPF unnumbered configuration from the workbench. To install Puppet:

  1. Log into the Cumulus workbench and accept the End User License Agreement.

  2. As the root user, update the workbench:

    root@wbench:~# apt-get update
  3. Install the Puppet package for OSPF:

    root@wbench:~# apt-get install cldemo-wbench-ospfunnum-puppet
  4. Restart each switch in order to start the autoprovisioning script needed for Puppet to manage them:

    root@wbench:# cwng-swpower -a -o reset

Important: Restarting the switches takes about ten minutes.

To confirm the environment is ready for running the demo, you can view Puppet's progress via /var/log/syslog, follow along via the console of each switch, or check the status of the autoprovisioning script.

  • To follow progress via the console:

    root@wbench:~# tail -f /var/log/autoprovision
  • To check the status, and confirm the environment is ready:

    root@wbench:~# grep complete /var/lib/cumulus/autoprovision.conf

To confirm Puppet has run as part of the autoprovisioning script:

  • Display the ZTP log on a switch

    root@leaf1:~# tail /var/log/autoprovision

    If Puppet has not run:

    1. Log into each switch, and run the puppet agent:

      root@leaf1:~# puppet agent --test

Running the Demo

This demo will:

  • Set the MOTD of the nodes
  • Perform all of the steps necessary to install the Cumulus Linux license and insure that switchd restarts
  • Set the configuration of all of the interfaces
  • Provide ptmd with a topology.dot
  • Enable quagga with OSPF turned on
  • Restart all of the services that have been provided with new configurations

As Puppet runs automatically, PTM and OSPF neighbors can now be verified. The following commands can be used to verify the neighbors, and observe the output:

  • Verify the neighbors:

    root@leaf1:~# ptmctl

    The output shows the active links for each spine.

  • Show the OSPF neighbors for each spine:

    root@leaf1:~# cl-ospf neighbor show

Repeating the Demo

To run the demo again:

  1. Run the following command on the switch:

    root@leaf1:~# cl-img-clear-overlay -f 1; reboot

Command Reference Cheat Sheet

Description Topology Command
Switch to root user All
sudo -i
Ensure all of the repositories have the latest files All
apt-get update
Install the demo files All
apt-get install cldemo-wbench-ospfunnum-puppet
Restart the switches to have them install Puppet All
cwng-swpower -a -o reset
Have more questions? Submit a request


Powered by Zendesk