Test-Driven-Development for Networking: Making CI Work for You by Colin McNamara

Continuous Integration and Test 
Driven Dev for Network Engineers 
www.Nexusis.com 1 877.286.3987 
Colin McNamara CCIE #18233 
@colinmcnamara
www.Nexusis.com 2 877.286.3987
Agenda 
 What drives my perspective 
 Why TDD / CI for Network Engineers 
 CI / TDD overview 
 Network Change Management Use Case 
www.Nexusis.com 3 877.286.3987
Who am I? 
 Chief Cloud Architect::Nexus 
 OpenStack ATC/Ambassador 
 OpenStack Core Reviewer 
 Manage DevOps Team 
 Manage Agile BPO Team 
 Beard Growth Specialist 
 CCIE 18233, RHCE, ETC, ETC 
 @colinmcnamara 
 www.colinmcnamara.com 
www.Nexusis.com 4 877.286.3987
What do 
we do? 
50% 
upstream 
For Core Dev’s 
Software Development, Systems 
Integration, Network Design 
DenicaCloud 
Rosetta 
Aviator 
More 
Project Denica 
Toolchain for Deploying CI systems 
and the associated tooling into and 
along with various cloud platforms 
Core Contributions 
and solutions in 
OpenStack 
OpenDaylight 
Open vSwitch 
Puppet 
Agile / Lean Software 
Development Practices 
Extensive experience 
with the folliwng: 
• SDN Development for 
Multi Vendor Integrations 
• Agile Process Consulting 
• Cloud Platform 
Development 
• Systems Integration 
• Upstream contributions 
• DevOps Consulting
That all boils down to.. We make unicorn farts 
www.Nexusis.com 6 877.286.3987
www.Nexusis.com 7 877.286.3987 
Why TDD / CI for 
Networking?
Our industry is changing 
www.Nexusis.com 8 877.286.3987
Four closely related items 
www.Nexusis.com 9 877.286.3987
Agile infrastructure evolution 
www.Nexusis.com 10 877.286.3987 
Classic Engineering 
 12 + month dev times 
 QA pushed till last 
 Large amounts of bugs 
 Maps easily to manual 
silo’d process’s 
 ITIL Aligned 
AGILE 
 2 Week Dev times 
 Integrated QA 
 Small bug counts 
 Does not map into silo’d 
process’s 
 Cloud Aligned
Speed Racer (Agile Infrastructure Developer) 
www.Nexusis.com 11 877.286.3987 
• Integrated tools 
• Integrated test QA 
• Software as a manufacturing line 
• Code rolls from Step to Step 
• Need infrastructure as code…
DevOps is the “New” 
www.Nexusis.com 12 877.286.3987 
Network Ops
Core SDN truth 
www.Nexusis.com 13 877.286.3987 
ONE change 
In one FILE 
Can CREATE a system 
Or DESTROY a system
What if you could actually KNOW it would work 
www.Nexusis.com 14 877.286.3987 
 Test EVERY network 
change made 
 Map each application to 
the network component 
underneath 
 Automatically run tests with 
reports of results
www.Nexusis.com 15 877.286.3987
www.Nexusis.com 18 877.286.3987 
Agile Development Continuous 
Integration for Network 
Engineers 
Technical items you need to know
DevOps Workflows 
www.Nexusis.com 19 877.286.3987
Complex View 
www.Nexusis.com 20 877.286.3987
Simple CI System Walk Through 
www.Nexusis.com 21 877.286.3987 
SVC Only 
SVC + Network 
“Virtualized” 
Production 
System
Obligatory Tools Discussion 
www.Nexusis.com 22 877.286.3987
Git / Gerrit 
www.Nexusis.com 23 877.286.3987
www.Nexusis.com 24 877.286.3987
Integration Opportunity for CI Pipelines 
www.Nexusis.com 25 877.286.3987 
 VIRL(CMS) / JunoSphere 
 Functional Test 
 Network OS level testing 
 MATE / WAE 
 Stubs / Modeling 
 Integration Test through API’s 
 Tail-F, Schprokits, Puppet/Chef, Ansible 
 Config Distribution 
 Unified Data Models
www.Nexusis.com 26 877.286.3987 
Use Case 
Change and Release Management
Change and Release Management 
www.Nexusis.com 27 877.286.3987
Change and Release Management 
Jenkins 
Test Harnesses 
Governance 
Tooling 
Git 
Gerrit 
Templates and 
EPG’s 
Git 
Gerrit 
www.Nexusis.com 28 877.286.3987 
Gerrit 
Gerrit 
Jenkins 
Test Harnesses 
Vagrant Ant 
Puppet 
Jenkins 
Test Harnesses 
Vagrant 
Puppet 
Git 
Gerrit 
Puppet 
Other 
Git 
Gerrit 
Test Harnesses 
Puppet 
Other 
Jenkins 
Test Harnesses 
Puppet 
Jenkins Other 
Test Harnesses 
Vagrant 
Puppet 
Gerrit 
Governance 
Tooling
Maturity Levels – how to move forward 
Level0 Level1 Level2 Level3 Level4 
www.Nexusis.com 29 877.286.3987 
• Self Service Builds 
• Nightly Builds 
• Build Artifacts are 
stored 
• Self Services deploy 
to test 
• Auto deploy of 
builds to 1st env 
• Mostly standard 
deploys 
• Significant Test 
execution at build 
time 
• Visibility: Team 
• Latest reports always 
accessible 
• Build on commit 
• Dependency Repo 
• Secured Configs 
• Self-Service deploy 
to test and prod 
• Standard Process 
across all 
environments 
• Some Static analysis 
• Automated Funct 
tests run nightly 
• Visibility: Cross 
siloe’d team 
(DevOps) 
• Historical reports 
available 
• Triggered Builds 
• Build Cluster 
• Test Gated 
Automated 
Promotions 
• Database 
Deployments 
• Multi-tier SOA 
• High Code Coverage 
• Security Scans 
• Risk based manual 
• testing 
• Report trending 
• Build from 
Snapshots 
• Gated Commit 
• Continuous 
Deployment to 
production 
• 100% Coverage 
• Gross Silo Analysis 
Management QA Operations Development 
• Build Value Stream 
Maps 
• Build Scripts 
• Source Control 
• Deployment Scripts 
• Source Control 
• Build Test 
Automation 
• Source Control 
• Visibility: Siloed 
Individuals 
• Tool Generating 
Reporting
How to get there – Level 0 
www.Nexusis.com 30 877.286.3987 
Development 
•Create standards for service chains (cfg,controler) 
•Configuration Templates , puppet modules 
•Use source control - Git 
•Build VSM of specific IT process 
Operations 
•Script Deployments – Expect, Simple Puppet 
•Use source control – Git 
QA 
•Build new services in lab / cloud / virt environment – VIRL / 
GNS3 / VMware / OpenStack 
•Simple test harness built (ping) 
Management 
•Individual Kanban Boards / Ticket tracking 
• Build Value Stream 
Maps 
• Build Scripts 
• Source Control 
• Deployment Scripts 
• Source Control 
• Build Test 
Automation 
• Source Control 
• Visibility: Siloed 
Individuals 
• Tool Generating 
Reporting 
Level1 Level2 
• Self Service 
Builds 
• Nightly Builds 
• Build Artifacts 
are stored 
• Self Services 
deploy to test 
• Auto deploy of 
builds to 1st env 
• Mostly standard 
deploys 
• Significant Test 
execution at 
build time 
• Visibility: Team 
• Latest reports 
always 
accessible 
• Build on commit 
• Dependency 
Repo 
• Secured Configs 
• Self-Service 
deploy to test 
and prod 
• Standard 
Process across 
all environments 
• Some Static 
analysis 
• Automated 
Funct tests run 
nightly 
• Visibility: Cross 
siloe’d team 
(DevOps) 
• Historical 
reports available 
Management QA Operations Development 
Level0
How to get there – Level 1 
www.Nexusis.com 31 877.286.3987 
Development 
• Ci System Implemented 
• Scripts build virtual env on demand 
• Results from built system get stored 
Operations 
• Deployment via Config Mgmt tooling 
•Governance / CI system deployed 
•Ops review of config diffs 
QA 
•CI System Implemented 
•Common functional tests created 
•Common port / path tests created 
Management 
• Visualize flow – Kanban Board for team 
• Initial ScrumBan Process’s Mapped 
• Build Value Stream 
Maps 
• Build Scripts 
• Source Control 
• Deployment Scripts 
• Source Control 
• Build Test 
Automation 
• Source Control 
• Visibility: Siloed 
Individuals 
• Tool Generating 
Reporting 
Level1 Level2 
• Self Service Builds 
• Nightly Builds 
• Build Artifacts are 
stored 
• Self Services deploy 
to test 
• Auto deploy of 
builds to 1st env 
• Mostly standard 
deploys 
• Significant Test 
execution at build 
time 
• Visibility: Team 
• Latest reports always 
accessible 
• Build on commit 
• Dependency 
Repo 
• Secured Configs 
• Self-Service 
deploy to test 
and prod 
• Standard 
Process across 
all environments 
• Some Static 
analysis 
• Automated 
Funct tests run 
nightly 
• Visibility: Cross 
siloe’d team 
(DevOps) 
• Historical 
reports available 
Management QA Operations Development 
Level0
How to get there – Level 2 
www.Nexusis.com 32 877.286.3987 
Development 
• Ci Systems integrated with Governance + Src Control 
• Dendancy Mapping (Mvn, Ant, EPG’s) 
• Keys, Passwords as variables, stored securely 
Operations 
• CI Chain Integrated w/ release 
• Governance tool used for Change Control Board 
• Puppet + Vagrant + Scripts abstracted from Dev, test prod 
QA 
• CI System Implemented 
• CI system running Spec tests / Flake8 etc 
• System building environment and running tests emulating applications 
Management 
• Roll up reports of multiple team boards 
• Burndown charts stored 
• Card movements logged 
• DevOps changes mapped to existing process’s 
• Build Value Stream 
Maps 
• Build Scripts 
• Source Control 
• Deployment Scripts 
• Source Control 
• Build Test 
Automation 
• Source Control 
• Visibility: Siloed 
Individuals 
• Tool Generating 
Reporting 
Level1 Level2 
• Self Service Builds 
• Nightly Builds 
• Build Artifacts are 
stored 
• Self Services deploy 
to test 
• Auto deploy of 
builds to 1st env 
• Mostly standard 
deploys 
• Significant Test 
execution at build 
time 
• Visibility: Team 
• Latest reports always 
accessible 
• Build on commit 
• Dependency Repo 
• Secured Configs 
• Self-Service deploy 
to test and prod 
• Standard Process 
across all 
environments 
• Some Static analysis 
• Automated Funct 
tests run nightly 
• Visibility: Cross 
siloe’d team 
(DevOps) 
• Historical reports 
available 
Management QA Operations Development 
Level0
www.Nexusis.com 33 877.286.3987 
Take Aways
Key Points 
 TDD increases quality / decreases risk / increases velocity 
 Network Operations and Design benefit from Agile 
Methodologies 
 Defining and executing on a maturity model necessary to 
succeed. 
www.Nexusis.com 34 877.286.3987
www.Nexusis.com 35 877.286.3987
www.Nexusis.com 36 877.286.3987 
@colinmcnamara 
www.colinmcnamara.com
1 of 34

Recommended

Using Git/Gerrit and Jenkins to Manage the Code Review Processord by
Using Git/Gerrit and Jenkins to Manage the Code Review ProcessordUsing Git/Gerrit and Jenkins to Manage the Code Review Processord
Using Git/Gerrit and Jenkins to Manage the Code Review ProcessordMarc Karasek
3.8K views17 slides
Large Scale Development with Git and Gerrit - EclipseCon Europe 2012 by
Large Scale Development with Git and Gerrit - EclipseCon Europe 2012Large Scale Development with Git and Gerrit - EclipseCon Europe 2012
Large Scale Development with Git and Gerrit - EclipseCon Europe 2012msohn
2.7K views24 slides
Gerrit Code Review by
Gerrit Code ReviewGerrit Code Review
Gerrit Code ReviewLuca Milanesio
23K views45 slides
Gerrit & Jenkins Workflow: An Integrated CI Demonstration by
Gerrit & Jenkins Workflow: An Integrated CI DemonstrationGerrit & Jenkins Workflow: An Integrated CI Demonstration
Gerrit & Jenkins Workflow: An Integrated CI Demonstrationvanoorts
932 views11 slides
Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14 by
Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14
Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14msohn
2.6K views24 slides
Git and Gerrit Code Review - Tech Talk - 2010_09_23 by
Git and Gerrit Code Review - Tech Talk - 2010_09_23Git and Gerrit Code Review - Tech Talk - 2010_09_23
Git and Gerrit Code Review - Tech Talk - 2010_09_23msohn
3K views45 slides

More Related Content

What's hot

Gerrit Workshop by
Gerrit WorkshopGerrit Workshop
Gerrit WorkshopSteffen Gebert
1.3K views23 slides
Gerrit linuxtag2011 by
Gerrit linuxtag2011Gerrit linuxtag2011
Gerrit linuxtag2011thkoch
4K views42 slides
Git strategies for DevOps by
Git strategies for DevOpsGit strategies for DevOps
Git strategies for DevOpsAhmad Iqbal Ali
93 views16 slides
Maven, Archiva, Subversion and Team City by
Maven, Archiva, Subversion and Team CityMaven, Archiva, Subversion and Team City
Maven, Archiva, Subversion and Team CityBoy Tech
1.9K views13 slides
Simple ci cd with strider cd by
Simple ci cd with strider cdSimple ci cd with strider cd
Simple ci cd with strider cdAmandeep Singh
265 views12 slides
Intro to git and git hub by
Intro to git and git hubIntro to git and git hub
Intro to git and git hubJasleenSondhi
212 views13 slides

What's hot(20)

Gerrit linuxtag2011 by thkoch
Gerrit linuxtag2011Gerrit linuxtag2011
Gerrit linuxtag2011
thkoch4K views
Maven, Archiva, Subversion and Team City by Boy Tech
Maven, Archiva, Subversion and Team CityMaven, Archiva, Subversion and Team City
Maven, Archiva, Subversion and Team City
Boy Tech1.9K views
Simple ci cd with strider cd by Amandeep Singh
Simple ci cd with strider cdSimple ci cd with strider cd
Simple ci cd with strider cd
Amandeep Singh265 views
Intro to git and git hub by JasleenSondhi
Intro to git and git hubIntro to git and git hub
Intro to git and git hub
JasleenSondhi212 views
2015-ghci-presentation-git_gerritJenkins_final by Mythri P K
2015-ghci-presentation-git_gerritJenkins_final2015-ghci-presentation-git_gerritJenkins_final
2015-ghci-presentation-git_gerritJenkins_final
Mythri P K345 views
Gerrit Code Review v3.2 and v3.3 by Luca Milanesio
Gerrit Code Review v3.2 and v3.3Gerrit Code Review v3.2 and v3.3
Gerrit Code Review v3.2 and v3.3
Luca Milanesio142 views
The journey to GitOps by Nicola Baldi
The journey to GitOpsThe journey to GitOps
The journey to GitOps
Nicola Baldi327 views
GitOps with ArgoCD by CloudOps2005
GitOps with ArgoCDGitOps with ArgoCD
GitOps with ArgoCD
CloudOps20053.3K views
Increase the Velocity of Your Software Releases Using GitHub and DeployHub by DevOps.com
Increase the Velocity of Your Software Releases Using GitHub and DeployHubIncrease the Velocity of Your Software Releases Using GitHub and DeployHub
Increase the Velocity of Your Software Releases Using GitHub and DeployHub
DevOps.com237 views
Speeding up your team with GitOps by Brice Fernandes
Speeding up your team with GitOpsSpeeding up your team with GitOps
Speeding up your team with GitOps
Brice Fernandes300 views
It's all about feedback - code review as a great tool in the agile toolbox by Stefan Lay
It's all about feedback - code review as a great tool in the agile toolboxIt's all about feedback - code review as a great tool in the agile toolbox
It's all about feedback - code review as a great tool in the agile toolbox
Stefan Lay2.5K views
How Git and Gerrit make you more productive by Karsten Dambekalns
How Git and Gerrit make you more productiveHow Git and Gerrit make you more productive
How Git and Gerrit make you more productive
Karsten Dambekalns10.5K views
GitOps: Git come unica fonte di verità per applicazioni e infrastruttura by sparkfabrik
GitOps: Git come unica fonte di verità per applicazioni e infrastrutturaGitOps: Git come unica fonte di verità per applicazioni e infrastruttura
GitOps: Git come unica fonte di verità per applicazioni e infrastruttura
sparkfabrik533 views
Introducing Gitora,the version control tool for PL/SQL by Gerger
Introducing Gitora,the version control tool for PL/SQLIntroducing Gitora,the version control tool for PL/SQL
Introducing Gitora,the version control tool for PL/SQL
Gerger18.7K views
Gitora, Version Control for PL/SQL by Gerger
Gitora, Version Control for PL/SQLGitora, Version Control for PL/SQL
Gitora, Version Control for PL/SQL
Gerger294 views
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo by Gina Bustos
Git in the Enterprise: How to succeed at DevOps using Git and a monorepoGit in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Gina Bustos276 views

Viewers also liked

Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpec by
Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpecTest-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpec
Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpecMartin Etmajer
43.3K views60 slides
Test driven infrastructure by
Test driven infrastructureTest driven infrastructure
Test driven infrastructureXPeppers
2.1K views86 slides
Git Gerrit Mit Teamforge by
Git Gerrit Mit TeamforgeGit Gerrit Mit Teamforge
Git Gerrit Mit TeamforgeCollabNet
1.2K views55 slides
SkyBase - a Devops Platform for Hybrid Cloud by
SkyBase - a Devops Platform for Hybrid CloudSkyBase - a Devops Platform for Hybrid Cloud
SkyBase - a Devops Platform for Hybrid CloudVlad Kuusk
3.1K views25 slides
A Networking View for the DevOps Crew: SDN by
A Networking View for the DevOps Crew: SDNA Networking View for the DevOps Crew: SDN
A Networking View for the DevOps Crew: SDNJeremy Schulman
3.6K views27 slides
The Datacenter Network You Wish You Had by
The Datacenter Network You Wish You HadThe Datacenter Network You Wish You Had
The Datacenter Network You Wish You HadJeremy Schulman
1.2K views18 slides

Viewers also liked(20)

Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpec by Martin Etmajer
Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpecTest-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpec
Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpec
Martin Etmajer43.3K views
Test driven infrastructure by XPeppers
Test driven infrastructureTest driven infrastructure
Test driven infrastructure
XPeppers2.1K views
Git Gerrit Mit Teamforge by CollabNet
Git Gerrit Mit TeamforgeGit Gerrit Mit Teamforge
Git Gerrit Mit Teamforge
CollabNet1.2K views
SkyBase - a Devops Platform for Hybrid Cloud by Vlad Kuusk
SkyBase - a Devops Platform for Hybrid CloudSkyBase - a Devops Platform for Hybrid Cloud
SkyBase - a Devops Platform for Hybrid Cloud
Vlad Kuusk3.1K views
A Networking View for the DevOps Crew: SDN by Jeremy Schulman
A Networking View for the DevOps Crew: SDNA Networking View for the DevOps Crew: SDN
A Networking View for the DevOps Crew: SDN
Jeremy Schulman3.6K views
The Datacenter Network You Wish You Had by Jeremy Schulman
The Datacenter Network You Wish You HadThe Datacenter Network You Wish You Had
The Datacenter Network You Wish You Had
Jeremy Schulman1.2K views
Next Generation Network Developer Skills by mestery
Next Generation Network Developer SkillsNext Generation Network Developer Skills
Next Generation Network Developer Skills
mestery11K views
Rise of the Machines - Automate your Development by Sven Peters
Rise of the Machines - Automate your DevelopmentRise of the Machines - Automate your Development
Rise of the Machines - Automate your Development
Sven Peters149.2K views
Jenkins Docker by Alex Soto
Jenkins DockerJenkins Docker
Jenkins Docker
Alex Soto65.3K views
Ic maven jenkins_sonar by Rocío Muñoz
Ic maven jenkins_sonarIc maven jenkins_sonar
Ic maven jenkins_sonar
Rocío Muñoz26.6K views
Dockercon2015 bamboo by Steve Smith
Dockercon2015 bambooDockercon2015 bamboo
Dockercon2015 bamboo
Steve Smith27.9K views
Game of Codes: the Battle for CI by Atlassian
Game of Codes: the Battle for CIGame of Codes: the Battle for CI
Game of Codes: the Battle for CI
Atlassian27.3K views
Master Continuous Delivery with CloudBees Jenkins Platform by dcjuengst
Master Continuous Delivery with CloudBees Jenkins PlatformMaster Continuous Delivery with CloudBees Jenkins Platform
Master Continuous Delivery with CloudBees Jenkins Platform
dcjuengst32.3K views
GitFlow, SourceTree and GitLab by Shinu Suresh
GitFlow, SourceTree and GitLabGitFlow, SourceTree and GitLab
GitFlow, SourceTree and GitLab
Shinu Suresh32.9K views
Getting started with Jenkins by Edureka!
Getting started with JenkinsGetting started with Jenkins
Getting started with Jenkins
Edureka!28.4K views
Using Docker for Testing by Carlos Sanchez
Using Docker for TestingUsing Docker for Testing
Using Docker for Testing
Carlos Sanchez36.6K views
Bamboo - an introduction by Sven Peters
Bamboo - an introductionBamboo - an introduction
Bamboo - an introduction
Sven Peters51.9K views
Gitlab Training with GIT and SourceTree by Teerapat Khunpech
Gitlab Training with GIT and SourceTreeGitlab Training with GIT and SourceTree
Gitlab Training with GIT and SourceTree
Teerapat Khunpech34.5K views
Git and GitHub for Documentation by Anne Gentle
Git and GitHub for DocumentationGit and GitHub for Documentation
Git and GitHub for Documentation
Anne Gentle57.5K views

Similar to Test-Driven-Development for Networking: Making CI Work for You by Colin McNamara

Devops architecture by
Devops architectureDevops architecture
Devops architectureOjasvi Jagtap
5.3K views35 slides
Introduction to jenkins by
Introduction to jenkinsIntroduction to jenkins
Introduction to jenkinsAbe Diaz
12.9K views27 slides
Continuous Delivery: How RightScale Releases Weekly by
Continuous Delivery: How RightScale Releases WeeklyContinuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases WeeklyRightScale
920 views35 slides
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ... by
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...Gilad Garon
1.2K views47 slides
Innovating faster with SBT, Continuous Delivery, and LXC by
Innovating faster with SBT, Continuous Delivery, and LXCInnovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXCkscaldef
10K views44 slides
Continuous Integration as a Way of Life by
Continuous Integration as a Way of LifeContinuous Integration as a Way of Life
Continuous Integration as a Way of LifeMelissa Benua
1.3K views24 slides

Similar to Test-Driven-Development for Networking: Making CI Work for You by Colin McNamara (20)

Introduction to jenkins by Abe Diaz
Introduction to jenkinsIntroduction to jenkins
Introduction to jenkins
Abe Diaz12.9K views
Continuous Delivery: How RightScale Releases Weekly by RightScale
Continuous Delivery: How RightScale Releases WeeklyContinuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases Weekly
RightScale920 views
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ... by Gilad Garon
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
Gilad Garon1.2K views
Innovating faster with SBT, Continuous Delivery, and LXC by kscaldef
Innovating faster with SBT, Continuous Delivery, and LXCInnovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXC
kscaldef10K views
Continuous Integration as a Way of Life by Melissa Benua
Continuous Integration as a Way of LifeContinuous Integration as a Way of Life
Continuous Integration as a Way of Life
Melissa Benua1.3K views
Continuous Integration for OpenVMS with Jenkins by ecubemarketing
Continuous Integration for OpenVMS with JenkinsContinuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with Jenkins
ecubemarketing909 views
Accelerate Application Innovation Journey with Azure Kubernetes Service by WinWire Technologies Inc
Accelerate Application Innovation Journey with Azure Kubernetes Service Accelerate Application Innovation Journey with Azure Kubernetes Service
Accelerate Application Innovation Journey with Azure Kubernetes Service
MyHeritage - QA Automations in a Continuous Deployment environment by MatanGoren
MyHeritage -  QA Automations in a Continuous Deployment environmentMyHeritage -  QA Automations in a Continuous Deployment environment
MyHeritage - QA Automations in a Continuous Deployment environment
MatanGoren647 views
Operating a High Velocity Large Organization with Spring Cloud Microservices by Noriaki Tatsumi
Operating a High Velocity Large Organization with Spring Cloud MicroservicesOperating a High Velocity Large Organization with Spring Cloud Microservices
Operating a High Velocity Large Organization with Spring Cloud Microservices
Noriaki Tatsumi547 views
Introduction to jenkins for the net developer by Abe Diaz
Introduction to jenkins for the net developerIntroduction to jenkins for the net developer
Introduction to jenkins for the net developer
Abe Diaz4.3K views
Agile Secure Cloud Application Development Management by Adam Getchell
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development Management
Adam Getchell986 views
12 Factor App Methodology by laeshin park
12 Factor App Methodology12 Factor App Methodology
12 Factor App Methodology
laeshin park2.3K views
Integration in the Cloud, by Rob Davies by Judy Breedlove
Integration in the Cloud, by Rob DaviesIntegration in the Cloud, by Rob Davies
Integration in the Cloud, by Rob Davies
Judy Breedlove339 views
Getting to Walk with DevOps by Eklove Mohan
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
Eklove Mohan329 views
Towards automated testing - CloudStack Collab Conference by amoghvk
Towards automated testing - CloudStack Collab ConferenceTowards automated testing - CloudStack Collab Conference
Towards automated testing - CloudStack Collab Conference
amoghvk339 views
Quality in a Square. K8s-native Quality Assurance of Microservices with Testkube by QAware GmbH
Quality in a Square. K8s-native Quality Assurance of Microservices with TestkubeQuality in a Square. K8s-native Quality Assurance of Microservices with Testkube
Quality in a Square. K8s-native Quality Assurance of Microservices with Testkube
QAware GmbH63 views

More from DevOps4Networks

Operationalize All the Network Things by Lori MacVittie by
Operationalize All the Network Things by Lori MacVittieOperationalize All the Network Things by Lori MacVittie
Operationalize All the Network Things by Lori MacVittieDevOps4Networks
610 views31 slides
Keynote: DevOps 4 Networks by JR Rivers of Cumulus Networks by
Keynote: DevOps 4 Networks by JR Rivers of Cumulus NetworksKeynote: DevOps 4 Networks by JR Rivers of Cumulus Networks
Keynote: DevOps 4 Networks by JR Rivers of Cumulus NetworksDevOps4Networks
721 views8 slides
When DevOps and Networking Intersect by Brent Salisbury of socketplane.io by
When DevOps and Networking Intersect by Brent Salisbury of socketplane.ioWhen DevOps and Networking Intersect by Brent Salisbury of socketplane.io
When DevOps and Networking Intersect by Brent Salisbury of socketplane.ioDevOps4Networks
1.1K views39 slides
Infrastructure API Lightning Talk by Jeremy Pollard of box.com by
Infrastructure API Lightning Talk by Jeremy Pollard of box.comInfrastructure API Lightning Talk by Jeremy Pollard of box.com
Infrastructure API Lightning Talk by Jeremy Pollard of box.comDevOps4Networks
1.4K views42 slides
SDN for Hybrid Cloud by
SDN for Hybrid CloudSDN for Hybrid Cloud
SDN for Hybrid CloudDevOps4Networks
607 views7 slides
What the business thinks about by
What the business thinks aboutWhat the business thinks about
What the business thinks aboutDevOps4Networks
523 views23 slides

More from DevOps4Networks(6)

Operationalize All the Network Things by Lori MacVittie by DevOps4Networks
Operationalize All the Network Things by Lori MacVittieOperationalize All the Network Things by Lori MacVittie
Operationalize All the Network Things by Lori MacVittie
DevOps4Networks610 views
Keynote: DevOps 4 Networks by JR Rivers of Cumulus Networks by DevOps4Networks
Keynote: DevOps 4 Networks by JR Rivers of Cumulus NetworksKeynote: DevOps 4 Networks by JR Rivers of Cumulus Networks
Keynote: DevOps 4 Networks by JR Rivers of Cumulus Networks
DevOps4Networks721 views
When DevOps and Networking Intersect by Brent Salisbury of socketplane.io by DevOps4Networks
When DevOps and Networking Intersect by Brent Salisbury of socketplane.ioWhen DevOps and Networking Intersect by Brent Salisbury of socketplane.io
When DevOps and Networking Intersect by Brent Salisbury of socketplane.io
DevOps4Networks1.1K views
Infrastructure API Lightning Talk by Jeremy Pollard of box.com by DevOps4Networks
Infrastructure API Lightning Talk by Jeremy Pollard of box.comInfrastructure API Lightning Talk by Jeremy Pollard of box.com
Infrastructure API Lightning Talk by Jeremy Pollard of box.com
DevOps4Networks1.4K views

Recently uploaded

Piloting & Scaling Successfully With Microsoft Viva by
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft VivaRichard Harbridge
12 views160 slides
Evolving the Network Automation Journey from Python to Platforms by
Evolving the Network Automation Journey from Python to PlatformsEvolving the Network Automation Journey from Python to Platforms
Evolving the Network Automation Journey from Python to PlatformsNetwork Automation Forum
12 views21 slides
AMAZON PRODUCT RESEARCH.pdf by
AMAZON PRODUCT RESEARCH.pdfAMAZON PRODUCT RESEARCH.pdf
AMAZON PRODUCT RESEARCH.pdfJerikkLaureta
19 views13 slides
Design Driven Network Assurance by
Design Driven Network AssuranceDesign Driven Network Assurance
Design Driven Network AssuranceNetwork Automation Forum
15 views42 slides
Kyo - Functional Scala 2023.pdf by
Kyo - Functional Scala 2023.pdfKyo - Functional Scala 2023.pdf
Kyo - Functional Scala 2023.pdfFlavio W. Brasil
298 views92 slides
Uni Systems for Power Platform.pptx by
Uni Systems for Power Platform.pptxUni Systems for Power Platform.pptx
Uni Systems for Power Platform.pptxUni Systems S.M.S.A.
55 views21 slides

Recently uploaded(20)

Piloting & Scaling Successfully With Microsoft Viva by Richard Harbridge
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft Viva
AMAZON PRODUCT RESEARCH.pdf by JerikkLaureta
AMAZON PRODUCT RESEARCH.pdfAMAZON PRODUCT RESEARCH.pdf
AMAZON PRODUCT RESEARCH.pdf
JerikkLaureta19 views
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker33 views
Data Integrity for Banking and Financial Services by Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely12 views
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors by sugiuralab
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors
sugiuralab19 views
Unit 1_Lecture 2_Physical Design of IoT.pdf by StephenTec
Unit 1_Lecture 2_Physical Design of IoT.pdfUnit 1_Lecture 2_Physical Design of IoT.pdf
Unit 1_Lecture 2_Physical Design of IoT.pdf
StephenTec12 views
Case Study Copenhagen Energy and Business Central.pdf by Aitana
Case Study Copenhagen Energy and Business Central.pdfCase Study Copenhagen Energy and Business Central.pdf
Case Study Copenhagen Energy and Business Central.pdf
Aitana16 views
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive by Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
PharoJS - Zürich Smalltalk Group Meetup November 2023 by Noury Bouraqadi
PharoJS - Zürich Smalltalk Group Meetup November 2023PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023
Noury Bouraqadi126 views
Five Things You SHOULD Know About Postman by Postman
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About Postman
Postman30 views
handbook for web 3 adoption.pdf by Liveplex
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdf
Liveplex22 views
Serverless computing with Google Cloud (2023-24) by wesley chun
Serverless computing with Google Cloud (2023-24)Serverless computing with Google Cloud (2023-24)
Serverless computing with Google Cloud (2023-24)
wesley chun10 views

Test-Driven-Development for Networking: Making CI Work for You by Colin McNamara

  • 1. Continuous Integration and Test Driven Dev for Network Engineers www.Nexusis.com 1 877.286.3987 Colin McNamara CCIE #18233 @colinmcnamara
  • 3. Agenda  What drives my perspective  Why TDD / CI for Network Engineers  CI / TDD overview  Network Change Management Use Case www.Nexusis.com 3 877.286.3987
  • 4. Who am I?  Chief Cloud Architect::Nexus  OpenStack ATC/Ambassador  OpenStack Core Reviewer  Manage DevOps Team  Manage Agile BPO Team  Beard Growth Specialist  CCIE 18233, RHCE, ETC, ETC  @colinmcnamara  www.colinmcnamara.com www.Nexusis.com 4 877.286.3987
  • 5. What do we do? 50% upstream For Core Dev’s Software Development, Systems Integration, Network Design DenicaCloud Rosetta Aviator More Project Denica Toolchain for Deploying CI systems and the associated tooling into and along with various cloud platforms Core Contributions and solutions in OpenStack OpenDaylight Open vSwitch Puppet Agile / Lean Software Development Practices Extensive experience with the folliwng: • SDN Development for Multi Vendor Integrations • Agile Process Consulting • Cloud Platform Development • Systems Integration • Upstream contributions • DevOps Consulting
  • 6. That all boils down to.. We make unicorn farts www.Nexusis.com 6 877.286.3987
  • 7. www.Nexusis.com 7 877.286.3987 Why TDD / CI for Networking?
  • 8. Our industry is changing www.Nexusis.com 8 877.286.3987
  • 9. Four closely related items www.Nexusis.com 9 877.286.3987
  • 10. Agile infrastructure evolution www.Nexusis.com 10 877.286.3987 Classic Engineering  12 + month dev times  QA pushed till last  Large amounts of bugs  Maps easily to manual silo’d process’s  ITIL Aligned AGILE  2 Week Dev times  Integrated QA  Small bug counts  Does not map into silo’d process’s  Cloud Aligned
  • 11. Speed Racer (Agile Infrastructure Developer) www.Nexusis.com 11 877.286.3987 • Integrated tools • Integrated test QA • Software as a manufacturing line • Code rolls from Step to Step • Need infrastructure as code…
  • 12. DevOps is the “New” www.Nexusis.com 12 877.286.3987 Network Ops
  • 13. Core SDN truth www.Nexusis.com 13 877.286.3987 ONE change In one FILE Can CREATE a system Or DESTROY a system
  • 14. What if you could actually KNOW it would work www.Nexusis.com 14 877.286.3987  Test EVERY network change made  Map each application to the network component underneath  Automatically run tests with reports of results
  • 16. www.Nexusis.com 18 877.286.3987 Agile Development Continuous Integration for Network Engineers Technical items you need to know
  • 18. Complex View www.Nexusis.com 20 877.286.3987
  • 19. Simple CI System Walk Through www.Nexusis.com 21 877.286.3987 SVC Only SVC + Network “Virtualized” Production System
  • 20. Obligatory Tools Discussion www.Nexusis.com 22 877.286.3987
  • 21. Git / Gerrit www.Nexusis.com 23 877.286.3987
  • 23. Integration Opportunity for CI Pipelines www.Nexusis.com 25 877.286.3987  VIRL(CMS) / JunoSphere  Functional Test  Network OS level testing  MATE / WAE  Stubs / Modeling  Integration Test through API’s  Tail-F, Schprokits, Puppet/Chef, Ansible  Config Distribution  Unified Data Models
  • 24. www.Nexusis.com 26 877.286.3987 Use Case Change and Release Management
  • 25. Change and Release Management www.Nexusis.com 27 877.286.3987
  • 26. Change and Release Management Jenkins Test Harnesses Governance Tooling Git Gerrit Templates and EPG’s Git Gerrit www.Nexusis.com 28 877.286.3987 Gerrit Gerrit Jenkins Test Harnesses Vagrant Ant Puppet Jenkins Test Harnesses Vagrant Puppet Git Gerrit Puppet Other Git Gerrit Test Harnesses Puppet Other Jenkins Test Harnesses Puppet Jenkins Other Test Harnesses Vagrant Puppet Gerrit Governance Tooling
  • 27. Maturity Levels – how to move forward Level0 Level1 Level2 Level3 Level4 www.Nexusis.com 29 877.286.3987 • Self Service Builds • Nightly Builds • Build Artifacts are stored • Self Services deploy to test • Auto deploy of builds to 1st env • Mostly standard deploys • Significant Test execution at build time • Visibility: Team • Latest reports always accessible • Build on commit • Dependency Repo • Secured Configs • Self-Service deploy to test and prod • Standard Process across all environments • Some Static analysis • Automated Funct tests run nightly • Visibility: Cross siloe’d team (DevOps) • Historical reports available • Triggered Builds • Build Cluster • Test Gated Automated Promotions • Database Deployments • Multi-tier SOA • High Code Coverage • Security Scans • Risk based manual • testing • Report trending • Build from Snapshots • Gated Commit • Continuous Deployment to production • 100% Coverage • Gross Silo Analysis Management QA Operations Development • Build Value Stream Maps • Build Scripts • Source Control • Deployment Scripts • Source Control • Build Test Automation • Source Control • Visibility: Siloed Individuals • Tool Generating Reporting
  • 28. How to get there – Level 0 www.Nexusis.com 30 877.286.3987 Development •Create standards for service chains (cfg,controler) •Configuration Templates , puppet modules •Use source control - Git •Build VSM of specific IT process Operations •Script Deployments – Expect, Simple Puppet •Use source control – Git QA •Build new services in lab / cloud / virt environment – VIRL / GNS3 / VMware / OpenStack •Simple test harness built (ping) Management •Individual Kanban Boards / Ticket tracking • Build Value Stream Maps • Build Scripts • Source Control • Deployment Scripts • Source Control • Build Test Automation • Source Control • Visibility: Siloed Individuals • Tool Generating Reporting Level1 Level2 • Self Service Builds • Nightly Builds • Build Artifacts are stored • Self Services deploy to test • Auto deploy of builds to 1st env • Mostly standard deploys • Significant Test execution at build time • Visibility: Team • Latest reports always accessible • Build on commit • Dependency Repo • Secured Configs • Self-Service deploy to test and prod • Standard Process across all environments • Some Static analysis • Automated Funct tests run nightly • Visibility: Cross siloe’d team (DevOps) • Historical reports available Management QA Operations Development Level0
  • 29. How to get there – Level 1 www.Nexusis.com 31 877.286.3987 Development • Ci System Implemented • Scripts build virtual env on demand • Results from built system get stored Operations • Deployment via Config Mgmt tooling •Governance / CI system deployed •Ops review of config diffs QA •CI System Implemented •Common functional tests created •Common port / path tests created Management • Visualize flow – Kanban Board for team • Initial ScrumBan Process’s Mapped • Build Value Stream Maps • Build Scripts • Source Control • Deployment Scripts • Source Control • Build Test Automation • Source Control • Visibility: Siloed Individuals • Tool Generating Reporting Level1 Level2 • Self Service Builds • Nightly Builds • Build Artifacts are stored • Self Services deploy to test • Auto deploy of builds to 1st env • Mostly standard deploys • Significant Test execution at build time • Visibility: Team • Latest reports always accessible • Build on commit • Dependency Repo • Secured Configs • Self-Service deploy to test and prod • Standard Process across all environments • Some Static analysis • Automated Funct tests run nightly • Visibility: Cross siloe’d team (DevOps) • Historical reports available Management QA Operations Development Level0
  • 30. How to get there – Level 2 www.Nexusis.com 32 877.286.3987 Development • Ci Systems integrated with Governance + Src Control • Dendancy Mapping (Mvn, Ant, EPG’s) • Keys, Passwords as variables, stored securely Operations • CI Chain Integrated w/ release • Governance tool used for Change Control Board • Puppet + Vagrant + Scripts abstracted from Dev, test prod QA • CI System Implemented • CI system running Spec tests / Flake8 etc • System building environment and running tests emulating applications Management • Roll up reports of multiple team boards • Burndown charts stored • Card movements logged • DevOps changes mapped to existing process’s • Build Value Stream Maps • Build Scripts • Source Control • Deployment Scripts • Source Control • Build Test Automation • Source Control • Visibility: Siloed Individuals • Tool Generating Reporting Level1 Level2 • Self Service Builds • Nightly Builds • Build Artifacts are stored • Self Services deploy to test • Auto deploy of builds to 1st env • Mostly standard deploys • Significant Test execution at build time • Visibility: Team • Latest reports always accessible • Build on commit • Dependency Repo • Secured Configs • Self-Service deploy to test and prod • Standard Process across all environments • Some Static analysis • Automated Funct tests run nightly • Visibility: Cross siloe’d team (DevOps) • Historical reports available Management QA Operations Development Level0
  • 32. Key Points  TDD increases quality / decreases risk / increases velocity  Network Operations and Design benefit from Agile Methodologies  Defining and executing on a maturity model necessary to succeed. www.Nexusis.com 34 877.286.3987
  • 34. www.Nexusis.com 36 877.286.3987 @colinmcnamara www.colinmcnamara.com