Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Manage your switches like servers

573 views

Published on

Learn how to deploy a switch from scratch using Puppet and zero-touch provisioning and the flexibility of using Linux as a network operating system

Published in: Technology
  • Be the first to comment

Manage your switches like servers

  1. 1. v “Manage Your Switches Like Servers” Puppet Labs and Cumulus Networks Presented By: Carl Caum and Leslie Carr September 24th, 2015
  2. 2. Who is Carl? § Technical Marketing Manager •  @ccaum •  Recovering sysadmin •  Interested in continuous delivery and  IT cultures that promote empathy cumulusnetworks.com
  3. 3. The Competing Pressures of IT cumulusnetworks.com 3 Reliability Speed
  4. 4. 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%
  5. 5. Main Steps of Puppet Enterprise 5 service { 'ssh': ensure => running, enable => true, } Choose from thousands of pre-built modules Simulate Enforce ReportDefine cumulusnetworks.com
  6. 6. The Puppet Enterprise Approach cumulusnetworks.com 6 DEFINE AUTOMATE operating system resources · virtual machines · clouds · network devices · storage devices · applications
  7. 7. Puppet Enterprise Steps cumulusnetworks.com 7 Choose from thousands of pre- built modules. Define the desired state using a powerful, declarative language. Simulate Enforce ReportDefine
  8. 8. Puppet Enterprise Steps cumulusnetworks.com 8 Simulate Enforce ReportDefine Simulate changes before you deploy them.
  9. 9. Puppet Enterprise Steps cumulusnetworks.com 9 Simulate Enforce ReportDefine Enforce changes and remediate configuration drift
  10. 10. Puppet Enterprise Steps cumulusnetworks.com 10 Simulate Enforce ReportDefine Gain insight into your infrastructure.
  11. 11. Puppet Enterprise for Networking cumulusnetworks.com 11 Networking before DevOps •  Siloed teams •  Siloed tooling and processes •  Slow collaboration and information sharing •  Different processes and tasks for provisioning vs ongoing change management
  12. 12. Puppet Enterprise for Networking cumulusnetworks.com 12 Collaborative Networking •  Unify change insight & management for all infrastructure •  Enhance collaboration between SysOps and NetOps
  13. 13. Puppet Enterprise for Networking cumulusnetworks.com 13 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
  14. 14. Puppet Enterprise for Networking cumulusnetworks.com 14 App Day One •  Configuration of authentication, SNMP, NTP, syslog Day Two •  Configuration of interfaces, port channels, QoS policies Day Three •  Application deployments (dynamic routes, VLANs, change audits) •  Model network dependencies and deploy in concert with compute changes •  Holistically monitor app deployments in Puppet Configuration Manager DB Network AppApp
  15. 15. Who is Leslie? § Operations Engineer •  @lesliegeek •  Google •  Craigslist •  Twitter •  Wikimedia Foundation (Wikipedia) cumulusnetworks.com
  16. 16. Cumulus Networks at PuppetConf 2015 cumulusnetworks.com 16 See Cumulus Networks Leslie Carr speak on “Why NetDevOps?” at PuppetConf 2015 1:30pm, Friday, October 9th
  17. 17. 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
  18. 18. Single-Vendor blob -  Constrained innovation -  High margins for vendors -  Slow feature dev cycles Great Physical Networking with the Cumulus ® Linux ® OS 18 HARDWARE APP APPAPP OPERATING SYSTEM Customer Choice -  Vibrant DevOps community -  Best-of-breed vendors -  Rapid deployment hardware operating system app app app NSX cumulusnetworks.com
  19. 19. Cumulus® Linux® Hardware Compatibility List cumulusnetworks.com 19
  20. 20. v Installation and Configuration
  21. 21. 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
  22. 22. 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
  23. 23. 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 ONIE cumulusnetworks.com
  24. 24. 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
  25. 25. Cumulus Linux OS Installation with ONIE cumulusnetworks.com 25 § 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-­‐*   1 2 Cumulus Linux OS image
  26. 26. 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 – Zero Touch Provisioning cumulusnetworks.com
  27. 27. § Script must contain CUMULUS-­‐AUTOPROVISIONING     Can be in the following languages : •  Perl •  Python •  Ruby •  Shell ZTP(Zero Touch Provisioning) Execution cumulusnetworks.com
  28. 28. 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       cumulusnetworks.com
  29. 29. Video cumulusnetworks.com
  30. 30. § Because Debian based, we can do everything with Puppet Enterprise •  users •  interface configuration •  routing software (Quagga) configuration Puppet cumulusnetworks.com
  31. 31. Video! cumulusnetworks.com
  32. 32. How can we make your life better? Make Life Even Better cumulusnetworks.com
  33. 33. 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
  34. 34. Example Topology leaf 1 leaf 2 swp1 - 4 swp1 - 4 Puppetmaster cumulusnetworks.com
  35. 35. Video cumulusnetworks.com
  36. 36. Transition cumulusnetworks.com
  37. 37. Puppet Modules and Other Resources cumulusnetworks.com 37 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/
  38. 38. §  PTM •  https://github.com/CumulusNetworks/ptm Example Code •  https://github.com/LeslieCarr/puppet-presentation Cumulus Open Source •  http://oss.cumulusnetworks.com Twitter •  @lesliegeek Find out more! cumulusnetworks.com
  39. 39. The Building Blocks § Cumulus VX https://cumulusnetworks.com/cumulus-vx/ § Cumulus Workbench https://cumulusnetworks.com/cw/ § Cumulus Linux http://cumulusnetworks.com/cumulus-linux/overview/ 39 Prototype TestAutomate Deploy { Virtual Appliance } { Testing in the Cloud } { The Real Deal } cumulusnetworks.com
  40. 40. Cumulus Networks at PuppetConf 2015 cumulusnetworks.com 40 See Cumulus Networks Leslie Carr speak on “Why NetDevOps?” at PuppetConf 2015 1:30pm, Friday, October 9th
  41. 41. Q&A cumulusnetworks.com 41
  42. 42. © 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 42 Unleashing the Power of Open Networking

×