battle of titans or cupid and psyche neutron and opendaylight

32
Neutron and OpenDaylight: Battle of Titans or Cupid and Psyche Flavio Fernandes - RedHat Armando Migliaccio - HP #ODLSummit

Upload: others

Post on 01-Jan-2022

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight

Neutron and OpenDaylight:Battle of Titans or Cupid and Psyche

Flavio Fernandes - RedHat

Armando Migliaccio - HP

#ODLSummit

Page 2: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight

Agenda

• Background

• Architecture

• Development and Testing

• Demo time!

• Q&A

#ODLSummit

Page 3: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight

Background

Page 4: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight

2010 2011 2012 2013 2014 2015

OpenStack is born

DiabloNeutron is born

EssexNeutron is incubated

FolsomNeutron is core

L4/L7 are experimental

GrizzlyML2 is born

HavanaML2 is default

OpenDaylight is born

IcehouseML2 ODL driver

HydrogenHelium

Kilo30+ drivers:

core decomposition effort started

Lithium

OpenStack Releases

Page 5: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight

What is Neutron anyway?

• Neutron– API exposing logical abstractions for consuming the service– One or more backend implementations of that API

• Why?– Networking constructs baked into Nova– No tenant control over network topology and service insertion– Multi-tenancy and scalability

Page 6: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight

Neutron != SDN

Reference (kudos to @taturiello):http://www.slideshare.net/salv_orlando/quantum-virtual-networks-for-openstack

• Backend options?– Pox– Ryu– Floodlight– OVS

Page 7: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight

Mission Statements• Neutron mission

– To implement services and associated libraries to provide on-demand, scalable, and technology-agnostic network abstraction

• OpenDaylight mission

– Facilitate a community-led, industry-supported open source framework, including code and architecture, to accelerate and advance a common, robust Software Defined Networking platform

• So…Neutron and OpenDaylight: antagonists or lovers?– Let’s go ahead…we’ll get back to this question at the of the

slide deck

Page 8: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight

Architecture

Page 9: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight

Neutron Architecture

Neutron Server

ML2 Plugin

Type Manager Mechanism Manager

VX

LAN

TypeD

river

VLA

NTyp

eDriver

… OV

S

API Extensions

Linu

x Brid

ge

Op

enD

aylight

L3 Plugin

OV

S/DV

R+H

A

Op

en D

aylight

LBaaS

HA

Pro

xy

Op

en D

aylight

FWaaS

IPTab

les

Op

en D

aylight

Page 10: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight

Neutron Architecture

Neutron Server

ML2 Plugin

Type Manager Mechanism Manager

VX

LAN

TypeD

river

VLA

NTyp

eDriver

… OV

S

API Extensions

Linu

x Brid

ge

OD

L

L3 Plugin

OV

S/DV

R+H

A

Op

en D

aylight

LBaaS

HA

Pro

xy

Op

en D

aylight

FWaaS

IPTab

les

Op

en D

aylight

Page 11: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight

Neutron Architecture

• Workloads– Virtual (multi-hypervisor) and bare metal

• L2 connectivity– vlan, vxlan, gre

• L3 connectivity– DVR, HA, external gateways, floating IPs

• IPAM– DHCP/DNS

• Load Balancing• Firewall• Site-to-site VPN• L2 Gateway• ...

Page 12: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight

Neutron Platform

Page 13: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight
Page 14: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight

OpenDaylight Architecture (Helium)

Page 15: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight
Page 16: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight

An OpenStack view of OpenDaylight

•OpenDaylight has a common Neutron “northbound” provider

• 3 implementations in Helium• OVSDB, OpenContrail, VTN

• 5+ implementations in Lithium• OVSDB, VTN, LISP, Group-based

Policy, VPN service

•Supports ML2 and some advanced services

Page 17: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight

OpenStack Neutron

Neutron -- networking-odl

Lithium adds YANG and more providers

OpenDaylight

VTNProvider

OVSDB Provider

Neutron Service

OpenContrail Provider

OpenDaylight APIs (REST)OpenDaylight

VTNProviderVTN Provider

Neutron Service

OpenStack Neutron

Group Policy Provider

Neutron -- networking-odl

Neutron REST API

OpenDaylight YANG-modeled RESTCONF

VPN Service Provider

LISPProvider

LithiumHelium

Page 18: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight

End-to-End Deployment

Page 19: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight
Page 20: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight
Page 21: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight

Development and Testing

Page 22: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight

The meat on the bone

• Neutron OpenDaylight drivers/plugins• https://github.com/openstack/networking-odl

• OpenDaylight Neutron Northbound• https://github.com/opendaylight/neutron

Page 23: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight

When You Submit Code...

Page 24: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight

One change generates

Page 25: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight

Life is good, if not rinse and repeat

Page 26: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight

Demo time!

Page 27: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight
Page 28: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight
Page 29: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight

Demo backup!

YouTube: https://youtu.be/wnQ0qpakOxA

Page 30: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight

[Quoted] Growing Pains with OpenStack Neutron

• Neutron is a tenant facing cloud networking API, but a poor SDN controller implementation

• Complex architecture with neutron agents and custom protocols to communicate network needs to OVS network devices

• The result has had fundamental scaling and robustness issues• Neutron as an API service is focused on tenants

• It does not provide any APIs or functionality for managing your network• This would show up most when debugging a network issue and needing to

use two separate tools (Neutron, plus host tools, plus fabric tools).

Page 31: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight

Q&A

• Symbiotic relationship or antagonism?

– It is not necessarily either…or

– It depends on your data center strategy

– They can complement each other, but…– They can live on their own

– They are both ready to use, and more importantly…– They are both in need of love

Page 32: Battle of Titans or Cupid and Psyche Neutron and OpenDaylight