v
“Manage Your Switches Like Servers” Cumulus Networks
Presented By: Scott Suehle
December 7th, 2015
Who am I?
cumulusnetworks.com 2
Scott Suehle • Community Manager for Cumulus Networks • Former customer support junkie • [email protected] • @8bitdad on the twitters • kilted1 on #CumulusNetworks on Freenode
cumulusnetworks.com 4
of managers are not satisfied with the speed at which IT deploys 60%
of IT outages are due to unexpected configuration changes 70%
cumulusnetworks.com 5
Networking before DevOps • Siloed teams
• Siloed tooling and processes
• Slow collaboration and information sharing
• Different processes and tasks for provisioning vs ongoing
change management
cumulusnetworks.com 6
Collaborative Networking • Unify change insight & management for all infrastructure
• Enhance collaboration between SysOps and NetOps
cumulusnetworks.com 7
Puppet for Networking • Share infrastructure code between all of IT
• Eliminate differences between initial configuration and
ongoing change management
• Unify application deployments that span compute and network
What is Cumulus Linux?
§ Cumulus® Linux® • Debian based distribution for Network switches
Cumulus Philosophy • Manage your network switch as a server • Use existing linux tools to configure network switches • Current release — Based on Debian wheezy
cumulusnetworks.com
Freedom of Choice in the Data Center Rack
cumulusnetworks.com 9
Storage NAS/SAN appliances
Compute Blade server chassis, blade servers
Networking Data center switches
Choice of Hardware Choice of OS Software-Locked Hardware
Industry-Standard Network Hardware
Cumulus Networks and Partner Confidential 10
QFX 3500
Nexus 3100
Nexus 9000
7500E
7250X
HCL: Agema, Edge-Core, Penguin Computing,
Quanta, Supermicro, Dell, HP
powered by
Juniper Cisco Arista Brite-Box | White Box
Traditional Network Gear Process
• Comes preinstalled with (old) software • Telnet or serial into box • TFTP new image • Enable SSH (sometimes with passwords!) • Copy/paste configuration • Automation usually restricted to Perl, TCL, and expect
scripts
cumulusnetworks.com
Normal Server Installation
• Reboot and bios with PXE automatically catches • TFTP boot image • New image pulled over via normal means (usually
webserver, sometimes TFTP) • Pre/post installation scripts runs • Automation software manages configuration and
administration
cumulusnetworks.com
ONIE
cumulusnetworks.com
Network OS installer discovery and execution • Like a pre-installed BIOS, PXE, and kickstarter in one • Implemented through Linux kernel with BusyBox
Donated to the Open Compute Project (OCP) http://www.onie.org
Comparison
bare metal server
Server OS
app app app
BIOS and PXE
bare metal switch
Network OS
app app app
Boot Loader and ONIE
Similar to installing a server OS using PXE
Network OS Boot Loader and ONIE
boot into
Boot Loader and ONIE
boot into
ONIE looks for and installs network OS image
cumulusnetworks.com
Cumulus Linux OS Installation with ONIE
cumulusnetworks.com
§ Look for installer (“discover”) • Locally, e.g. USB if available • Over the network on eth0 • DHCP, IPv6 neighbor, TFTP
§ Search for file name and execute • onie-installer-*
Cumulus Linux OS image
1
2
During the DHCP process over eth0 (management interface), Cumulus Linux will request DHCP option 239. This option is used to specify the custom provisioning script. It will also send the following headers:
HeaderValueExample------------------User-AgentCumulusLinux-AutoProvision/0.4CUMULUS-ARCHCPUarchitecturepowerpcCUMULUS-BUILD1.5.1-5c6829a-201309251712-finalCUMULUS-LICENSE-INSTALLEDEither0or11CUMULUS-MANUFACTURERdniCUMULUS-PRODUCTNAMEet-7448bfCUMULUS-SERIALXYZ123004CUMULUS-VERSION1.5.1CUMULUS-PROV-COUNT0CUMULUS-PROV-MAX32
ZTP – Zero Touch Provisioning
cumulusnetworks.com
§ Script must contain CUMULUS-AUTOPROVISIONING Can be in the following languages :
• Perl • Python • Ruby • Shell
ZTP(Zero Touch Provisioning) Execution
cumulusnetworks.com
ZTP Example with Puppet
1#!/bin/bash23functionerror(){4echo-e"\e[0;33mERROR:Provisioning
failedrunning$BASH_COMMANDatline$BASH_LINENOof$(basename$0)\e[0m">&2
5exit16}7traperrorERR8#AllowCumulustestingrepo9sed-i/etc/apt/sources.list-e's/^#\s*\
(deb.*testing.*\)$/\1/g'1011#UpgradeandinstallPuppet12apt-getupdate-y
13apt-getupgrade-y14apt-getinstallpuppet-y1516echo"Configuringpuppet"|wall-n17sed-i/etc/default/puppet-e's/
START=no/START=yes/'1819servicepuppetrestart2021#CUMULUS-AUTOPROVISIONING2223exit0
cumulusnetworks.com
§ Because Debian based, we can do everything with Puppet Enterprise
• users • interface configuration • routing software (Quagga) configuration
Puppet
cumulusnetworks.com
Warning - small hard drive and limited processing power -- not recommended for long term
Scenario - installing new rack with limited
connectivity * make switch puppetmaster
Interim Puppet Server!
cumulusnetworks.com
Puppet Modules and Other Resources
cumulusnetworks.com 30
Puppet: • Solutions Page:
https://puppetlabs.com/solutions/cumulus
• Puppet Modules: https://forge.puppetlabs.com/cumuluslinux
Cumulus: • Puppet demo on Cumulus Workbench and other
materials http://cumulusnetworks.com/solutions/data-center-automation/puppet/
§ PTM • https://github.com/CumulusNetworks/ptm
Example Code • https://github.com/CumulusNetworks/cldemo
Cumulus Open Source • http://oss.cumulusnetworks.com
Community § Community.cumulusnetworks.com
Twitter • @8bitdad and @CumulusNetworks
Freenode • #CumulusNetworks
Find out more!
cumulusnetworks.com
The Building Blocks
32
Prototype
Test Automate
Deploy
cumulusnetworks.com
Cumulus VX {Virtual Appliance} https://cumulusnetworks.com/cumulus-vx/
Cumulus Workbench {Testing in the Cloud} https://cumulusnetworks.com/cw/
Cumulus Linux {The Real Deal} http://cumulusnetworks.com/cumulus-linux/overview/
DevOps for Networking
© 2015 Cumulus Networks. Cumulus Networks, the Cumulus Networks Logo, and Cumulus Linux are trademarks or registered trademarks of Cumulus Networks, Inc. or its affiliates in the U.S. and other countries. Other names may be trademarks of their respective owners. The registered trademark Linux® is used pursuant to a sublicense from LMI, the exclusive licensee of Linus Torvalds, owner of the mark on a world-wide basis.
§ Thank You!
cumulusnetworks.com 34
Unleashing the Power of Open Networking