This knowledge base has moved to the documentation site. Please visit the knowledge base here for the most up to date content. This site is no longer maintained.

[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/ ZTP automation script to update Puppet.
/var/www/ 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
  • 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


This support portal has moved

Cumulus Networks is now part of the NVIDIA Networking Business Unit! The NVIDIA Cumulus Global Support Services (GSS) team has merged its operations with the NVIDIA Mellanox support services team.

You can access NVIDIA Cumulus support content from the Mellanox support portal.

You open and update new cases on the Mellanox support portal. Any previous cases that have been closed have been migrated to the Mellanox support portal.

Cases that are still open on the Cumulus portal will continue to be managed on the Cumulus portal. Once these cases close, they will be moved to the Mellanox support portal.

Powered by Zendesk