openstack and opendaylight: an integrated iaas for sdn/nfv
TRANSCRIPT
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
Nir YechielSenior 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
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
DATAPROCESSING
COMPUTE
NOVA
NETWORKING
NEUTRON IRONICCINDER GLANCE SWIFT
STORAGE
BLOCK IMAGE OBJECT
BARE-METALPROVISIONING
HORIZON TRIPLEO
DASHBOARD
SHARED SERVICES
IDENTITY
KEYSTONE
DIRECTOR
DEPLOYMENTand
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 OpenStackUsing NetVirt
neutron-server
ML2/ODL driver (networking-odl)
OpenDaylight (NetVirt)
Open vSwitch (OVS)OVS-DPDK
L2 GWVPP
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