SlideShare a Scribd company logo
v 
Switch as a Server 
Leslie Carr
Who is Leslie? 
Operations Engineer 
 Google 
 Craigslist 
 Twitter 
 Wikimedia Foundation 
(Wikipedia)
Who is Leslie? 
Cumulus Networks®
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
Cumulus® Linux® Hardware Compatibility List 
cumulusnetworks.com 4
v 
Installation and Configuration
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
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
ONIE 
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
Cumulus Linux OS Installation with ONIE 
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 
cumulusnetworks.com 9
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: 
Header Value Example 
------ ----- ------- 
User-Agent CumulusLinux-AutoProvision/0.4 
CUMULUS-ARCH CPU architecture powerpc 
CUMULUS-BUILD 1.5.1-5c6829a-201309251712-final 
CUMULUS-LICENSE-INSTALLED Either 0 or 1 1 
CUMULUS-MANUFACTURER dni 
CUMULUS-PRODUCTNAME et-7448bf 
CUMULUS-SERIAL XYZ123004 
CUMULUS-VERSION 1.5.1 
CUMULUS-PROV-COUNT 0 
CUMULUS-PROV-MAX 32 
ZTP
ZTP Execution 
Script must contain CUMULUS-AUTOPROVISIONING 
Can be in the following languages : 
 Perl 
 Python 
 Ruby 
 Shell
ZTP Example with Puppet 
1 #!/bin/bash 
2 
3 function error() { 
4 echo -e "e[0;33mERROR: Provisioning 
failed running $BASH_COMMAND at line 
$BASH_LINENO of $(basename $0) e[0m" >&2 
5 exit 1 
6 } 
7 trap error ERR 
8 # Allow Cumulus testing repo 
9 sed -i /etc/apt/sources.list -e 
's/^#s*(deb.*testing.*)$/1/g' 
10 
11 # Upgrade and install Puppet 
12 apt-get update -y 
13 apt-get upgrade -y 
14 apt-get install puppet -y 
15 
16 echo "Configuring puppet" | wall -n 
17 sed -i /etc/default/puppet -e 
's/START=no/START=yes/' 
18 
19 service puppet restart 
20 
21 # CUMULUS-AUTOPROVISIONING 
22 
23 exit 0
Comparison 
Similar to installing a server OS using PXE 
app app app 
Server OS 
BIOS and PXE 
bare metal server 
app app app 
Network OS 
Boot Loader and ONIE 
bare metal switch 
ONIE looks for and installs network OS image 
boot into 
Network OS 
boot into 
Boot Loader and 
ONIE 
Boot Loader and 
ONIE
Video
Because Debian based, we can do 
everything via puppet 
 users 
 interface configuration 
 routing software (Quagga) configuration 
Puppet
Video!
Make Life Even Better 
How can we make your life better?
Interim Puppet Server! 
Warning - small hard drive and limited 
processing power -- not recommended for 
long term 
Scenario - installing new rack with limited 
connectivity 
* make switch puppetmaster
Example Topology 
leaf 1 leaf 2 
swp1 - 4 swp1 - 4 
Puppetmaster
Video
Transition
Existing Network Interface Managers 
 Optimized for desktop and hypervisor environments 
 Complexity increases with interface configuration 
scale 
 Burden of network interface configuration 
dependency ordering is on the user 
 Lack of support for incremental changes to network 
interfaces: minimal disruption 
 Lack of tools to query and validate running interface 
configuration
Linux Networking 
Switch networking characteristics: 
 Large number of interfaces 
 Switch ports, bridges, bonds, vlans 
 Large number of interface attributes 
 Addresses, bridge stp, mstp and igmp attributes 
 Mostly static configuration
ifupdown 
Benefits 
 Pluggable architecture 
 Uses native Linux tools, 
enabling faster development 
 Good user documentation, 
well known tool 
Challenges 
 No knowledge of interface 
configuration dependency 
(burden on the user) 
 Large scale configuration 
results in large files or too 
many files 
 No support for incremental 
configurations 
 No support to query/validate 
running interface 
configuration 
 literate program 
 Bugs
ifupdown2 
 New implementation of ifupdown in Python 
 Backward compatible with ifupdown interfaces format and 
commands 
 Continues to use existing Linux native tools to configure 
network interfaces. 
 Large number of interface attributes 
 Pluggable architecture add-on python modules for interface 
configuration 
 Meets some shortcomings seen with existing network interface 
managers on network switches 
 ifreload acts like HUP instead of restart
ifupdown2 compare cli? 
ifupdown 
auto swp19 
iface swp19 inet manual 
up link set $IFACE up 
down link set $IFACE down 
pre-up /sbin/ethtool -s $IFACE speed 
1000 
auto swp19.100 
iface swp19.100 inet manual 
up link set $IFACE up 
down link set $IFACE down 
auto vlan100 
iface vlan100 inet manual 
bridge_ports swp19.100 
mstpctl_stp on 
ifupdown2 
auto swp19 
iface swp19 
link-speed 1000 
auto vlan100 
iface vlan100 
bridge-ports swp19.100 
bridge-stp on
Network Interface Dependency 
▪ Handles network interface dependency 
cumulusnetworks.com 
using dependency graphs 
▪ Uses topological sort to order network 
interface configurations 
▪ Provides options and tools to query and 
execute interface configuration in 
dependency order 
▪ Built-in devices support 
ifupdown2 implicitly recognizes vlan and physical 
interfaces that appear as dependents and does the 
required minimal configuration to get them up: No 
need to specify `iface swp1.1000` in the example
ifupdown2 - Mako Templates 
## Note that the "range" ends with '4' 
## But will iterate only from 1 to 3 
## See Python range() for more details 
% for i in range(1, 4): 
auto swp${i} 
iface swp${i} 
% endfor 
<%def name="interface_defaults()"> 
mtu 9000 
link-speed 10000 
link-duplex full 
link-autoneg off 
</%def> 
% for i in range(3,7): 
auto swp${i} 
iface swp${i} 
${interface_defaults()} 
% endfor 
auto default_bridge 
iface default_bridge 
bridge_ports glob swp3-6 
bridge-stp on
Find out more! 
 Ifupdown2 
 https://github.com/CumulusNetworks/ifupdown2 
 PTM 
 https://github.com/CumulusNetworks/ptm 
Example Code 
 https://github.com/LeslieCarr/puppet-presentation 
Cumulus Open Source 
 http://oss.cumulusnetworks.com 
Twitter 
 @lesliegeek
Bringing the Linux Revolution to Networking 
Thank You! 
© 2014 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. 
cumulusnetworks.com
Ad

More Related Content

What's hot (20)

Cobbler - Fast and reliable multi-OS provisioning
Cobbler - Fast and reliable multi-OS provisioningCobbler - Fast and reliable multi-OS provisioning
Cobbler - Fast and reliable multi-OS provisioning
RUDDER
 
High performance content hosting
High performance content hosting High performance content hosting
High performance content hosting
Aleksey Korzun
 
5. hands on - building local development environment with Open Mano
5. hands on - building local development environment with Open Mano5. hands on - building local development environment with Open Mano
5. hands on - building local development environment with Open Mano
videos
 
NkSIP: The Erlang SIP application server
NkSIP: The Erlang SIP application serverNkSIP: The Erlang SIP application server
NkSIP: The Erlang SIP application server
Carlos González Florido
 
Automação do físico ao NetSecDevOps
Automação do físico ao NetSecDevOpsAutomação do físico ao NetSecDevOps
Automação do físico ao NetSecDevOps
Raul Leite
 
Rac on NFS
Rac on NFSRac on NFS
Rac on NFS
mengjiagou
 
6. hands on - open mano demonstration in remote pool of servers
6. hands on - open mano demonstration in remote pool of servers6. hands on - open mano demonstration in remote pool of servers
6. hands on - open mano demonstration in remote pool of servers
videos
 
Cobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale EnvironmentsCobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale Environments
ViSenze - Artificial Intelligence for the Visual Web
 
Using cobbler in a not so small environment 1.77
Using cobbler in a not so small environment 1.77Using cobbler in a not so small environment 1.77
Using cobbler in a not so small environment 1.77
chhorn
 
Linux sever building
Linux sever buildingLinux sever building
Linux sever building
Edmond Yu
 
OpenWRT development solutions - Free wireless router product development
OpenWRT development solutions - Free wireless router product developmentOpenWRT development solutions - Free wireless router product development
OpenWRT development solutions - Free wireless router product development
Paul Dao
 
OpenWRT and Perl
OpenWRT and PerlOpenWRT and Perl
OpenWRT and Perl
Dean Hamstead
 
Implementing SDN Testbed(ONOS & OpenVirteX)
Implementing SDN Testbed(ONOS & OpenVirteX)Implementing SDN Testbed(ONOS & OpenVirteX)
Implementing SDN Testbed(ONOS & OpenVirteX)
sangyun han
 
Juniper Network Automation for KrDAG
Juniper Network Automation for KrDAGJuniper Network Automation for KrDAG
Juniper Network Automation for KrDAG
KwonSun Bae
 
OVN 設定サンプル | OVN config example 2015/12/27
OVN 設定サンプル | OVN config example 2015/12/27OVN 設定サンプル | OVN config example 2015/12/27
OVN 設定サンプル | OVN config example 2015/12/27
Kentaro Ebisawa
 
9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_training9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_training
videos
 
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible
Tommy Lee
 
Windows deployment on bare metal using ironic
Windows deployment on bare metal using ironicWindows deployment on bare metal using ironic
Windows deployment on bare metal using ironic
Srinivasa Acharya
 
Open stack implementation
Open stack implementation Open stack implementation
Open stack implementation
Soumyajit Basu
 
Ironic
IronicIronic
Ironic
Haomeng Wang
 
Cobbler - Fast and reliable multi-OS provisioning
Cobbler - Fast and reliable multi-OS provisioningCobbler - Fast and reliable multi-OS provisioning
Cobbler - Fast and reliable multi-OS provisioning
RUDDER
 
High performance content hosting
High performance content hosting High performance content hosting
High performance content hosting
Aleksey Korzun
 
5. hands on - building local development environment with Open Mano
5. hands on - building local development environment with Open Mano5. hands on - building local development environment with Open Mano
5. hands on - building local development environment with Open Mano
videos
 
Automação do físico ao NetSecDevOps
Automação do físico ao NetSecDevOpsAutomação do físico ao NetSecDevOps
Automação do físico ao NetSecDevOps
Raul Leite
 
6. hands on - open mano demonstration in remote pool of servers
6. hands on - open mano demonstration in remote pool of servers6. hands on - open mano demonstration in remote pool of servers
6. hands on - open mano demonstration in remote pool of servers
videos
 
Using cobbler in a not so small environment 1.77
Using cobbler in a not so small environment 1.77Using cobbler in a not so small environment 1.77
Using cobbler in a not so small environment 1.77
chhorn
 
Linux sever building
Linux sever buildingLinux sever building
Linux sever building
Edmond Yu
 
OpenWRT development solutions - Free wireless router product development
OpenWRT development solutions - Free wireless router product developmentOpenWRT development solutions - Free wireless router product development
OpenWRT development solutions - Free wireless router product development
Paul Dao
 
Implementing SDN Testbed(ONOS & OpenVirteX)
Implementing SDN Testbed(ONOS & OpenVirteX)Implementing SDN Testbed(ONOS & OpenVirteX)
Implementing SDN Testbed(ONOS & OpenVirteX)
sangyun han
 
Juniper Network Automation for KrDAG
Juniper Network Automation for KrDAGJuniper Network Automation for KrDAG
Juniper Network Automation for KrDAG
KwonSun Bae
 
OVN 設定サンプル | OVN config example 2015/12/27
OVN 設定サンプル | OVN config example 2015/12/27OVN 設定サンプル | OVN config example 2015/12/27
OVN 設定サンプル | OVN config example 2015/12/27
Kentaro Ebisawa
 
9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_training9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_training
videos
 
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible
Tommy Lee
 
Windows deployment on bare metal using ironic
Windows deployment on bare metal using ironicWindows deployment on bare metal using ironic
Windows deployment on bare metal using ironic
Srinivasa Acharya
 
Open stack implementation
Open stack implementation Open stack implementation
Open stack implementation
Soumyajit Basu
 

Viewers also liked (8)

The Portfolio Copy
The Portfolio   CopyThe Portfolio   Copy
The Portfolio Copy
irfanrahmed
 
Hardware accelerated switching with Linux @ SWLUG Talks May 2014
Hardware accelerated switching with Linux @ SWLUG Talks May 2014Hardware accelerated switching with Linux @ SWLUG Talks May 2014
Hardware accelerated switching with Linux @ SWLUG Talks May 2014
Nat Morris
 
New Networking Technology Survey & Analysis
New Networking Technology Survey & AnalysisNew Networking Technology Survey & Analysis
New Networking Technology Survey & Analysis
IT Brand Pulse
 
NFD9 - Matt Peterson, Data Center Operations
NFD9 - Matt Peterson, Data Center OperationsNFD9 - Matt Peterson, Data Center Operations
NFD9 - Matt Peterson, Data Center Operations
Cumulus Networks
 
Open Networking for Your OpenStack
Open Networking for Your OpenStackOpen Networking for Your OpenStack
Open Networking for Your OpenStack
Cumulus Networks
 
Cumulus Linux 2.5.4
Cumulus Linux 2.5.4Cumulus Linux 2.5.4
Cumulus Linux 2.5.4
Cumulus Networks
 
今よりも少し(?)昔、 Windowsを作ろうとした話
今よりも少し(?)昔、 Windowsを作ろうとした話今よりも少し(?)昔、 Windowsを作ろうとした話
今よりも少し(?)昔、 Windowsを作ろうとした話
Masaru Oki
 
Onieで遊んでみようとした話
Onieで遊んでみようとした話Onieで遊んでみようとした話
Onieで遊んでみようとした話
Masaru Oki
 
The Portfolio Copy
The Portfolio   CopyThe Portfolio   Copy
The Portfolio Copy
irfanrahmed
 
Hardware accelerated switching with Linux @ SWLUG Talks May 2014
Hardware accelerated switching with Linux @ SWLUG Talks May 2014Hardware accelerated switching with Linux @ SWLUG Talks May 2014
Hardware accelerated switching with Linux @ SWLUG Talks May 2014
Nat Morris
 
New Networking Technology Survey & Analysis
New Networking Technology Survey & AnalysisNew Networking Technology Survey & Analysis
New Networking Technology Survey & Analysis
IT Brand Pulse
 
NFD9 - Matt Peterson, Data Center Operations
NFD9 - Matt Peterson, Data Center OperationsNFD9 - Matt Peterson, Data Center Operations
NFD9 - Matt Peterson, Data Center Operations
Cumulus Networks
 
Open Networking for Your OpenStack
Open Networking for Your OpenStackOpen Networking for Your OpenStack
Open Networking for Your OpenStack
Cumulus Networks
 
今よりも少し(?)昔、 Windowsを作ろうとした話
今よりも少し(?)昔、 Windowsを作ろうとした話今よりも少し(?)昔、 Windowsを作ろうとした話
今よりも少し(?)昔、 Windowsを作ろうとした話
Masaru Oki
 
Onieで遊んでみようとした話
Onieで遊んでみようとした話Onieで遊んでみようとした話
Onieで遊んでみようとした話
Masaru Oki
 
Ad

Similar to The Switch as a Server - PuppetConf 2014 (20)

Switch as a Server - PuppetConf 2014 - Leslie Carr
Switch as a Server - PuppetConf 2014 - Leslie CarrSwitch as a Server - PuppetConf 2014 - Leslie Carr
Switch as a Server - PuppetConf 2014 - Leslie Carr
Cumulus Networks
 
Medusa Project
Medusa ProjectMedusa Project
Medusa Project
Sameer Verma
 
Unattended Deployment with Zero Touch Provisioning (ZTP)
Unattended Deployment with Zero Touch Provisioning (ZTP)Unattended Deployment with Zero Touch Provisioning (ZTP)
Unattended Deployment with Zero Touch Provisioning (ZTP)
Cumulus Networks
 
Automating Networking! Do I Have to Start at Ground Zero?
Automating Networking! Do I Have to Start at Ground Zero?Automating Networking! Do I Have to Start at Ground Zero?
Automating Networking! Do I Have to Start at Ground Zero?
Puppet
 
Automation day red hat ansible
   Automation day red hat ansible    Automation day red hat ansible
Automation day red hat ansible
Rodrigo Missiaggia
 
Chef arista devops days a'dam 2015
Chef arista devops days a'dam 2015Chef arista devops days a'dam 2015
Chef arista devops days a'dam 2015
Edwin Beekman
 
A Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy SystemA Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy System
adrian_nye
 
Network Automation Tools
Network Automation ToolsNetwork Automation Tools
Network Automation Tools
Edwin Beekman
 
Ltsp
LtspLtsp
Ltsp
Barcamp Kerala
 
the NML project
the NML projectthe NML project
the NML project
Lei Yang
 
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxPractical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Samsung Open Source Group
 
Automated Deployment & Benchmarking with Chef, Cobbler and Rally for OpenStack
Automated Deployment & Benchmarking with Chef, Cobbler and Rally for OpenStackAutomated Deployment & Benchmarking with Chef, Cobbler and Rally for OpenStack
Automated Deployment & Benchmarking with Chef, Cobbler and Rally for OpenStack
NTT Communications Technology Development
 
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Puppet
 
Linux Desktop Automation
Linux Desktop AutomationLinux Desktop Automation
Linux Desktop Automation
Rui Lapa
 
Drupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google Cloud
Drupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google CloudDrupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google Cloud
Drupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google Cloud
Dropsolid
 
Manage your switches like servers
Manage your switches like serversManage your switches like servers
Manage your switches like servers
Cumulus Networks
 
Surat MuleSoft Meetup#2 - Anypoint Runtime Fabric
Surat MuleSoft Meetup#2 - Anypoint Runtime FabricSurat MuleSoft Meetup#2 - Anypoint Runtime Fabric
Surat MuleSoft Meetup#2 - Anypoint Runtime Fabric
Jitendra Bafna
 
Chicago Docker Meetup Presentation - Mediafly
Chicago Docker Meetup Presentation - MediaflyChicago Docker Meetup Presentation - Mediafly
Chicago Docker Meetup Presentation - Mediafly
Mediafly
 
Unix Automation using centralized configuration management tool
Unix Automation using centralized configuration management toolUnix Automation using centralized configuration management tool
Unix Automation using centralized configuration management tool
Torrid Networks Private Limited
 
Unix Automation using centralized configuration management tool
Unix Automation using centralized configuration management toolUnix Automation using centralized configuration management tool
Unix Automation using centralized configuration management tool
Torrid Networks Private Limited
 
Switch as a Server - PuppetConf 2014 - Leslie Carr
Switch as a Server - PuppetConf 2014 - Leslie CarrSwitch as a Server - PuppetConf 2014 - Leslie Carr
Switch as a Server - PuppetConf 2014 - Leslie Carr
Cumulus Networks
 
Unattended Deployment with Zero Touch Provisioning (ZTP)
Unattended Deployment with Zero Touch Provisioning (ZTP)Unattended Deployment with Zero Touch Provisioning (ZTP)
Unattended Deployment with Zero Touch Provisioning (ZTP)
Cumulus Networks
 
Automating Networking! Do I Have to Start at Ground Zero?
Automating Networking! Do I Have to Start at Ground Zero?Automating Networking! Do I Have to Start at Ground Zero?
Automating Networking! Do I Have to Start at Ground Zero?
Puppet
 
Chef arista devops days a'dam 2015
Chef arista devops days a'dam 2015Chef arista devops days a'dam 2015
Chef arista devops days a'dam 2015
Edwin Beekman
 
A Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy SystemA Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy System
adrian_nye
 
Network Automation Tools
Network Automation ToolsNetwork Automation Tools
Network Automation Tools
Edwin Beekman
 
the NML project
the NML projectthe NML project
the NML project
Lei Yang
 
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxPractical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Samsung Open Source Group
 
Automated Deployment & Benchmarking with Chef, Cobbler and Rally for OpenStack
Automated Deployment & Benchmarking with Chef, Cobbler and Rally for OpenStackAutomated Deployment & Benchmarking with Chef, Cobbler and Rally for OpenStack
Automated Deployment & Benchmarking with Chef, Cobbler and Rally for OpenStack
NTT Communications Technology Development
 
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Puppet
 
Linux Desktop Automation
Linux Desktop AutomationLinux Desktop Automation
Linux Desktop Automation
Rui Lapa
 
Drupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google Cloud
Drupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google CloudDrupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google Cloud
Drupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google Cloud
Dropsolid
 
Manage your switches like servers
Manage your switches like serversManage your switches like servers
Manage your switches like servers
Cumulus Networks
 
Surat MuleSoft Meetup#2 - Anypoint Runtime Fabric
Surat MuleSoft Meetup#2 - Anypoint Runtime FabricSurat MuleSoft Meetup#2 - Anypoint Runtime Fabric
Surat MuleSoft Meetup#2 - Anypoint Runtime Fabric
Jitendra Bafna
 
Chicago Docker Meetup Presentation - Mediafly
Chicago Docker Meetup Presentation - MediaflyChicago Docker Meetup Presentation - Mediafly
Chicago Docker Meetup Presentation - Mediafly
Mediafly
 
Unix Automation using centralized configuration management tool
Unix Automation using centralized configuration management toolUnix Automation using centralized configuration management tool
Unix Automation using centralized configuration management tool
Torrid Networks Private Limited
 
Unix Automation using centralized configuration management tool
Unix Automation using centralized configuration management toolUnix Automation using centralized configuration management tool
Unix Automation using centralized configuration management tool
Torrid Networks Private Limited
 
Ad

More from Puppet (20)

Puppet Community Day: Planning the Future Together
Puppet Community Day: Planning the Future TogetherPuppet Community Day: Planning the Future Together
Puppet Community Day: Planning the Future Together
Puppet
 
The Evolution of Puppet: Key Changes and Modernization Tips
The Evolution of Puppet: Key Changes and Modernization TipsThe Evolution of Puppet: Key Changes and Modernization Tips
The Evolution of Puppet: Key Changes and Modernization Tips
Puppet
 
Can You Help Me Upgrade to Puppet 8? Tips, Tools & Best Practices for Your Up...
Can You Help Me Upgrade to Puppet 8? Tips, Tools & Best Practices for Your Up...Can You Help Me Upgrade to Puppet 8? Tips, Tools & Best Practices for Your Up...
Can You Help Me Upgrade to Puppet 8? Tips, Tools & Best Practices for Your Up...
Puppet
 
Bolt Dynamic Inventory: Making Puppet Easier
Bolt Dynamic Inventory: Making Puppet EasierBolt Dynamic Inventory: Making Puppet Easier
Bolt Dynamic Inventory: Making Puppet Easier
Puppet
 
Customizing Reporting with the Puppet Report Processor
Customizing Reporting with the Puppet Report ProcessorCustomizing Reporting with the Puppet Report Processor
Customizing Reporting with the Puppet Report Processor
Puppet
 
Puppet at ConfigMgmtCamp 2025 Sponsor Deck
Puppet at ConfigMgmtCamp 2025 Sponsor DeckPuppet at ConfigMgmtCamp 2025 Sponsor Deck
Puppet at ConfigMgmtCamp 2025 Sponsor Deck
Puppet
 
The State of Puppet in 2025: A Presentation from Developer Relations Lead Dav...
The State of Puppet in 2025: A Presentation from Developer Relations Lead Dav...The State of Puppet in 2025: A Presentation from Developer Relations Lead Dav...
The State of Puppet in 2025: A Presentation from Developer Relations Lead Dav...
Puppet
 
Let Red be Red and Green be Green: The Automated Workflow Restarter in GitHub...
Let Red be Red and Green be Green: The Automated Workflow Restarter in GitHub...Let Red be Red and Green be Green: The Automated Workflow Restarter in GitHub...
Let Red be Red and Green be Green: The Automated Workflow Restarter in GitHub...
Puppet
 
Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepo
Puppet
 
Puppetcamp r10kyaml
Puppetcamp r10kyamlPuppetcamp r10kyaml
Puppetcamp r10kyaml
Puppet
 
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)
Puppet
 
Puppet camp vscode
Puppet camp vscodePuppet camp vscode
Puppet camp vscode
Puppet
 
Modules of the twenties
Modules of the twentiesModules of the twenties
Modules of the twenties
Puppet
 
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codeApplying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance code
Puppet
 
KGI compliance as-code approach
KGI compliance as-code approachKGI compliance as-code approach
KGI compliance as-code approach
Puppet
 
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automation
Puppet
 
Keynote: Puppet camp compliance
Keynote: Puppet camp complianceKeynote: Puppet camp compliance
Keynote: Puppet camp compliance
Puppet
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNow
Puppet
 
Puppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet: The best way to harden Windows
Puppet: The best way to harden Windows
Puppet
 
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020
Puppet
 
Puppet Community Day: Planning the Future Together
Puppet Community Day: Planning the Future TogetherPuppet Community Day: Planning the Future Together
Puppet Community Day: Planning the Future Together
Puppet
 
The Evolution of Puppet: Key Changes and Modernization Tips
The Evolution of Puppet: Key Changes and Modernization TipsThe Evolution of Puppet: Key Changes and Modernization Tips
The Evolution of Puppet: Key Changes and Modernization Tips
Puppet
 
Can You Help Me Upgrade to Puppet 8? Tips, Tools & Best Practices for Your Up...
Can You Help Me Upgrade to Puppet 8? Tips, Tools & Best Practices for Your Up...Can You Help Me Upgrade to Puppet 8? Tips, Tools & Best Practices for Your Up...
Can You Help Me Upgrade to Puppet 8? Tips, Tools & Best Practices for Your Up...
Puppet
 
Bolt Dynamic Inventory: Making Puppet Easier
Bolt Dynamic Inventory: Making Puppet EasierBolt Dynamic Inventory: Making Puppet Easier
Bolt Dynamic Inventory: Making Puppet Easier
Puppet
 
Customizing Reporting with the Puppet Report Processor
Customizing Reporting with the Puppet Report ProcessorCustomizing Reporting with the Puppet Report Processor
Customizing Reporting with the Puppet Report Processor
Puppet
 
Puppet at ConfigMgmtCamp 2025 Sponsor Deck
Puppet at ConfigMgmtCamp 2025 Sponsor DeckPuppet at ConfigMgmtCamp 2025 Sponsor Deck
Puppet at ConfigMgmtCamp 2025 Sponsor Deck
Puppet
 
The State of Puppet in 2025: A Presentation from Developer Relations Lead Dav...
The State of Puppet in 2025: A Presentation from Developer Relations Lead Dav...The State of Puppet in 2025: A Presentation from Developer Relations Lead Dav...
The State of Puppet in 2025: A Presentation from Developer Relations Lead Dav...
Puppet
 
Let Red be Red and Green be Green: The Automated Workflow Restarter in GitHub...
Let Red be Red and Green be Green: The Automated Workflow Restarter in GitHub...Let Red be Red and Green be Green: The Automated Workflow Restarter in GitHub...
Let Red be Red and Green be Green: The Automated Workflow Restarter in GitHub...
Puppet
 
Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepo
Puppet
 
Puppetcamp r10kyaml
Puppetcamp r10kyamlPuppetcamp r10kyaml
Puppetcamp r10kyaml
Puppet
 
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)
Puppet
 
Puppet camp vscode
Puppet camp vscodePuppet camp vscode
Puppet camp vscode
Puppet
 
Modules of the twenties
Modules of the twentiesModules of the twenties
Modules of the twenties
Puppet
 
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codeApplying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance code
Puppet
 
KGI compliance as-code approach
KGI compliance as-code approachKGI compliance as-code approach
KGI compliance as-code approach
Puppet
 
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automation
Puppet
 
Keynote: Puppet camp compliance
Keynote: Puppet camp complianceKeynote: Puppet camp compliance
Keynote: Puppet camp compliance
Puppet
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNow
Puppet
 
Puppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet: The best way to harden Windows
Puppet: The best way to harden Windows
Puppet
 
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020
Puppet
 

Recently uploaded (20)

IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 

The Switch as a Server - PuppetConf 2014

  • 1. v Switch as a Server Leslie Carr
  • 2. Who is Leslie? Operations Engineer  Google  Craigslist  Twitter  Wikimedia Foundation (Wikipedia)
  • 3. Who is Leslie? Cumulus Networks®
  • 4. 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
  • 5. Cumulus® Linux® Hardware Compatibility List cumulusnetworks.com 4
  • 6. v Installation and Configuration
  • 7. 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
  • 8. 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
  • 9. ONIE 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
  • 10. Cumulus Linux OS Installation with ONIE 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 cumulusnetworks.com 9
  • 11. 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: Header Value Example ------ ----- ------- User-Agent CumulusLinux-AutoProvision/0.4 CUMULUS-ARCH CPU architecture powerpc CUMULUS-BUILD 1.5.1-5c6829a-201309251712-final CUMULUS-LICENSE-INSTALLED Either 0 or 1 1 CUMULUS-MANUFACTURER dni CUMULUS-PRODUCTNAME et-7448bf CUMULUS-SERIAL XYZ123004 CUMULUS-VERSION 1.5.1 CUMULUS-PROV-COUNT 0 CUMULUS-PROV-MAX 32 ZTP
  • 12. ZTP Execution Script must contain CUMULUS-AUTOPROVISIONING Can be in the following languages :  Perl  Python  Ruby  Shell
  • 13. ZTP Example with Puppet 1 #!/bin/bash 2 3 function error() { 4 echo -e "e[0;33mERROR: Provisioning failed running $BASH_COMMAND at line $BASH_LINENO of $(basename $0) e[0m" >&2 5 exit 1 6 } 7 trap error ERR 8 # Allow Cumulus testing repo 9 sed -i /etc/apt/sources.list -e 's/^#s*(deb.*testing.*)$/1/g' 10 11 # Upgrade and install Puppet 12 apt-get update -y 13 apt-get upgrade -y 14 apt-get install puppet -y 15 16 echo "Configuring puppet" | wall -n 17 sed -i /etc/default/puppet -e 's/START=no/START=yes/' 18 19 service puppet restart 20 21 # CUMULUS-AUTOPROVISIONING 22 23 exit 0
  • 14. Comparison Similar to installing a server OS using PXE app app app Server OS BIOS and PXE bare metal server app app app Network OS Boot Loader and ONIE bare metal switch ONIE looks for and installs network OS image boot into Network OS boot into Boot Loader and ONIE Boot Loader and ONIE
  • 15. Video
  • 16. Because Debian based, we can do everything via puppet  users  interface configuration  routing software (Quagga) configuration Puppet
  • 18. Make Life Even Better How can we make your life better?
  • 19. Interim Puppet Server! Warning - small hard drive and limited processing power -- not recommended for long term Scenario - installing new rack with limited connectivity * make switch puppetmaster
  • 20. Example Topology leaf 1 leaf 2 swp1 - 4 swp1 - 4 Puppetmaster
  • 21. Video
  • 23. Existing Network Interface Managers  Optimized for desktop and hypervisor environments  Complexity increases with interface configuration scale  Burden of network interface configuration dependency ordering is on the user  Lack of support for incremental changes to network interfaces: minimal disruption  Lack of tools to query and validate running interface configuration
  • 24. Linux Networking Switch networking characteristics:  Large number of interfaces  Switch ports, bridges, bonds, vlans  Large number of interface attributes  Addresses, bridge stp, mstp and igmp attributes  Mostly static configuration
  • 25. ifupdown Benefits  Pluggable architecture  Uses native Linux tools, enabling faster development  Good user documentation, well known tool Challenges  No knowledge of interface configuration dependency (burden on the user)  Large scale configuration results in large files or too many files  No support for incremental configurations  No support to query/validate running interface configuration  literate program  Bugs
  • 26. ifupdown2  New implementation of ifupdown in Python  Backward compatible with ifupdown interfaces format and commands  Continues to use existing Linux native tools to configure network interfaces.  Large number of interface attributes  Pluggable architecture add-on python modules for interface configuration  Meets some shortcomings seen with existing network interface managers on network switches  ifreload acts like HUP instead of restart
  • 27. ifupdown2 compare cli? ifupdown auto swp19 iface swp19 inet manual up link set $IFACE up down link set $IFACE down pre-up /sbin/ethtool -s $IFACE speed 1000 auto swp19.100 iface swp19.100 inet manual up link set $IFACE up down link set $IFACE down auto vlan100 iface vlan100 inet manual bridge_ports swp19.100 mstpctl_stp on ifupdown2 auto swp19 iface swp19 link-speed 1000 auto vlan100 iface vlan100 bridge-ports swp19.100 bridge-stp on
  • 28. Network Interface Dependency ▪ Handles network interface dependency cumulusnetworks.com using dependency graphs ▪ Uses topological sort to order network interface configurations ▪ Provides options and tools to query and execute interface configuration in dependency order ▪ Built-in devices support ifupdown2 implicitly recognizes vlan and physical interfaces that appear as dependents and does the required minimal configuration to get them up: No need to specify `iface swp1.1000` in the example
  • 29. ifupdown2 - Mako Templates ## Note that the "range" ends with '4' ## But will iterate only from 1 to 3 ## See Python range() for more details % for i in range(1, 4): auto swp${i} iface swp${i} % endfor <%def name="interface_defaults()"> mtu 9000 link-speed 10000 link-duplex full link-autoneg off </%def> % for i in range(3,7): auto swp${i} iface swp${i} ${interface_defaults()} % endfor auto default_bridge iface default_bridge bridge_ports glob swp3-6 bridge-stp on
  • 30. Find out more!  Ifupdown2  https://github.com/CumulusNetworks/ifupdown2  PTM  https://github.com/CumulusNetworks/ptm Example Code  https://github.com/LeslieCarr/puppet-presentation Cumulus Open Source  http://oss.cumulusnetworks.com Twitter  @lesliegeek
  • 31. Bringing the Linux Revolution to Networking Thank You! © 2014 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. cumulusnetworks.com