SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Copyright © 2013 Juniper Networks, Inc. www.juniper.netCopyright © 2013 Juniper Networks, Inc. www.juniper.net
PUPPET AND NETWORKING
Jeremy Schulman - Director | Automation Concept Engineering
@nwkautomaniac
jschulman@juniper.net
Copyright © 2013 Juniper Networks, Inc. www.juniper.net
Copyright © 2013 Juniper Networks, Inc. www.juniper.net
WHY DID WE DO IT?
Copyright © 2013 Juniper Networks, Inc. www.juniper.net
Copyright © 2013 Juniper Networks, Inc. www.juniper.net
Device running Junos OS
Puppet Netdev modules
Ruby Gems
Ruby Interpreter
XML
Puppet Agent
(client)
Puppet Master
(server)
netdev
jpuppet
package
PUPPET FOR JUNOS
(FreeBSD)
Copyright © 2013 Juniper Networks, Inc. www.juniper.net
JUNOS XML API
ON-BOX AND OFF-BOX AUTOMATION
Secure TCP/IP
connections via
SSHv2 (RFC4742)
XML
NETCONF XML
PROTOCOL
(RFC4741)
SwitchingSecurity Routing
Management System
Automate config changes,
remote invocation of
operational commands,
collection of logs
 Secure and connection oriented … SSHv2 as transport
 Structured and transaction based … XML as RPC request / response
 User-class privilege aware … Native to Junos
 Comprehensive & Consistent ... Automate everything
NETCONF client libraries
exist for a number of
programming languages such
as Java, Perl, Ruby, Python,
and even SLAX !
Copyright © 2013 Juniper Networks, Inc. www.juniper.net
PUPPET "NETDEV" MODULE
Netdev is a vendor-neutral network abstraction
framework developed by Juniper Networks and
contributed freely to the DevOps community
Juniper has contributed basic layer-1 and layer-2
network abstractions
DevOps can extend the framework to define any
abstractions or features they need for their environment
The Netdev framework is open and free; i.e. the
“DevOps” way
Copyright © 2013 Juniper Networks, Inc. www.juniper.net
PUPPET FOR JUNOS
“DevOps” Approach:
 Netdev module source code is in Github
 All packages are stored where they should be
(Puppet Forge,…)
 Support done on J-Net community forum
 Juniper technical documentation available
 Free, “BSD-style” license
Copyright © 2013 Juniper Networks, Inc. www.juniper.net
NETDEV
RESOURCES TYPES
Resource Description
netdev_vlan Manages VLAN configuration
netdev_interface Manages Physical Interface configuration
netdev_l2_interface Manages VLAN to interface assignments
netdev_lag Manages Link Aggregation Group configuration
class switch_template {
netdev_vlan { "Pink": vlan_id => 703 }
netdev_vlan { "Green": vlan_id => 101 }
netdev_l2_interface { 'ge-0/0/19':
untagged_vlan => Pink,
}
netdev_l2_interface { 'ge-0/0/20':
description => "My port, back off!",
untagged_vlan => Blue,
tagged_vlans => [ Green, Black, Yellow ],
}
}
Copyright © 2013 Juniper Networks, Inc. www.juniper.net
NETDEV_VLAN
MANAGE VLANS
Property Description
name The name of the VLAN, e.g. “Blue”
vlan_id The VLAN tag-ID value [ 1 .. 4095 ]
description The VLAN description. If one is not provided, then it will
default to:
Puppet created VLAN: <name>: <vlan-id>
VLANs are assigned to ports using the netdev_l2_interface resource
Copyright © 2013 Juniper Networks, Inc. www.juniper.net
NETDEV_INTERFACE
MANAGE PHYSICAL INTERFACES
Property Description
name The name of the interface, e.g. “ge-0/0/0”
description Assigns the description value to the interface, defaults to:
Puppet created interface: <name>
admin Configures the administrative state, defaults to up:
up, down
mtu Configures the interface MTU value
speed Defaults to auto, Forces the link speed:
10m, 100m, 1g, 10g, auto
duplex Defaults to auto
Forces the link duplex:
full, half, auto
Copyright © 2013 Juniper Networks, Inc. www.juniper.net
NETDEV_L2_INTERFACE
MANAGE ASSIGNMENT OF VLANS TO SWITCH PORTS
Property Description
name The name of the interface, e.g. “ge-0/0/0”, note: does *not*
include the unit number
description Assigns the description value to the interface, defaults to:
Puppet created eth-switch: <name>
untagged_vlan VLAN name for untagged packets. If the port is also processing
tagged packets, then this VLAN is the "native VLAN"
tagged_vlans VLAN names for tagged packets. This could be a single value, or an
array of values. When this property is set, vlan_tagging
property defaults to enable
vlan_tagging Normally not used ... automatic by Puppet
disable (default) - port is in access mode, tagged packets discarded
enable - port is in trunk mode, tagged packets processed
Automatically set to enable if tagged_vlans is also set
Copyright © 2013 Juniper Networks, Inc. www.juniper.net
NETDEV_LAG
MANAGE LINK AGGREGATION GROUPS
Property Description
name The name of the interface, e.g. “ae0”
links A list of physical interfaces that makes up the LAG bundle
lacp Controls if and how the Link Aggregation Control Protocol (LACP) is
used.
disabled (default) – LACP is not used
active – LACP is in the active mode
passive – LACP is in the passive mode
minimum_links The number of physical links that must be in the “up” condition to
declare the LAG port in the “up” condition. By default this value is
not set and there is no minimum link requirement
Copyright © 2013 Juniper Networks, Inc. www.juniper.net
AUTOMATION IS LIKE EATING ICE CREAM
• Everyone want it
• Everyone wants something different
• No-one wants to make it
• No-one wants to clean up the mess
Copyright © 2013 Juniper Networks, Inc. www.juniper.net
HOW DO YOU EAT ICE CREAM?
Banana Split
at Baskin Robins
Self Service
Frozen Yogurt
The Grocery Store DIY with
Kitchen-Aid
Copyright © 2013 Juniper Networks, Inc. www.juniper.net
FRICTIONLESS IT AUTOMATION
 Return on Investment
 Increase revenue throughput
 Reduce costs to manually do repetitive work
 Reduce costs due to delays and errors
 Reduce Risk
 Manually operated complex systems are fragile
 Improve Service
 Network infrastructure is a "utility" that runs the business
 Server and application automation is the standard
 Network automation must "level-up"
Copyright © 2013 Juniper Networks, Inc. www.juniper.net
Nodal
Automation
( Puppet, Chef )
Ad-Hoc
Scripting
( Bash, Perl )
IT Workflow
Orchestration
Business
Workflow
Orchestration
JNCIA
Associate
JNCIS
Specialist
JNCIP
Professional
JNCIE
Expert
IT
Network
Value is a function of
automation programming
and system integration that
drives the business
Value is a function of
mastering vendor CLI
and networking domain
knowledge
Copyright © 2013 Juniper Networks, Inc. www.juniper.net
SERVER WORLD
Device running Linux
Linux Kernel
Fedora Distribution
Applications Applications
Applications Applications
Middleware
Middleware
Middleware
Middleware
Discrete collections of
package / files / service
More discrete
collections of package /
files / service
Copyright © 2013 Juniper Networks, Inc. www.juniper.net
NETWORKING WORLD
Device running Junos
Junos Image
Initial Configuration
Service Service
Service Service
Discrete collections of
configuration statement
More discrete collections of
configuration statement
Copyright © 2013 Juniper Networks, Inc. www.juniper.net
OPPORTUNITIES FOR NETWORK AUTOMATION
Device running Junos
Junos Image
Initial Configuration
Service Service
Service Service
BUILD
HOUSE
CHANGE
HOUSE
Copyright © 2013 Juniper Networks, Inc. www.juniper.net
LEARN MORE ABOUT PUPPET FOR JUNOS
Copyright © 2013 Juniper Networks, Inc. www.juniper.net
THANK YOU !
Copyright © 2013 Juniper Networks, Inc. www.juniper.net
NETDEV_L2_INTERFACE
ACCESS PORT EXAMPLE - EX PLATFORMS
node "ex4" {
netdev_device { $hostname: }
netdev_l2_interface { "ge-0/0/9":
untagged_vlan => Green
}
}
interfaces {
ge-0/0/9 {
unit 0 {
description "Puppet created netdev_l2_interface : ge-0/0/9"
family ethernet-switching {
port-mode access;
vlan {
members Green;
}
}
}
}
}
Copyright © 2013 Juniper Networks, Inc. www.juniper.net
NETDEV_L2_INTERFACE
ACCESS PORT EXAMPLE - MX PLATFORMS
node "mx12" {
netdev_device { $hostname: }
netdev_l2_interface { "ge-5/0/3":
untagged_vlan => Green
}
}
interfaces {
ge-5/0/3
unit 0 {
description "Puppet created netdev_l2_interface: ge-5/0/3";
family bridge {
interface-mode access;
vlan-id 101;
}
}
}
}

Weitere ähnliche Inhalte

Andere mochten auch (6)

Puppet for Networking - Junos
Puppet for Networking - JunosPuppet for Networking - Junos
Puppet for Networking - Junos
 
Puppet for Junos
Puppet for JunosPuppet for Junos
Puppet for Junos
 
Automation Evolution with Junos
Automation Evolution with JunosAutomation Evolution with Junos
Automation Evolution with Junos
 
Network Automation (Bay Area Juniper Networks Meetup)
Network Automation (Bay Area Juniper Networks Meetup)Network Automation (Bay Area Juniper Networks Meetup)
Network Automation (Bay Area Juniper Networks Meetup)
 
Network Automation with Ansible
Network Automation with AnsibleNetwork Automation with Ansible
Network Automation with Ansible
 
161027 net opscoding-junos-automation
161027 net opscoding-junos-automation161027 net opscoding-junos-automation
161027 net opscoding-junos-automation
 

Ähnlich wie Puppet Enterprise for the Network

Base Designs Lab Setup for Validated Reference Design
Base Designs Lab Setup for Validated Reference DesignBase Designs Lab Setup for Validated Reference Design
Base Designs Lab Setup for Validated Reference Design
Content Rules, Inc.
 
Air Live Rs 1200
Air Live Rs 1200Air Live Rs 1200
Air Live Rs 1200
guest52b3f5
 

Ähnlich wie Puppet Enterprise for the Network (20)

Frictionless IT Automation
Frictionless IT AutomationFrictionless IT Automation
Frictionless IT Automation
 
OpenContrail Presentation at Openstack Days Tokyo Japan Feb 13 2014
OpenContrail Presentation at Openstack Days Tokyo Japan Feb 13 2014OpenContrail Presentation at Openstack Days Tokyo Japan Feb 13 2014
OpenContrail Presentation at Openstack Days Tokyo Japan Feb 13 2014
 
Open contrail slides for BANV meetup
Open contrail slides for BANV meetupOpen contrail slides for BANV meetup
Open contrail slides for BANV meetup
 
10209
1020910209
10209
 
Linux Desktop Automation
Linux Desktop AutomationLinux Desktop Automation
Linux Desktop Automation
 
Base Designs Lab Setup for Validated Reference Design
Base Designs Lab Setup for Validated Reference DesignBase Designs Lab Setup for Validated Reference Design
Base Designs Lab Setup for Validated Reference Design
 
OpenNebulaConf 2016 - Networking, NFVs and SDNs Hands-on Workshop by Rubén S....
OpenNebulaConf 2016 - Networking, NFVs and SDNs Hands-on Workshop by Rubén S....OpenNebulaConf 2016 - Networking, NFVs and SDNs Hands-on Workshop by Rubén S....
OpenNebulaConf 2016 - Networking, NFVs and SDNs Hands-on Workshop by Rubén S....
 
SDN Controller
SDN ControllerSDN Controller
SDN Controller
 
MySQL Fabric Tutorial, October 2014
MySQL Fabric Tutorial, October 2014MySQL Fabric Tutorial, October 2014
MySQL Fabric Tutorial, October 2014
 
Contrail Enabler for agile cloud services
Contrail Enabler for agile cloud servicesContrail Enabler for agile cloud services
Contrail Enabler for agile cloud services
 
Java API for WebSocket 1.0: Java EE 7 and GlassFish
Java API for WebSocket 1.0: Java EE 7 and GlassFishJava API for WebSocket 1.0: Java EE 7 and GlassFish
Java API for WebSocket 1.0: Java EE 7 and GlassFish
 
Islands: Puppet at Bulletproof Networks
Islands: Puppet at Bulletproof NetworksIslands: Puppet at Bulletproof Networks
Islands: Puppet at Bulletproof Networks
 
Networking Concepts and Tools for the Cloud
Networking Concepts and Tools for the CloudNetworking Concepts and Tools for the Cloud
Networking Concepts and Tools for the Cloud
 
Transport SDN - Use Cases and Lessons Learnt
Transport SDN - Use Cases and Lessons LearntTransport SDN - Use Cases and Lessons Learnt
Transport SDN - Use Cases and Lessons Learnt
 
Nuage Networks: Delivering Datacenter Networks As Consumable as Computee_scot...
Nuage Networks: Delivering Datacenter Networks As Consumable as Computee_scot...Nuage Networks: Delivering Datacenter Networks As Consumable as Computee_scot...
Nuage Networks: Delivering Datacenter Networks As Consumable as Computee_scot...
 
Base Designs Lab Setup for Validated Reference Design
Base Designs Lab Setup for Validated Reference DesignBase Designs Lab Setup for Validated Reference Design
Base Designs Lab Setup for Validated Reference Design
 
OpenStack Neutron behind the Scenes
OpenStack Neutron behind the ScenesOpenStack Neutron behind the Scenes
OpenStack Neutron behind the Scenes
 
OpenStack Neutron Behind The Senes
OpenStack Neutron Behind The SenesOpenStack Neutron Behind The Senes
OpenStack Neutron Behind The Senes
 
Juniper Contrail VNS A BASIC introduction
Juniper Contrail VNSA BASIC introductionJuniper Contrail VNSA BASIC introduction
Juniper Contrail VNS A BASIC introduction
 
Air Live Rs 1200
Air Live Rs 1200Air Live Rs 1200
Air Live Rs 1200
 

Mehr von 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
 
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
 
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
 

Mehr von Puppet (20)

Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepo
 
Puppetcamp r10kyaml
Puppetcamp r10kyamlPuppetcamp r10kyaml
Puppetcamp r10kyaml
 
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 camp vscode
Puppet camp vscodePuppet camp vscode
Puppet camp vscode
 
Modules of the twenties
Modules of the twentiesModules of the twenties
Modules of the twenties
 
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
 
KGI compliance as-code approach
KGI compliance as-code approachKGI compliance as-code approach
KGI compliance as-code approach
 
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
 
Keynote: Puppet camp compliance
Keynote: Puppet camp complianceKeynote: Puppet camp compliance
Keynote: Puppet camp compliance
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNow
 
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
 
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
 
Accelerating azure adoption with puppet
Accelerating azure adoption with puppetAccelerating azure adoption with puppet
Accelerating azure adoption with puppet
 
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael Pinson
 
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin Reeuwijk
 
Take control of your dev ops dumping ground
Take control of your  dev ops dumping groundTake control of your  dev ops dumping ground
Take control of your dev ops dumping ground
 
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software
 
Puppet User Group
Puppet User GroupPuppet User Group
Puppet User Group
 
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsContinuous Compliance and DevSecOps
Continuous Compliance and DevSecOps
 
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyThe Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
 

Kürzlich hochgeladen

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Kürzlich hochgeladen (20)

MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Puppet Enterprise for the Network

  • 1. Copyright © 2013 Juniper Networks, Inc. www.juniper.netCopyright © 2013 Juniper Networks, Inc. www.juniper.net PUPPET AND NETWORKING Jeremy Schulman - Director | Automation Concept Engineering @nwkautomaniac jschulman@juniper.net
  • 2. Copyright © 2013 Juniper Networks, Inc. www.juniper.net
  • 3. Copyright © 2013 Juniper Networks, Inc. www.juniper.net WHY DID WE DO IT?
  • 4. Copyright © 2013 Juniper Networks, Inc. www.juniper.net
  • 5. Copyright © 2013 Juniper Networks, Inc. www.juniper.net Device running Junos OS Puppet Netdev modules Ruby Gems Ruby Interpreter XML Puppet Agent (client) Puppet Master (server) netdev jpuppet package PUPPET FOR JUNOS (FreeBSD)
  • 6. Copyright © 2013 Juniper Networks, Inc. www.juniper.net JUNOS XML API ON-BOX AND OFF-BOX AUTOMATION Secure TCP/IP connections via SSHv2 (RFC4742) XML NETCONF XML PROTOCOL (RFC4741) SwitchingSecurity Routing Management System Automate config changes, remote invocation of operational commands, collection of logs  Secure and connection oriented … SSHv2 as transport  Structured and transaction based … XML as RPC request / response  User-class privilege aware … Native to Junos  Comprehensive & Consistent ... Automate everything NETCONF client libraries exist for a number of programming languages such as Java, Perl, Ruby, Python, and even SLAX !
  • 7. Copyright © 2013 Juniper Networks, Inc. www.juniper.net PUPPET "NETDEV" MODULE Netdev is a vendor-neutral network abstraction framework developed by Juniper Networks and contributed freely to the DevOps community Juniper has contributed basic layer-1 and layer-2 network abstractions DevOps can extend the framework to define any abstractions or features they need for their environment The Netdev framework is open and free; i.e. the “DevOps” way
  • 8. Copyright © 2013 Juniper Networks, Inc. www.juniper.net PUPPET FOR JUNOS “DevOps” Approach:  Netdev module source code is in Github  All packages are stored where they should be (Puppet Forge,…)  Support done on J-Net community forum  Juniper technical documentation available  Free, “BSD-style” license
  • 9. Copyright © 2013 Juniper Networks, Inc. www.juniper.net NETDEV RESOURCES TYPES Resource Description netdev_vlan Manages VLAN configuration netdev_interface Manages Physical Interface configuration netdev_l2_interface Manages VLAN to interface assignments netdev_lag Manages Link Aggregation Group configuration class switch_template { netdev_vlan { "Pink": vlan_id => 703 } netdev_vlan { "Green": vlan_id => 101 } netdev_l2_interface { 'ge-0/0/19': untagged_vlan => Pink, } netdev_l2_interface { 'ge-0/0/20': description => "My port, back off!", untagged_vlan => Blue, tagged_vlans => [ Green, Black, Yellow ], } }
  • 10. Copyright © 2013 Juniper Networks, Inc. www.juniper.net NETDEV_VLAN MANAGE VLANS Property Description name The name of the VLAN, e.g. “Blue” vlan_id The VLAN tag-ID value [ 1 .. 4095 ] description The VLAN description. If one is not provided, then it will default to: Puppet created VLAN: <name>: <vlan-id> VLANs are assigned to ports using the netdev_l2_interface resource
  • 11. Copyright © 2013 Juniper Networks, Inc. www.juniper.net NETDEV_INTERFACE MANAGE PHYSICAL INTERFACES Property Description name The name of the interface, e.g. “ge-0/0/0” description Assigns the description value to the interface, defaults to: Puppet created interface: <name> admin Configures the administrative state, defaults to up: up, down mtu Configures the interface MTU value speed Defaults to auto, Forces the link speed: 10m, 100m, 1g, 10g, auto duplex Defaults to auto Forces the link duplex: full, half, auto
  • 12. Copyright © 2013 Juniper Networks, Inc. www.juniper.net NETDEV_L2_INTERFACE MANAGE ASSIGNMENT OF VLANS TO SWITCH PORTS Property Description name The name of the interface, e.g. “ge-0/0/0”, note: does *not* include the unit number description Assigns the description value to the interface, defaults to: Puppet created eth-switch: <name> untagged_vlan VLAN name for untagged packets. If the port is also processing tagged packets, then this VLAN is the "native VLAN" tagged_vlans VLAN names for tagged packets. This could be a single value, or an array of values. When this property is set, vlan_tagging property defaults to enable vlan_tagging Normally not used ... automatic by Puppet disable (default) - port is in access mode, tagged packets discarded enable - port is in trunk mode, tagged packets processed Automatically set to enable if tagged_vlans is also set
  • 13. Copyright © 2013 Juniper Networks, Inc. www.juniper.net NETDEV_LAG MANAGE LINK AGGREGATION GROUPS Property Description name The name of the interface, e.g. “ae0” links A list of physical interfaces that makes up the LAG bundle lacp Controls if and how the Link Aggregation Control Protocol (LACP) is used. disabled (default) – LACP is not used active – LACP is in the active mode passive – LACP is in the passive mode minimum_links The number of physical links that must be in the “up” condition to declare the LAG port in the “up” condition. By default this value is not set and there is no minimum link requirement
  • 14. Copyright © 2013 Juniper Networks, Inc. www.juniper.net AUTOMATION IS LIKE EATING ICE CREAM • Everyone want it • Everyone wants something different • No-one wants to make it • No-one wants to clean up the mess
  • 15. Copyright © 2013 Juniper Networks, Inc. www.juniper.net HOW DO YOU EAT ICE CREAM? Banana Split at Baskin Robins Self Service Frozen Yogurt The Grocery Store DIY with Kitchen-Aid
  • 16. Copyright © 2013 Juniper Networks, Inc. www.juniper.net FRICTIONLESS IT AUTOMATION  Return on Investment  Increase revenue throughput  Reduce costs to manually do repetitive work  Reduce costs due to delays and errors  Reduce Risk  Manually operated complex systems are fragile  Improve Service  Network infrastructure is a "utility" that runs the business  Server and application automation is the standard  Network automation must "level-up"
  • 17. Copyright © 2013 Juniper Networks, Inc. www.juniper.net Nodal Automation ( Puppet, Chef ) Ad-Hoc Scripting ( Bash, Perl ) IT Workflow Orchestration Business Workflow Orchestration JNCIA Associate JNCIS Specialist JNCIP Professional JNCIE Expert IT Network Value is a function of automation programming and system integration that drives the business Value is a function of mastering vendor CLI and networking domain knowledge
  • 18. Copyright © 2013 Juniper Networks, Inc. www.juniper.net SERVER WORLD Device running Linux Linux Kernel Fedora Distribution Applications Applications Applications Applications Middleware Middleware Middleware Middleware Discrete collections of package / files / service More discrete collections of package / files / service
  • 19. Copyright © 2013 Juniper Networks, Inc. www.juniper.net NETWORKING WORLD Device running Junos Junos Image Initial Configuration Service Service Service Service Discrete collections of configuration statement More discrete collections of configuration statement
  • 20. Copyright © 2013 Juniper Networks, Inc. www.juniper.net OPPORTUNITIES FOR NETWORK AUTOMATION Device running Junos Junos Image Initial Configuration Service Service Service Service BUILD HOUSE CHANGE HOUSE
  • 21. Copyright © 2013 Juniper Networks, Inc. www.juniper.net LEARN MORE ABOUT PUPPET FOR JUNOS
  • 22. Copyright © 2013 Juniper Networks, Inc. www.juniper.net THANK YOU !
  • 23. Copyright © 2013 Juniper Networks, Inc. www.juniper.net NETDEV_L2_INTERFACE ACCESS PORT EXAMPLE - EX PLATFORMS node "ex4" { netdev_device { $hostname: } netdev_l2_interface { "ge-0/0/9": untagged_vlan => Green } } interfaces { ge-0/0/9 { unit 0 { description "Puppet created netdev_l2_interface : ge-0/0/9" family ethernet-switching { port-mode access; vlan { members Green; } } } } }
  • 24. Copyright © 2013 Juniper Networks, Inc. www.juniper.net NETDEV_L2_INTERFACE ACCESS PORT EXAMPLE - MX PLATFORMS node "mx12" { netdev_device { $hostname: } netdev_l2_interface { "ge-5/0/3": untagged_vlan => Green } } interfaces { ge-5/0/3 unit 0 { description "Puppet created netdev_l2_interface: ge-5/0/3"; family bridge { interface-mode access; vlan-id 101; } } } }

Hinweis der Redaktion

  1. - By automating common, yet complex tasks, they can reduce or shift the engineer staff required to manage their network. – Complex systems appear fragile when manually operated because humans make mistakes. IT organizations can overcome their fears of network automation by the managing risk in solution development. Today, server and application automation is the standard. Network automation is next.– In many cases the network infrastructure is a &quot;utility&quot; to the applications that run the business. By automating the deployment and lifecycle of networking infrastructure change, the IT organization provides a better value to both internal and external &quot;customers&quot;.