SlideShare a Scribd company logo
1 of 26
Download to read offline
An overview of
Open Source Backends
for Openstack Neutron
Summary
● Neutron plugins recap
● Neutron’s built-in solution
● Open source alternatives
○ Open DayLight
○ Ryu Network OS
○ Open Contrail
What this talk is NOT about
● Competitive analysis of open source backends
● Telling you which backend would be right for your
deployment
● The holy grail of the infinitely scalable open source
backend
What this talk is about
● Enumerating open source alternative for Neutron
backend
● Providing an overview of such backends and how they
integrated with Openstack Neutron
● Proving that Neutron’s “agents” are not the only
alternative to commercial backends
Neutron plugins recap
● Modular (ML2) Plugin
○ A common layer for DB management and resource allocation;
transport/technology specific drivers
● Standalone Core Plugin
○ Implementation of one or more interfaces to serve a particular
backend technology or platform
● Both ML2 drivers or standalone plugins can either be
commercial or open-source
● Both commercial and open source plugin/drivers are
required to pass integration testing
Neutron’s built-in solution
● L2/L3 connectivity
● IPAM
● East/West routing
● External gateway & floating IPs
● Implemented by:
○ ML2 plugin with OVS agent mech driver
○ OVS Layer-2 agent
○ Layer-3 agent + DHCP agent
● Load Balancing, VPN, and firewall served by distinct
“service plugins”
Neutron’s built-in solution
Neutron Server
ML2 with Open
vSwitch
Mechanism
Driver and GRE
transport
ML2
L3 base
plugin
OVS Mech
Driver
AMQP bus
RPC RPC
REST
OVS
Agent
OVS
Agent
OVS
Agent
LB
Agent
L3
Agent
L3
Agent
LB
Agent
Neutron’s built-in solution
Installation via devstack
local.conf
○ enable_service neutron q-l3 q-agt q-svc q-dhcp q-meta
./stack.sh
Neutron’s built-in solution: limits
Careful messaging needed here.
● Point to scalability limits of the L2 agent
● Point to limit of the L3 agents only if the OSS backends
discussed here have viable alternatives
● Neutron’s developer community is a mix of web app
developers, distributed systems experts and network
programmers.
○ Focus is not exclusively on networking
L2Population ML2 Driver
● An overlay MechanismDriver for ML2
○ Optimized by pre-populating forwarding tables of both OVS and
Linuxbridge forwarding planes to decrease broadcast traffic
○ Utilizes both VXLAN and GRE tunnels
● Two main implementation details
○ Local ARP responder on each host
■ Linuxbridge support in Havana, OVS support in Juno
○ Forwarding table population on each host
● More information:
○ https://wiki.openstack.org/wiki/L2population
Before
ML2 L2 Population MechanismDriver
Host 1
Host 2
Host 3Host 4
Host 1
VM A
VM G VM E VM D
VM B
VM C
VM F
VM H
VM I
“VM A” wants to talk to “VM G.” “VM A” sends a broadcast
packet, which is replicated to the entire tunnel mesh.
With
ML2 L2 Population MechanismDriver
Host 1
Host 2
Host 3Host 4
Host 1
VM A
VM G VM E VM D
VM B
VM C
VM F
VM H
VM I
The ARP request from “VM A” for “VM G” is intercepted and
answered using a pre-populated neighbor entry.
Proxy Arp
Traffic from “VM A” to “VM G” is
encapsulated and sent to “Host 4”
according to the bridge forwarding table
entry.
Try L2Population with devstack
● Setup your local.conf to use L2Population with LB
Q_PLUGIN=ml2
Q_AGENT=linuxbridge
Q_SERVICE_PLUGIN_CLASSES=neutron.services.l3_router.l3_router_plugin.L3RouterPlugin
Q_ML2_PLUGIN_MECHANISM_DRIVERS=openvswitch,linuxbridge,l2population
Q_ML2_TENANT_NETWORK_TYPE=vxlan,gre
...
[[post-config|/$Q_PLUGIN_CONF_FILE]]
[vxlan]
enable_vxlan=true
local_ip=$HOST_IP
l2_population=True
● More information (including OVS setup with L2Population)
○ https://wiki.openstack.org/wiki/L2population
OpenContrail
● OpenContrail is an extensible networking system
covering two primary use cases:
○ Cloud Networking
○ Network Function Virtualization
● Consists of two components:
○ OpenContrail Controller
■ Configuration, Control, and Analytics nodes
○ OpenContrail vRouter
● http://opencontrail.org/
Open Contrail:
Openstack integration
● VM bringup with OpenContrail:
○ Nova instructs the Nova Agent on the compute node to create the VM
○ Nova Agent gets network attributes from OpenContrail Plugin
○ Once VM is created, Nova Agent communicates to vRouter
○ vRouter configures the virtual network for the VM
Neutron with Open Contrail diagram
OpenStack
Nova Contrail
Neutron
Plugin
Compute Node
OpenStack Nova
Agent
vRouter
Agent (user
space)
Configuration Node
Contrail Node
Try OpenContrail with devstack
● Pull the devstack with OpenContrail support
○ git clone https://github.com/dsetia/devstack
● Setup your local.conf
○ ENABLE_CONTRAIL=yes
○ Q_PLUGIN=contrail
○ PHYSICAL_INTERFACE=eth0
● This will enable a single node OpenContrail setup
with devstack
● For more information:
○ http://pedrormarques.wordpress.com/2013/11/14/using-
devstack-plus-opencontrail/
OpenDaylight
● OpenDaylight is an Open Source Software Project under the Linux
Foundation with the goal of furthering the adoption of SDN
○ Three pillars: Code, Acceptance, and Community
● OpenDaylight is building an evolvable SDN platform capable of handling a
diverse set of use cases
○ IaaS network orchestration is an important use case
● Releases:
○ Hydrogen: February 2014
○ Helium: Tentatively slated for September 2014
○ Three release types:
■ Base, Virtualization, and Service Provider
● Eclipse Public License – v 1.0 (EPL)
● http://www.opendaylight.org/
Open DayLight
Openstack integration
● OpenStack Neutron ML2 MechanismDriver upstreamed
in Icehouse
● REST proxy, passes API calls into OpenDaylight
● Utilized by any provider’s southbound in ODL
○ Examples: VTN, OVSDB Plugin, OpenDove
● Solution still requires Neutron DHCP and L3 agents
○ Support for this planned for Helium release
Neutron with
Open DayLight diagram
Neutron Node
Neutron Server
ML2 Plugin w/
ODL Driver
Network Node
L3 Agent
OVS
DHCP
Agent
Compute Node
OVS
OpenDaylight Node
ODL Server
REST API
RPCs
OpenFlow
and OVSDB
Neutron
API
Service
OVSDB
Plugin
Try OpenDaylight With devstack
● Setup your local.conf
○ Q_ML2_PLUGIN_MECHANISM_DRIVERS=opendaylight
○ enable_service odl-server odl-compute
● This will enable a single-node OpenDaylight devstack
setup
○ Additional compute nodes only need “enable_service odl-compute” set
● Checkout lib/opendaylight for more configuration
options
Ryu Network OS
● Ryu is a component-based SDN framework
○ Supports OpenFlow 1.0, 1.2, 1.3, 1.4, and Nicira extensions
○ Apache 2.0 license
○ Written in Python
● Supports a variety of protocols for managing network
devices
○ OpenFlow, Netconf, OF-config, SNMP
● http://osrg.github.io/ryu/
Ryu Openstack integration
● Ryu is integrated into OpenStack in two ways:
○ A standalone plugin
○ An ML2 MechanismDriver (ofagent)
● Multi tenant network support
○ Mac address based
○ VLAN
○ GRE tunnel
● Ryu supports port-binding
○ Ryu agent or ofagent must be running on the host
●
Neutron with Ryu diagram
Neutron Node
Neutron DB
(network ID, key)
Neutron Server
RYU Plugin
Ryu Node
Ryu Server
Network Node
L3 Agent
Ryu
Agent
Compute Node
Ryu
Agent OVS
OVS
Try Ryu with devstack
● Setup your local.conf
○ Q_ML2_PLUGIN_MECHANISM_DRIVERS=ofagent,l2population
○ Q_AGENT=ofagent
○ ENABLE_TENANT_TUNNELS=True
○ Q_ML2_TENANT_NETWORK_TYPE=gre
○ [[post-config|/etc/neutron/plugins/ml2/ml2_conf.ini]]
○ [agent]
○ l2_population=True
● This enables a single-node ofagent setup with
Ryu
● More information:
○ https://github.com/osrg/ryu/wiki/OFAgent-Openstack-
IceHouse-environment-HOWTO
Summary
● Many options in the Open Source Arena for
Neutron Plugins
○ Innovation is ongoing in this area
● No “one size fits all”

More Related Content

What's hot

Network virtualization with open stack quantum
Network virtualization with open stack quantumNetwork virtualization with open stack quantum
Network virtualization with open stack quantumMiguel Lavalle
 
Whats new in neutron for open stack havana
Whats new in neutron for open stack havanaWhats new in neutron for open stack havana
Whats new in neutron for open stack havanaKamesh Pemmaraju
 
OpenStack Networking
OpenStack NetworkingOpenStack Networking
OpenStack NetworkingIlya Shakhat
 
Quantum (OpenStack Meetup Feb 9th, 2012)
Quantum (OpenStack Meetup Feb 9th, 2012)Quantum (OpenStack Meetup Feb 9th, 2012)
Quantum (OpenStack Meetup Feb 9th, 2012)Dan Wendlandt
 
Networking in OpenStack for non-networking people: Neutron, Open vSwitch and ...
Networking in OpenStack for non-networking people: Neutron, Open vSwitch and ...Networking in OpenStack for non-networking people: Neutron, Open vSwitch and ...
Networking in OpenStack for non-networking people: Neutron, Open vSwitch and ...Dave Neary
 
Open stack networking_101_update_2014
Open stack networking_101_update_2014Open stack networking_101_update_2014
Open stack networking_101_update_2014yfauser
 
OpenStack Neutron 201 1hr
OpenStack Neutron 201 1hr OpenStack Neutron 201 1hr
OpenStack Neutron 201 1hr David Lenwell
 
Overview of Distributed Virtual Router (DVR) in Openstack/Neutron
Overview of Distributed Virtual Router (DVR) in Openstack/NeutronOverview of Distributed Virtual Router (DVR) in Openstack/Neutron
Overview of Distributed Virtual Router (DVR) in Openstack/Neutronvivekkonnect
 
Openstack Basic with Neutron
Openstack Basic with NeutronOpenstack Basic with Neutron
Openstack Basic with NeutronKwonSun Bae
 
Linux Tag 2014 OpenStack Networking
Linux Tag 2014 OpenStack NetworkingLinux Tag 2014 OpenStack Networking
Linux Tag 2014 OpenStack Networkingyfauser
 
Introduction to Openstack Network
Introduction to Openstack NetworkIntroduction to Openstack Network
Introduction to Openstack Networksalv_orlando
 
Open stack networking_101_update_2014-os-meetups
Open stack networking_101_update_2014-os-meetupsOpen stack networking_101_update_2014-os-meetups
Open stack networking_101_update_2014-os-meetupsyfauser
 
OpenStack networking - Neutron deep dive with PLUMgrid
OpenStack networking - Neutron deep dive with PLUMgridOpenStack networking - Neutron deep dive with PLUMgrid
OpenStack networking - Neutron deep dive with PLUMgridKamesh Pemmaraju
 
OpenStack Neutron Tutorial
OpenStack Neutron TutorialOpenStack Neutron Tutorial
OpenStack Neutron Tutorialmestery
 
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack NetworkingONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networkingmarkmcclain
 
Quantum - Virtual networks for Openstack
Quantum - Virtual networks for OpenstackQuantum - Virtual networks for Openstack
Quantum - Virtual networks for Openstacksalv_orlando
 
OpenStack Neutron Havana Overview - Oct 2013
OpenStack Neutron Havana Overview - Oct 2013OpenStack Neutron Havana Overview - Oct 2013
OpenStack Neutron Havana Overview - Oct 2013Edgar Magana
 
An Introduction to OpenStack Networking
An Introduction to OpenStack NetworkingAn Introduction to OpenStack Networking
An Introduction to OpenStack NetworkingScott Lowe
 
Next Generation Network Developer Skills
Next Generation Network Developer SkillsNext Generation Network Developer Skills
Next Generation Network Developer Skillsmestery
 

What's hot (20)

Network virtualization with open stack quantum
Network virtualization with open stack quantumNetwork virtualization with open stack quantum
Network virtualization with open stack quantum
 
Whats new in neutron for open stack havana
Whats new in neutron for open stack havanaWhats new in neutron for open stack havana
Whats new in neutron for open stack havana
 
OpenStack Networking
OpenStack NetworkingOpenStack Networking
OpenStack Networking
 
Quantum (OpenStack Meetup Feb 9th, 2012)
Quantum (OpenStack Meetup Feb 9th, 2012)Quantum (OpenStack Meetup Feb 9th, 2012)
Quantum (OpenStack Meetup Feb 9th, 2012)
 
Networking in OpenStack for non-networking people: Neutron, Open vSwitch and ...
Networking in OpenStack for non-networking people: Neutron, Open vSwitch and ...Networking in OpenStack for non-networking people: Neutron, Open vSwitch and ...
Networking in OpenStack for non-networking people: Neutron, Open vSwitch and ...
 
OpenStack Neutron behind the Scenes
OpenStack Neutron behind the ScenesOpenStack Neutron behind the Scenes
OpenStack Neutron behind the Scenes
 
Open stack networking_101_update_2014
Open stack networking_101_update_2014Open stack networking_101_update_2014
Open stack networking_101_update_2014
 
OpenStack Neutron 201 1hr
OpenStack Neutron 201 1hr OpenStack Neutron 201 1hr
OpenStack Neutron 201 1hr
 
Overview of Distributed Virtual Router (DVR) in Openstack/Neutron
Overview of Distributed Virtual Router (DVR) in Openstack/NeutronOverview of Distributed Virtual Router (DVR) in Openstack/Neutron
Overview of Distributed Virtual Router (DVR) in Openstack/Neutron
 
Openstack Basic with Neutron
Openstack Basic with NeutronOpenstack Basic with Neutron
Openstack Basic with Neutron
 
Linux Tag 2014 OpenStack Networking
Linux Tag 2014 OpenStack NetworkingLinux Tag 2014 OpenStack Networking
Linux Tag 2014 OpenStack Networking
 
Introduction to Openstack Network
Introduction to Openstack NetworkIntroduction to Openstack Network
Introduction to Openstack Network
 
Open stack networking_101_update_2014-os-meetups
Open stack networking_101_update_2014-os-meetupsOpen stack networking_101_update_2014-os-meetups
Open stack networking_101_update_2014-os-meetups
 
OpenStack networking - Neutron deep dive with PLUMgrid
OpenStack networking - Neutron deep dive with PLUMgridOpenStack networking - Neutron deep dive with PLUMgrid
OpenStack networking - Neutron deep dive with PLUMgrid
 
OpenStack Neutron Tutorial
OpenStack Neutron TutorialOpenStack Neutron Tutorial
OpenStack Neutron Tutorial
 
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack NetworkingONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
 
Quantum - Virtual networks for Openstack
Quantum - Virtual networks for OpenstackQuantum - Virtual networks for Openstack
Quantum - Virtual networks for Openstack
 
OpenStack Neutron Havana Overview - Oct 2013
OpenStack Neutron Havana Overview - Oct 2013OpenStack Neutron Havana Overview - Oct 2013
OpenStack Neutron Havana Overview - Oct 2013
 
An Introduction to OpenStack Networking
An Introduction to OpenStack NetworkingAn Introduction to OpenStack Networking
An Introduction to OpenStack Networking
 
Next Generation Network Developer Skills
Next Generation Network Developer SkillsNext Generation Network Developer Skills
Next Generation Network Developer Skills
 

Similar to An overview of Open Source Backends for Neutron

OpenDaylight Netvirt and Neutron - Mike Kolesnik, Josh Hershberg - OpenStack ...
OpenDaylight Netvirt and Neutron - Mike Kolesnik, Josh Hershberg - OpenStack ...OpenDaylight Netvirt and Neutron - Mike Kolesnik, Josh Hershberg - OpenStack ...
OpenDaylight Netvirt and Neutron - Mike Kolesnik, Josh Hershberg - OpenStack ...Cloud Native Day Tel Aviv
 
Yechielthur1100red hat-cloud-infrastructure-networking-deep-dive-140417165107...
Yechielthur1100red hat-cloud-infrastructure-networking-deep-dive-140417165107...Yechielthur1100red hat-cloud-infrastructure-networking-deep-dive-140417165107...
Yechielthur1100red hat-cloud-infrastructure-networking-deep-dive-140417165107...Công TÔ
 
OpenStack-and-OpenDaylight-Integrated-IaaS-for-SDN-and-NFV.pdf
OpenStack-and-OpenDaylight-Integrated-IaaS-for-SDN-and-NFV.pdfOpenStack-and-OpenDaylight-Integrated-IaaS-for-SDN-and-NFV.pdf
OpenStack-and-OpenDaylight-Integrated-IaaS-for-SDN-and-NFV.pdfAjit Dash
 
Modular Layer 2 In OpenStack Neutron
Modular Layer 2 In OpenStack NeutronModular Layer 2 In OpenStack Neutron
Modular Layer 2 In OpenStack Neutronmestery
 
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFVOpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFVCloud Native Day Tel Aviv
 
Scaling Up Logging and Metrics
Scaling Up Logging and MetricsScaling Up Logging and Metrics
Scaling Up Logging and MetricsRicardo Lourenço
 
OpenContrail Cloudwatt Feedback
OpenContrail Cloudwatt FeedbackOpenContrail Cloudwatt Feedback
OpenContrail Cloudwatt Feedbackethuleau
 
How OpenShift SDN helps to automate
How OpenShift SDN helps to automateHow OpenShift SDN helps to automate
How OpenShift SDN helps to automateIlkka Tengvall
 
Networking Updates - Juno Edition
Networking Updates - Juno Edition Networking Updates - Juno Edition
Networking Updates - Juno Edition OpenStack Foundation
 
Open stack networking juno update
Open stack networking juno updateOpen stack networking juno update
Open stack networking juno updatemargieOpenStack
 
What's new in OpenStack Liberty
What's new in OpenStack LibertyWhat's new in OpenStack Liberty
What's new in OpenStack LibertyStephen Gordon
 
LF_OVS_17_State of the OVN
LF_OVS_17_State of the OVNLF_OVS_17_State of the OVN
LF_OVS_17_State of the OVNLF_OpenvSwitch
 
Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...
Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...
Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...DoKC
 

Similar to An overview of Open Source Backends for Neutron (20)

Networking in Openstack - Neutron 101
Networking in Openstack - Neutron 101Networking in Openstack - Neutron 101
Networking in Openstack - Neutron 101
 
OpenDaylight Netvirt and Neutron - Mike Kolesnik, Josh Hershberg - OpenStack ...
OpenDaylight Netvirt and Neutron - Mike Kolesnik, Josh Hershberg - OpenStack ...OpenDaylight Netvirt and Neutron - Mike Kolesnik, Josh Hershberg - OpenStack ...
OpenDaylight Netvirt and Neutron - Mike Kolesnik, Josh Hershberg - OpenStack ...
 
OpenDaylight OpenStack Integration
OpenDaylight OpenStack IntegrationOpenDaylight OpenStack Integration
OpenDaylight OpenStack Integration
 
Yechielthur1100red hat-cloud-infrastructure-networking-deep-dive-140417165107...
Yechielthur1100red hat-cloud-infrastructure-networking-deep-dive-140417165107...Yechielthur1100red hat-cloud-infrastructure-networking-deep-dive-140417165107...
Yechielthur1100red hat-cloud-infrastructure-networking-deep-dive-140417165107...
 
OpenStack-and-OpenDaylight-Integrated-IaaS-for-SDN-and-NFV.pdf
OpenStack-and-OpenDaylight-Integrated-IaaS-for-SDN-and-NFV.pdfOpenStack-and-OpenDaylight-Integrated-IaaS-for-SDN-and-NFV.pdf
OpenStack-and-OpenDaylight-Integrated-IaaS-for-SDN-and-NFV.pdf
 
Modular Layer 2 In OpenStack Neutron
Modular Layer 2 In OpenStack NeutronModular Layer 2 In OpenStack Neutron
Modular Layer 2 In OpenStack Neutron
 
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFVOpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
 
Scaling Up Logging and Metrics
Scaling Up Logging and MetricsScaling Up Logging and Metrics
Scaling Up Logging and Metrics
 
Openstack Networking and ML2
Openstack Networking and ML2Openstack Networking and ML2
Openstack Networking and ML2
 
OpenContrail Cloudwatt Feedback
OpenContrail Cloudwatt FeedbackOpenContrail Cloudwatt Feedback
OpenContrail Cloudwatt Feedback
 
Janus & docker: friends or foe
Janus & docker: friends or foe Janus & docker: friends or foe
Janus & docker: friends or foe
 
How OpenShift SDN helps to automate
How OpenShift SDN helps to automateHow OpenShift SDN helps to automate
How OpenShift SDN helps to automate
 
Meetup 23 - 02 - OVN - The future of networking in OpenStack
Meetup 23 - 02 - OVN - The future of networking in OpenStackMeetup 23 - 02 - OVN - The future of networking in OpenStack
Meetup 23 - 02 - OVN - The future of networking in OpenStack
 
Summit_Tutorial
Summit_TutorialSummit_Tutorial
Summit_Tutorial
 
Networking Updates - Juno Edition
Networking Updates - Juno Edition Networking Updates - Juno Edition
Networking Updates - Juno Edition
 
Open stack networking juno update
Open stack networking juno updateOpen stack networking juno update
Open stack networking juno update
 
What's new in OpenStack Liberty
What's new in OpenStack LibertyWhat's new in OpenStack Liberty
What's new in OpenStack Liberty
 
LF_OVS_17_State of the OVN
LF_OVS_17_State of the OVNLF_OVS_17_State of the OVN
LF_OVS_17_State of the OVN
 
The Open vSwitch and OVN Projects
The Open vSwitch and OVN ProjectsThe Open vSwitch and OVN Projects
The Open vSwitch and OVN Projects
 
Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...
Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...
Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...
 

More from mestery

Group Based Policy: Open Source Policy in OpenDaylight and OpenStack Neutron
Group Based Policy: Open Source Policy in OpenDaylight and OpenStack NeutronGroup Based Policy: Open Source Policy in OpenDaylight and OpenStack Neutron
Group Based Policy: Open Source Policy in OpenDaylight and OpenStack Neutronmestery
 
OpenStack and OpenDaylight Workshop: ONUG Spring 2014
OpenStack and OpenDaylight Workshop: ONUG Spring 2014OpenStack and OpenDaylight Workshop: ONUG Spring 2014
OpenStack and OpenDaylight Workshop: ONUG Spring 2014mestery
 
OpenDaylight Integration with OpenStack Neutron: A Tutorial
OpenDaylight Integration with OpenStack Neutron: A TutorialOpenDaylight Integration with OpenStack Neutron: A Tutorial
OpenDaylight Integration with OpenStack Neutron: A Tutorialmestery
 
LISP and NSH in Open vSwitch
LISP and NSH in Open vSwitchLISP and NSH in Open vSwitch
LISP and NSH in Open vSwitchmestery
 
vBrownBag OpenStack Networking Talk
vBrownBag OpenStack Networking TalkvBrownBag OpenStack Networking Talk
vBrownBag OpenStack Networking Talkmestery
 
OpenStack: Why Is It Gaining So Much Traction?
OpenStack: Why Is It Gaining So Much Traction?OpenStack: Why Is It Gaining So Much Traction?
OpenStack: Why Is It Gaining So Much Traction?mestery
 
Triangle OpenStack Meetup
Triangle OpenStack MeetupTriangle OpenStack Meetup
Triangle OpenStack Meetupmestery
 
OpenStack Development Using devstack
OpenStack Development Using devstackOpenStack Development Using devstack
OpenStack Development Using devstackmestery
 
Open Source Cloud, Virtualization and Deployment Technologies
Open Source Cloud, Virtualization and Deployment TechnologiesOpen Source Cloud, Virtualization and Deployment Technologies
Open Source Cloud, Virtualization and Deployment Technologiesmestery
 

More from mestery (9)

Group Based Policy: Open Source Policy in OpenDaylight and OpenStack Neutron
Group Based Policy: Open Source Policy in OpenDaylight and OpenStack NeutronGroup Based Policy: Open Source Policy in OpenDaylight and OpenStack Neutron
Group Based Policy: Open Source Policy in OpenDaylight and OpenStack Neutron
 
OpenStack and OpenDaylight Workshop: ONUG Spring 2014
OpenStack and OpenDaylight Workshop: ONUG Spring 2014OpenStack and OpenDaylight Workshop: ONUG Spring 2014
OpenStack and OpenDaylight Workshop: ONUG Spring 2014
 
OpenDaylight Integration with OpenStack Neutron: A Tutorial
OpenDaylight Integration with OpenStack Neutron: A TutorialOpenDaylight Integration with OpenStack Neutron: A Tutorial
OpenDaylight Integration with OpenStack Neutron: A Tutorial
 
LISP and NSH in Open vSwitch
LISP and NSH in Open vSwitchLISP and NSH in Open vSwitch
LISP and NSH in Open vSwitch
 
vBrownBag OpenStack Networking Talk
vBrownBag OpenStack Networking TalkvBrownBag OpenStack Networking Talk
vBrownBag OpenStack Networking Talk
 
OpenStack: Why Is It Gaining So Much Traction?
OpenStack: Why Is It Gaining So Much Traction?OpenStack: Why Is It Gaining So Much Traction?
OpenStack: Why Is It Gaining So Much Traction?
 
Triangle OpenStack Meetup
Triangle OpenStack MeetupTriangle OpenStack Meetup
Triangle OpenStack Meetup
 
OpenStack Development Using devstack
OpenStack Development Using devstackOpenStack Development Using devstack
OpenStack Development Using devstack
 
Open Source Cloud, Virtualization and Deployment Technologies
Open Source Cloud, Virtualization and Deployment TechnologiesOpen Source Cloud, Virtualization and Deployment Technologies
Open Source Cloud, Virtualization and Deployment Technologies
 

Recently uploaded

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 

Recently uploaded (20)

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 

An overview of Open Source Backends for Neutron

  • 1. An overview of Open Source Backends for Openstack Neutron
  • 2. Summary ● Neutron plugins recap ● Neutron’s built-in solution ● Open source alternatives ○ Open DayLight ○ Ryu Network OS ○ Open Contrail
  • 3. What this talk is NOT about ● Competitive analysis of open source backends ● Telling you which backend would be right for your deployment ● The holy grail of the infinitely scalable open source backend
  • 4. What this talk is about ● Enumerating open source alternative for Neutron backend ● Providing an overview of such backends and how they integrated with Openstack Neutron ● Proving that Neutron’s “agents” are not the only alternative to commercial backends
  • 5. Neutron plugins recap ● Modular (ML2) Plugin ○ A common layer for DB management and resource allocation; transport/technology specific drivers ● Standalone Core Plugin ○ Implementation of one or more interfaces to serve a particular backend technology or platform ● Both ML2 drivers or standalone plugins can either be commercial or open-source ● Both commercial and open source plugin/drivers are required to pass integration testing
  • 6. Neutron’s built-in solution ● L2/L3 connectivity ● IPAM ● East/West routing ● External gateway & floating IPs ● Implemented by: ○ ML2 plugin with OVS agent mech driver ○ OVS Layer-2 agent ○ Layer-3 agent + DHCP agent ● Load Balancing, VPN, and firewall served by distinct “service plugins”
  • 7. Neutron’s built-in solution Neutron Server ML2 with Open vSwitch Mechanism Driver and GRE transport ML2 L3 base plugin OVS Mech Driver AMQP bus RPC RPC REST OVS Agent OVS Agent OVS Agent LB Agent L3 Agent L3 Agent LB Agent
  • 8. Neutron’s built-in solution Installation via devstack local.conf ○ enable_service neutron q-l3 q-agt q-svc q-dhcp q-meta ./stack.sh
  • 9. Neutron’s built-in solution: limits Careful messaging needed here. ● Point to scalability limits of the L2 agent ● Point to limit of the L3 agents only if the OSS backends discussed here have viable alternatives ● Neutron’s developer community is a mix of web app developers, distributed systems experts and network programmers. ○ Focus is not exclusively on networking
  • 10. L2Population ML2 Driver ● An overlay MechanismDriver for ML2 ○ Optimized by pre-populating forwarding tables of both OVS and Linuxbridge forwarding planes to decrease broadcast traffic ○ Utilizes both VXLAN and GRE tunnels ● Two main implementation details ○ Local ARP responder on each host ■ Linuxbridge support in Havana, OVS support in Juno ○ Forwarding table population on each host ● More information: ○ https://wiki.openstack.org/wiki/L2population
  • 11. Before ML2 L2 Population MechanismDriver Host 1 Host 2 Host 3Host 4 Host 1 VM A VM G VM E VM D VM B VM C VM F VM H VM I “VM A” wants to talk to “VM G.” “VM A” sends a broadcast packet, which is replicated to the entire tunnel mesh.
  • 12. With ML2 L2 Population MechanismDriver Host 1 Host 2 Host 3Host 4 Host 1 VM A VM G VM E VM D VM B VM C VM F VM H VM I The ARP request from “VM A” for “VM G” is intercepted and answered using a pre-populated neighbor entry. Proxy Arp Traffic from “VM A” to “VM G” is encapsulated and sent to “Host 4” according to the bridge forwarding table entry.
  • 13. Try L2Population with devstack ● Setup your local.conf to use L2Population with LB Q_PLUGIN=ml2 Q_AGENT=linuxbridge Q_SERVICE_PLUGIN_CLASSES=neutron.services.l3_router.l3_router_plugin.L3RouterPlugin Q_ML2_PLUGIN_MECHANISM_DRIVERS=openvswitch,linuxbridge,l2population Q_ML2_TENANT_NETWORK_TYPE=vxlan,gre ... [[post-config|/$Q_PLUGIN_CONF_FILE]] [vxlan] enable_vxlan=true local_ip=$HOST_IP l2_population=True ● More information (including OVS setup with L2Population) ○ https://wiki.openstack.org/wiki/L2population
  • 14. OpenContrail ● OpenContrail is an extensible networking system covering two primary use cases: ○ Cloud Networking ○ Network Function Virtualization ● Consists of two components: ○ OpenContrail Controller ■ Configuration, Control, and Analytics nodes ○ OpenContrail vRouter ● http://opencontrail.org/
  • 15. Open Contrail: Openstack integration ● VM bringup with OpenContrail: ○ Nova instructs the Nova Agent on the compute node to create the VM ○ Nova Agent gets network attributes from OpenContrail Plugin ○ Once VM is created, Nova Agent communicates to vRouter ○ vRouter configures the virtual network for the VM
  • 16. Neutron with Open Contrail diagram OpenStack Nova Contrail Neutron Plugin Compute Node OpenStack Nova Agent vRouter Agent (user space) Configuration Node Contrail Node
  • 17. Try OpenContrail with devstack ● Pull the devstack with OpenContrail support ○ git clone https://github.com/dsetia/devstack ● Setup your local.conf ○ ENABLE_CONTRAIL=yes ○ Q_PLUGIN=contrail ○ PHYSICAL_INTERFACE=eth0 ● This will enable a single node OpenContrail setup with devstack ● For more information: ○ http://pedrormarques.wordpress.com/2013/11/14/using- devstack-plus-opencontrail/
  • 18. OpenDaylight ● OpenDaylight is an Open Source Software Project under the Linux Foundation with the goal of furthering the adoption of SDN ○ Three pillars: Code, Acceptance, and Community ● OpenDaylight is building an evolvable SDN platform capable of handling a diverse set of use cases ○ IaaS network orchestration is an important use case ● Releases: ○ Hydrogen: February 2014 ○ Helium: Tentatively slated for September 2014 ○ Three release types: ■ Base, Virtualization, and Service Provider ● Eclipse Public License – v 1.0 (EPL) ● http://www.opendaylight.org/
  • 19. Open DayLight Openstack integration ● OpenStack Neutron ML2 MechanismDriver upstreamed in Icehouse ● REST proxy, passes API calls into OpenDaylight ● Utilized by any provider’s southbound in ODL ○ Examples: VTN, OVSDB Plugin, OpenDove ● Solution still requires Neutron DHCP and L3 agents ○ Support for this planned for Helium release
  • 20. Neutron with Open DayLight diagram Neutron Node Neutron Server ML2 Plugin w/ ODL Driver Network Node L3 Agent OVS DHCP Agent Compute Node OVS OpenDaylight Node ODL Server REST API RPCs OpenFlow and OVSDB Neutron API Service OVSDB Plugin
  • 21. Try OpenDaylight With devstack ● Setup your local.conf ○ Q_ML2_PLUGIN_MECHANISM_DRIVERS=opendaylight ○ enable_service odl-server odl-compute ● This will enable a single-node OpenDaylight devstack setup ○ Additional compute nodes only need “enable_service odl-compute” set ● Checkout lib/opendaylight for more configuration options
  • 22. Ryu Network OS ● Ryu is a component-based SDN framework ○ Supports OpenFlow 1.0, 1.2, 1.3, 1.4, and Nicira extensions ○ Apache 2.0 license ○ Written in Python ● Supports a variety of protocols for managing network devices ○ OpenFlow, Netconf, OF-config, SNMP ● http://osrg.github.io/ryu/
  • 23. Ryu Openstack integration ● Ryu is integrated into OpenStack in two ways: ○ A standalone plugin ○ An ML2 MechanismDriver (ofagent) ● Multi tenant network support ○ Mac address based ○ VLAN ○ GRE tunnel ● Ryu supports port-binding ○ Ryu agent or ofagent must be running on the host ●
  • 24. Neutron with Ryu diagram Neutron Node Neutron DB (network ID, key) Neutron Server RYU Plugin Ryu Node Ryu Server Network Node L3 Agent Ryu Agent Compute Node Ryu Agent OVS OVS
  • 25. Try Ryu with devstack ● Setup your local.conf ○ Q_ML2_PLUGIN_MECHANISM_DRIVERS=ofagent,l2population ○ Q_AGENT=ofagent ○ ENABLE_TENANT_TUNNELS=True ○ Q_ML2_TENANT_NETWORK_TYPE=gre ○ [[post-config|/etc/neutron/plugins/ml2/ml2_conf.ini]] ○ [agent] ○ l2_population=True ● This enables a single-node ofagent setup with Ryu ● More information: ○ https://github.com/osrg/ryu/wiki/OFAgent-Openstack- IceHouse-environment-HOWTO
  • 26. Summary ● Many options in the Open Source Arena for Neutron Plugins ○ Innovation is ongoing in this area ● No “one size fits all”