OpenStack and OpenDaylight:
An Integrated IaaS for SDN/NFV
Nir Yechiel
Senior Product Manager, Red Hat OpenStack Platform
March 2017
OPENSTACK AND OPENDAYLIGHT INTEGRATION2
About Me
● OpenStack Community Member
● Working with customers deploying OpenStack in production
● Background in core IP routing/MPLS
● Focused on Neutron, SDN and NFV
nyechiel@redhat.com
@nyechiel
thenetworkway.wordpress.com
OPENSTACK AND OPENDAYLIGHT INTEGRATION3
Agenda
● Background: OpenStack, Neutron, and OpenDaylight
● Why OpenDaylight?
● OpenStack and OpenDaylight
● Further Reading
Background
OPENSTACK AND OPENDAYLIGHT INTEGRATION5
What is OpenStack?
● Fully open-source cloud “operating system”
● Comprised of several open source sub-projects
● Provides building blocks to create an IaaS cloud
● Governed by the vendor agnostic OpenStack Foundation
● Enormous market momentum
Overview
OPENSTACK AND OPENDAYLIGHT INTEGRATION6
What is OpenStack?
Context - OpenStack Service
REST API
Backend-specific orchestration
Backend-specific host technology
OPENSTACK AND OPENDAYLIGHT INTEGRATION7
What is OpenStack?
Red Hat OpenStack Platform
IaaS+
IaaS
TELEMETRY ORCHESTRATION
CEILOMETER SAHARA HEAT
DATA
PROCESSING
COMPUTE
NOVA
NETWORKING
NEUTRON IRONICCINDER GLANCE SWIFT
STORAGE
BLOCK IMAGE OBJECT
BARE-METAL
PROVISIONING
HORIZON TRIPLEO
DASHBOARD
SHARED SERVICES
IDENTITY
KEYSTONE
DIRECTOR
DEPLOYMENT
and
MANAGEMENT
MANILA
SHARED
FILESYSTEM
OPENSTACK AND OPENDAYLIGHT INTEGRATION8
What is OpenStack Neutron?
● Fully supported and integrated OpenStack project
● Exposes an API for defining network configuration for applications
● Based on a pluggable architecture
● Offers multi-tenancy with self-service
○ Provides operators and tenants with the ability to create rich network topologies
Overview
OPENSTACK AND OPENDAYLIGHT INTEGRATION9
What is OpenStack Neutron?
● L2 connectivity
● IP Address Management
● Security Groups
● East/West L3 routing
● External gateway, NAT and floating IPs
● IPv6 support
● QoS
● Load balancing, VPN and firewall
Key API Capabilities
OPENSTACK AND OPENDAYLIGHT INTEGRATION10
What is OpenStack Neutron?
Upstream “Reference Implementation”
neutron-server
ML2/OVS driver
Neutron agents
(OVS, L3, DHCP, Metadata)
Open vSwitch
REST API
Orchestration layer
(Translate Neutron config into
configuration of a network across a
deployment)
Per-host programmable vSwitch
(Controlled by the orchestration layer)
OPENSTACK AND OPENDAYLIGHT INTEGRATION11
What is OpenDaylight?
● OpenDaylight is an open source project under the Linux Foundation with the goal of
furthering the adoption and innovation of SDN through the creation of a common industry
supported platform
Overview
OPENSTACK AND OPENDAYLIGHT INTEGRATION12
What is OpenDaylight?
● OpenDaylight is a modular, extensible, and multi-protocol controller infrastructure built for
SDN deployments on modern multi-vendor networks
● Provides a model-driven service abstraction platform that allows users to write applications
that easily work across a wide variety of hardware and southbound protocols
● Composed of a number of different projects that can be combined as needed to meet the
requirements of a given scenario
Overview (cont.)
OPENSTACK AND OPENDAYLIGHT INTEGRATION13
OpenDaylight Projects
● The fast innovation and the large number of projects under OpenDaylight poses a real
challenge for users to choose what functionality they need
● The first Hydrogen release was distributed by packaging projects in customer-specific
editions: “base”, “virtualization”, and “service provider”
● After the Hydrogen release, the community have worked on porting OpenDaylight to Apache
Karaf - which allows the user to customize OpenDaylight to his needs by loading the
necessary projects (modules) that are required for his use-case
OPENSTACK AND OPENDAYLIGHT INTEGRATION14
Core Architecture
Controller Platform
Model Driven Service Abstraction Layer (MD-SAL)
Southbound Interfaces and Plugins
Data Plane Elements
Network Applications, Services and Orchestration
OpenDaylight API (REST)
OPENSTACK AND OPENDAYLIGHT INTEGRATION15
OpenDaylight Boron
Source: https://www.opendaylight.org/odlboron
Why OpenDaylight?
OPENSTACK AND OPENDAYLIGHT INTEGRATION17
Why OpenDaylight?
True SDN Platform Standard-based,
Open Approach
Interacting with the
Physical Fabric
Enhanced Cloud
Networking
SDN for NFVi
OPENSTACK AND OPENDAYLIGHT INTEGRATION18
True SDN Platform
● Modular and extensible
● Multi-protocol
● Large community and ecosystem
● Ready for future innovation
OPENSTACK AND OPENDAYLIGHT INTEGRATION19
Standard-based, Open Approach
● Open APIs
● Standard interfaces and protocols
● Full “reference stack”
● Avoid vendor lock-in
OPENSTACK AND OPENDAYLIGHT INTEGRATION20
Interacting with the Physical Fabric
● Topology discovery
● Network automation
● Overlay/underlay correlation
● Monitoring and troubleshooting
OPENSTACK AND OPENDAYLIGHT INTEGRATION21
Enhanced Cloud Networking
● Network virtualization
● Multi tenancy
● Security and isolation
● L4-L7 network services
OPENSTACK AND OPENDAYLIGHT INTEGRATION22
SDN for NFVi
● Rich datapth connectivity options
● Service Function Chaining (SFC)
● Service Provider applications
OpenStack and OpenDaylight
OPENSTACK AND OPENDAYLIGHT INTEGRATION24
OpenDaylight with OpenStack
● Neutron support for OpenStack is far from being the only use-case for OpenDaylight
○ It is, however, a key use-case and Red Hat’s main focus
● OpenDaylight exposes a common OpenStack Service Northbound
○ API matches Neutron REST precisely
○ Multiple implementations of Neutron providers exist in OpenDaylight
■ We focus on NetVirt*
● Key fundamental facts about the NetVirt integration:
○ Neutron is where the OpenStack networking API is being defined
○ OpenDaylight consumes the Neutron API rather than replace or change it
○ Open vSwitch is used on the hosts. Communication is done via its native interfaces
(OVSDB, OpenFlow)
*https://wiki.opendaylight.org/view/NetVirt
OPENSTACK AND OPENDAYLIGHT INTEGRATION25
OpenDaylight with OpenStack
Using NetVirt
neutron-server
ML2/ODL driver (networking-odl)
OpenDaylight (NetVirt)
Open vSwitch (OVS)
OVS-DPDK
L2 GW
VPP
REST API
Orchestration layer
(Translate Neutron config into
configuration of a network across a
deployment)
Per-host programmable vSwitch
(Controlled by the orchestration layer)
OPENSTACK AND OPENDAYLIGHT INTEGRATION26
NetVirt
● NetVirt is a Network Virtualization application developed on OpenDaylight consisting of
modular sub-services such as L2, L3, ACL, NAT, DHCP, IPv6 control, and more
● Supports the Neutron API via the networking-odl Neutron plugin/drivers
● Currently controls OVS virtual switches and Layer 2 gateways
● In future will support:
○ VPP virtual switches
○ CNI plugin for Kubernetes
Overview
OPENSTACK AND OPENDAYLIGHT INTEGRATION27
NetVirt and VPNService Integration
● It became apparent that the VPNService* had it’s own version of NetVirt
● During the Boron cycle the two projects joined efforts so that:
○ NetVirt became the main Network Virtualization engine of OpenDaylight
○ NetVirt is more feature rich
○ The two projects are now using the same common service pipeline defined in NetVirt
○ The two projects leverage code, test, and developer resources
● This shows strong upstream convergence around NetVirt
● As a result, NetVirt’s implementation has changed but that should be agnostic to the end user
Upstream Boron release
*https://wiki.opendaylight.org/view/VPNService:Main
OPENSTACK AND OPENDAYLIGHT INTEGRATION28
Red Hat Package*
*Technology Preview with Red Hat OpenStack Platform
Further Reading
OPENSTACK AND OPENDAYLIGHT INTEGRATION30
Further Reading
● NetVirt
○ Upstream Wiki
● Red Hat OpenStack Platform
○ Product Documentation
● Red Hat and OpenDaylight
○ SDN with Red Hat OpenStack Platform: OpenDaylight Integration
○ OpenDaylight Product Guide
○ OpenDaylight Installation and Configuration Guide
● Red Hat NFV, SR-IOV and OVS-DPDK Guides
○ Product Guide
○ Planning Guide
○ Configuration Guide
THANK YOU
plus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHatNews

OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV

  • 1.
    OpenStack and OpenDaylight: AnIntegrated IaaS for SDN/NFV Nir Yechiel Senior Product Manager, Red Hat OpenStack Platform March 2017
  • 2.
    OPENSTACK AND OPENDAYLIGHTINTEGRATION2 About Me ● OpenStack Community Member ● Working with customers deploying OpenStack in production ● Background in core IP routing/MPLS ● Focused on Neutron, SDN and NFV nyechiel@redhat.com @nyechiel thenetworkway.wordpress.com
  • 3.
    OPENSTACK AND OPENDAYLIGHTINTEGRATION3 Agenda ● Background: OpenStack, Neutron, and OpenDaylight ● Why OpenDaylight? ● OpenStack and OpenDaylight ● Further Reading
  • 4.
  • 5.
    OPENSTACK AND OPENDAYLIGHTINTEGRATION5 What is OpenStack? ● Fully open-source cloud “operating system” ● Comprised of several open source sub-projects ● Provides building blocks to create an IaaS cloud ● Governed by the vendor agnostic OpenStack Foundation ● Enormous market momentum Overview
  • 6.
    OPENSTACK AND OPENDAYLIGHTINTEGRATION6 What is OpenStack? Context - OpenStack Service REST API Backend-specific orchestration Backend-specific host technology
  • 7.
    OPENSTACK AND OPENDAYLIGHTINTEGRATION7 What is OpenStack? Red Hat OpenStack Platform IaaS+ IaaS TELEMETRY ORCHESTRATION CEILOMETER SAHARA HEAT DATA PROCESSING COMPUTE NOVA NETWORKING NEUTRON IRONICCINDER GLANCE SWIFT STORAGE BLOCK IMAGE OBJECT BARE-METAL PROVISIONING HORIZON TRIPLEO DASHBOARD SHARED SERVICES IDENTITY KEYSTONE DIRECTOR DEPLOYMENT and MANAGEMENT MANILA SHARED FILESYSTEM
  • 8.
    OPENSTACK AND OPENDAYLIGHTINTEGRATION8 What is OpenStack Neutron? ● Fully supported and integrated OpenStack project ● Exposes an API for defining network configuration for applications ● Based on a pluggable architecture ● Offers multi-tenancy with self-service ○ Provides operators and tenants with the ability to create rich network topologies Overview
  • 9.
    OPENSTACK AND OPENDAYLIGHTINTEGRATION9 What is OpenStack Neutron? ● L2 connectivity ● IP Address Management ● Security Groups ● East/West L3 routing ● External gateway, NAT and floating IPs ● IPv6 support ● QoS ● Load balancing, VPN and firewall Key API Capabilities
  • 10.
    OPENSTACK AND OPENDAYLIGHTINTEGRATION10 What is OpenStack Neutron? Upstream “Reference Implementation” neutron-server ML2/OVS driver Neutron agents (OVS, L3, DHCP, Metadata) Open vSwitch REST API Orchestration layer (Translate Neutron config into configuration of a network across a deployment) Per-host programmable vSwitch (Controlled by the orchestration layer)
  • 11.
    OPENSTACK AND OPENDAYLIGHTINTEGRATION11 What is OpenDaylight? ● OpenDaylight is an open source project under the Linux Foundation with the goal of furthering the adoption and innovation of SDN through the creation of a common industry supported platform Overview
  • 12.
    OPENSTACK AND OPENDAYLIGHTINTEGRATION12 What is OpenDaylight? ● OpenDaylight is a modular, extensible, and multi-protocol controller infrastructure built for SDN deployments on modern multi-vendor networks ● Provides a model-driven service abstraction platform that allows users to write applications that easily work across a wide variety of hardware and southbound protocols ● Composed of a number of different projects that can be combined as needed to meet the requirements of a given scenario Overview (cont.)
  • 13.
    OPENSTACK AND OPENDAYLIGHTINTEGRATION13 OpenDaylight Projects ● The fast innovation and the large number of projects under OpenDaylight poses a real challenge for users to choose what functionality they need ● The first Hydrogen release was distributed by packaging projects in customer-specific editions: “base”, “virtualization”, and “service provider” ● After the Hydrogen release, the community have worked on porting OpenDaylight to Apache Karaf - which allows the user to customize OpenDaylight to his needs by loading the necessary projects (modules) that are required for his use-case
  • 14.
    OPENSTACK AND OPENDAYLIGHTINTEGRATION14 Core Architecture Controller Platform Model Driven Service Abstraction Layer (MD-SAL) Southbound Interfaces and Plugins Data Plane Elements Network Applications, Services and Orchestration OpenDaylight API (REST)
  • 15.
    OPENSTACK AND OPENDAYLIGHTINTEGRATION15 OpenDaylight Boron Source: https://www.opendaylight.org/odlboron
  • 16.
  • 17.
    OPENSTACK AND OPENDAYLIGHTINTEGRATION17 Why OpenDaylight? True SDN Platform Standard-based, Open Approach Interacting with the Physical Fabric Enhanced Cloud Networking SDN for NFVi
  • 18.
    OPENSTACK AND OPENDAYLIGHTINTEGRATION18 True SDN Platform ● Modular and extensible ● Multi-protocol ● Large community and ecosystem ● Ready for future innovation
  • 19.
    OPENSTACK AND OPENDAYLIGHTINTEGRATION19 Standard-based, Open Approach ● Open APIs ● Standard interfaces and protocols ● Full “reference stack” ● Avoid vendor lock-in
  • 20.
    OPENSTACK AND OPENDAYLIGHTINTEGRATION20 Interacting with the Physical Fabric ● Topology discovery ● Network automation ● Overlay/underlay correlation ● Monitoring and troubleshooting
  • 21.
    OPENSTACK AND OPENDAYLIGHTINTEGRATION21 Enhanced Cloud Networking ● Network virtualization ● Multi tenancy ● Security and isolation ● L4-L7 network services
  • 22.
    OPENSTACK AND OPENDAYLIGHTINTEGRATION22 SDN for NFVi ● Rich datapth connectivity options ● Service Function Chaining (SFC) ● Service Provider applications
  • 23.
  • 24.
    OPENSTACK AND OPENDAYLIGHTINTEGRATION24 OpenDaylight with OpenStack ● Neutron support for OpenStack is far from being the only use-case for OpenDaylight ○ It is, however, a key use-case and Red Hat’s main focus ● OpenDaylight exposes a common OpenStack Service Northbound ○ API matches Neutron REST precisely ○ Multiple implementations of Neutron providers exist in OpenDaylight ■ We focus on NetVirt* ● Key fundamental facts about the NetVirt integration: ○ Neutron is where the OpenStack networking API is being defined ○ OpenDaylight consumes the Neutron API rather than replace or change it ○ Open vSwitch is used on the hosts. Communication is done via its native interfaces (OVSDB, OpenFlow) *https://wiki.opendaylight.org/view/NetVirt
  • 25.
    OPENSTACK AND OPENDAYLIGHTINTEGRATION25 OpenDaylight with OpenStack Using NetVirt neutron-server ML2/ODL driver (networking-odl) OpenDaylight (NetVirt) Open vSwitch (OVS) OVS-DPDK L2 GW VPP REST API Orchestration layer (Translate Neutron config into configuration of a network across a deployment) Per-host programmable vSwitch (Controlled by the orchestration layer)
  • 26.
    OPENSTACK AND OPENDAYLIGHTINTEGRATION26 NetVirt ● NetVirt is a Network Virtualization application developed on OpenDaylight consisting of modular sub-services such as L2, L3, ACL, NAT, DHCP, IPv6 control, and more ● Supports the Neutron API via the networking-odl Neutron plugin/drivers ● Currently controls OVS virtual switches and Layer 2 gateways ● In future will support: ○ VPP virtual switches ○ CNI plugin for Kubernetes Overview
  • 27.
    OPENSTACK AND OPENDAYLIGHTINTEGRATION27 NetVirt and VPNService Integration ● It became apparent that the VPNService* had it’s own version of NetVirt ● During the Boron cycle the two projects joined efforts so that: ○ NetVirt became the main Network Virtualization engine of OpenDaylight ○ NetVirt is more feature rich ○ The two projects are now using the same common service pipeline defined in NetVirt ○ The two projects leverage code, test, and developer resources ● This shows strong upstream convergence around NetVirt ● As a result, NetVirt’s implementation has changed but that should be agnostic to the end user Upstream Boron release *https://wiki.opendaylight.org/view/VPNService:Main
  • 28.
    OPENSTACK AND OPENDAYLIGHTINTEGRATION28 Red Hat Package* *Technology Preview with Red Hat OpenStack Platform
  • 29.
  • 30.
    OPENSTACK AND OPENDAYLIGHTINTEGRATION30 Further Reading ● NetVirt ○ Upstream Wiki ● Red Hat OpenStack Platform ○ Product Documentation ● Red Hat and OpenDaylight ○ SDN with Red Hat OpenStack Platform: OpenDaylight Integration ○ OpenDaylight Product Guide ○ OpenDaylight Installation and Configuration Guide ● Red Hat NFV, SR-IOV and OVS-DPDK Guides ○ Product Guide ○ Planning Guide ○ Configuration Guide
  • 31.