
If ( Network == Server ) { Magic happens } Attilla de Groot Sr. Systems Engineer, HCIE #3494 | Cumulus Networks 1 Cumulus Linux ArChiteCture Space Network Orchestration Automation Monitoring Routing User User Suite switchd Bridging VXLAN Third Party/Customer Applications Switch HAL ASIC Routing ARP Bridge Ethernet VxLAN Driver Tables Table Table Interfaces Linux Kernel CPU, RAM, Flash, etc. Switch Silicon Front Panel Ports 2 Network OrChestration Software deFining your network How to do Orchestration Linux DevOPS tools § AnsiBle, Puppet, Chef, Saltstack OrChestration § Infrastructure as code § Telemetry data § Continuous integration 3 Who recently made a network change? 4 Did anyone had a change without issues? 5 What is CI / CD Continuous Integration (CI) Continuous Deployment (CD) A system where all changes are Built on a CI system where changes automatically tested Before Being are automatically pushed to production pushed to production or seen By after tests past, often multiple times others per day Why aren’t you Not for doing this? everyone 6 InFrastruCture as Code Build tools Implementing CI/CD Build Tool? § The digital duct tape Common Tools § GitlaB § Jenkins § Travis CI § Atlassian BamBoo GitLaB 7 InFrastruCture as Code Pipeline Git change Successful push validation Infrastructure 1.1 Infrastructure Build tool pipeline 1.0 Infrastructure 1.0 Automated Validation Testing failed 8 Automated testing Testing inFrastruCture Traditional networking Cumulus Linux Testing environment Testing environment § Physical laB § Physical laB? § Virtualization environment? § Cumulus VX DevOPS integration? DevOPS integration! § Proprietary modules § Native modules § Vendor tools § Vagrant, VirtualBox, LiBvirt InfrastruCture validation InfrastruCture validation § Vendor APIs? § Home grown tools (Python?) § Stackstorm § Cumulus NetQ 9 Automated testing Cumulus VX Linux network virtualization Cumulus VX § Linux networking § Familiarizing Copying produCtion § VirtualBox, VMware, LiBvirt § Vagrant § Topology Generator 10 Automated testing Validation Linting tests Unit and System tests Code validation Validating the inFrastruCture § Test Yaml / Jinja § Unit tests are limited § Enfore a style § ComBining Unit and System tests § easy trouBleshooting Testing multiple verticals § Does my BGP session work? § Are routes Being learned? AND • Is my application redundant? • Does my application still work? 11 Automated testing Cumulus NetQ Design Provision Automate Validate TrouBleshoot Analyze Day 0 to day 1 Day 2 and on Cumulus Linux Cumulus NetQ Open Network Operating System Telemetry-Based Fabric validation application Open OS foundation of network Validate changes flexiBility & choice of apps Before & during production rollout Disaggregation of SW & HW Precise fault location alerts supply chain freedom for rapid proBlem resolution Speed of provisioning workloads Time-machine diagnosis & troubleshooting with automation at scale 12 Automated testing NetQ Agent NetQ Agent NetQ Agent SubsCribes to Linux Kernel Events § Interface State BGP mLAG VxLAN § MTU § Routes learned § Macs learned § (M)LAG state Linux Kernel Polls routing InFormation § OSPF, PIM, BGP, EVPN § NeighBor state § error conditions 13 Automated testing Fabric state testing over time NetQ Agent New Route Added OSPF NeighBor Change BGP mLAG VxLAN MAC Address Removed Linux Kernel 14 15 Automated testing Gitlab testing Test results returned Checks for updates GitLaB Pulls code update and runs tests git push Developer Build Server 16 Automated testing Gitlab testing stages: - staging Gitlab Pipeline - production staging: tags: - staging before_sCript: Stages, before_script, after_script - cd automation § Stages run in order on success stage: staging script: § *_script run at each stage - 'ansible-playbook deploy.yml' - sleep 25 Script deFines testing steps - netq check bgp - netq check mtu § Git repository is cloned on Build server - netq check vxlan § each script step is run in environment production: § If step fails, validation fails tags: - production § Simple Bash scripts can Be added before_sCript: - cd automation stage: production BeFore/After stages For setup / when: manual cleanup script: - 'ansible-playbook deploy.yml' § vagrant up / vagrant destroy -f - sleep 10 - netq check bgp 17 CI/CD Demo 18 Join the Linux Networking Revolution Linux 101 Linux Networking Linux ResourCe eBook Guides Center www.cumulusnetworks.com/lp/linux-networking-resources/ QUESTIONS? 19 Join the Cumulus Networks Community! Get involved in the conversation: § Join the community & share your Cumulus Linux tips and experiences: https://getsatisfaction.cumulusnetworks.com/cumulus § Chat with others on our Slack channel: https://cumulusnetworks.slack.com/ § Keep on learning: https://community.cumulusnetworks.com Download Cumulus VX to work on proofs of concept, test your automation and continue practicing: § https://cumulusnetworks.com/cumulus-vx/ Learn at your own pace with demos using our reference topology: § https://githuB.com/CumulusNetworks/cldemo-vagrant § https://cumulusnetworks.com/products/cumulus-in-the-cloud/ 20 Thank you! 21.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages21 Page
-
File Size-