opendaylight: introduction, lithium and beyond colin dixon technical steering committee chair,...

24
OpenDaylight: Introduction, Lithium and Beyond Colin Dixon Technical Steering Committee Chair, OpenDaylight Senior Principal Engineer, Brocade Some content from: David Meyer, Neela Jaques, and Kevin Woods

Upload: clifford-russell

Post on 02-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OpenDaylight: Introduction, Lithium and Beyond Colin Dixon Technical Steering Committee Chair, OpenDaylight Senior Principal Engineer, Brocade Some content

OpenDaylight: Introduction, Lithium and BeyondColin DixonTechnical Steering Committee Chair, OpenDaylightSenior Principal Engineer, Brocade

Some content from: David Meyer, Neela Jaques, and Kevin Woods

Page 2: OpenDaylight: Introduction, Lithium and Beyond Colin Dixon Technical Steering Committee Chair, OpenDaylight Senior Principal Engineer, Brocade Some content

Outline

• Introduction…• …to SDN• …to OpenDaylight…

• …with a brief aside into YANG

• New in Lithium• Plans for Beryllium

Page 3: OpenDaylight: Introduction, Lithium and Beyond Colin Dixon Technical Steering Committee Chair, OpenDaylight Senior Principal Engineer, Brocade Some content

dst port

0E 6

dst port

0E 6

0A 1

dst port

0E 6

0A 1

0C 4

Traditional SDN (OpenFlow)The separation of the control and data planes

• Modern switches• Control/data plane both on switch• Data plane: fast, reads tables• Control plane: slow, writes tables

• SDN• Decouple control/data planes• Data plane on the switch• Control plane elsewhere, e.g., an

x86 server, can do fancier things

Switch Chip

Control Plane CPU

Ports, 1-6

SDN Controller

This gets smaller, turns into

controller to switch chip

translator

Most featuresgo here

0A->0E0A->0E0A->0C

Table miss, send to

controller

Install table entry, send

packet

0C->4

Page 4: OpenDaylight: Introduction, Lithium and Beyond Colin Dixon Technical Steering Committee Chair, OpenDaylight Senior Principal Engineer, Brocade Some content

Modern, Inclusive SDN

control

mgmt

control

mgmt

control

mgmt

Vendor A Vendor B Vendor C

LogicallyCentralized

SDN Controller

Northbound API

Industry StandardControl/Management

ProtocolsStandardModelingLanguage

Vendor A

control

mgmt

control

mgmt

Vendor B Vendor C

control

mgmt

Page 5: OpenDaylight: Introduction, Lithium and Beyond Colin Dixon Technical Steering Committee Chair, OpenDaylight Senior Principal Engineer, Brocade Some content

What is OpenDaylight

OpenDaylight is an Open Source Software project under the Linux Foundation with the goal of furthering the adoption and innovation of Software Defined Networking (SDN) through the creation of a common industry supported platform.

To create a robust, extensible, open source code base that covers the major common components required to build an SDN solution

Code

To get broad industry acceptance amongst vendors and users:• Using it directly or through vendor products• Vendors using OpenDaylight in commercial products

Acceptance

To have a thriving and growing technical community contributing to the code base, using the code in commercial products, and adding value above, below and around.

Community

Page 6: OpenDaylight: Introduction, Lithium and Beyond Colin Dixon Technical Steering Committee Chair, OpenDaylight Senior Principal Engineer, Brocade Some content

OpenDaylight Releases

• Hydrogen (first release)• February 2014• 13 projects, 1.3m lines of code

• Helium (second release)• October 2014• 25 projects, 2.1m lines of code

• Lithium (latest release)• June 2015• 40+ projects, 2.3m lines of code

Page 7: OpenDaylight: Introduction, Lithium and Beyond Colin Dixon Technical Steering Committee Chair, OpenDaylight Senior Principal Engineer, Brocade Some content

Model-Driven Service Abstraction Layer (MD-SAL)

Core Architecture

Notifications

RPCs

YANG Models

Data

App/Service

App/Service

Plugin Plugin

Controllers in a Cluster

Page 8: OpenDaylight: Introduction, Lithium and Beyond Colin Dixon Technical Steering Committee Chair, OpenDaylight Senior Principal Engineer, Brocade Some content

What is YANG?

• Data modeling language for NETCONF• RFC 6020

• Great, what is NETCONF?• Think of it as an SNMP replacement with nice features• YANG models ~= SNMP MIBs

• OK, fine, but what is YANG?

Page 9: OpenDaylight: Introduction, Lithium and Beyond Colin Dixon Technical Steering Committee Chair, OpenDaylight Senior Principal Engineer, Brocade Some content

What is YANG?

• Three core abstractions• Data• RPCs (just data in and data out)• Notifications (just data out)

• So, it’s really all about the data

DATA

Page 10: OpenDaylight: Introduction, Lithium and Beyond Colin Dixon Technical Steering Committee Chair, OpenDaylight Senior Principal Engineer, Brocade Some content

What does YANG data look like

• container ~= struct• list ~= map/dictionary• leaf ~= primitive types• grouping ~= interface

• Others: typedef, pointers, constraints, etc.

grouping node-attributes { leaf node-id { ... }}

container network-topology { list topology { key "topology-id"; leaf topology-id { type topology-id; }

list node { key "node-id"; uses node-attributes; }

list link { key "link-id"; uses link-attributes; } }}

Page 11: OpenDaylight: Introduction, Lithium and Beyond Colin Dixon Technical Steering Committee Chair, OpenDaylight Senior Principal Engineer, Brocade Some content

OpenDaylight Community

• Like any Open Source Project, OpenDaylight primarily consists of those who show up to do the work.

• Running around 250 commits per week over 12 months, trending up• 30 Days: ~625 commits, ~100 contributors (7/13/15–8/12/15; during a release)

• Spikes to ~2x this near releases• 12 Months: ~13,250 commits, ~365 contributors (8/12/14–8/12/15)

• Strong integration and testing community• This stuff really matters

Source: https://www.openhub.net/p/opendaylight

Page 12: OpenDaylight: Introduction, Lithium and Beyond Colin Dixon Technical Steering Committee Chair, OpenDaylight Senior Principal Engineer, Brocade Some content

OpenDaylight Community

Page 13: OpenDaylight: Introduction, Lithium and Beyond Colin Dixon Technical Steering Committee Chair, OpenDaylight Senior Principal Engineer, Brocade Some content

New in Lithium

Page 14: OpenDaylight: Introduction, Lithium and Beyond Colin Dixon Technical Steering Committee Chair, OpenDaylight Senior Principal Engineer, Brocade Some content

Major Shifts in Lithium

• Deprecation of the AD-SAL• Move to MD-SAL: OVSDB, LISP, etc.

• OpenStack/Neutron Integration• Significant closing of the feature

gap• More implementations

• OVSDB, GBP, VPN Svc, VTN, LISP

• Service chaining/NFV• SFC project, integrating with GBP

• Security• Formal process defined• Handled many issues/fixes

• More on policy• NIC as a vendor-neutral layer• Big push on SFC+GBP

• Release process refinement• Better documentation process• Better integration/test process• Offsets for coordination

• 20+ new projects

Page 15: OpenDaylight: Introduction, Lithium and Beyond Colin Dixon Technical Steering Committee Chair, OpenDaylight Senior Principal Engineer, Brocade Some content

OVSDB migration in Lithium

• Split network virt. and driver• Moved both to use the MD-SAL• Significantly better CI and

testing with OpenStack

• Aspirations of moving to support policy/NIC

Page 16: OpenDaylight: Introduction, Lithium and Beyond Colin Dixon Technical Steering Committee Chair, OpenDaylight Senior Principal Engineer, Brocade Some content

New Projects in Lithium

• Meta• Release Engineering - autorelease• Release Engineering - Builder• Controller Core Functionality Tutorials

• Drivers• CAPWAP-Support• Distributed LLDP with Auto Attach Capability• Link Aggregation Control Protocol• Internet of Things Data Management (IoTDM)• SNMP Plugin• Source Group Tag eXchange Protocol (SXP)• Unified Secure Channel

• Apps• Application Layer Traffic Optimization (ALTO)• Integration of Maple Programming Model• Network Intent Composition• Neutron Northbound

• Services• Persistence• Device Identification and Driver Management• Discovery• Time Series Data Repository• Topology Processing Framework• VPN Service

Page 17: OpenDaylight: Introduction, Lithium and Beyond Colin Dixon Technical Steering Committee Chair, OpenDaylight Senior Principal Engineer, Brocade Some content

Lithium Dependency Diagram

Page 18: OpenDaylight: Introduction, Lithium and Beyond Colin Dixon Technical Steering Committee Chair, OpenDaylight Senior Principal Engineer, Brocade Some content

S3P: Security, Stability, Scalability, Performance

• Goal to improve the quality of key features• OpenFlow, OVSDB, NETCONF, MD-SAL, etc.

• Significant progress on OpenFlow (thanks Luis/Integration team)• See following slides

• Broader progress expected in Beryllium

Page 19: OpenDaylight: Introduction, Lithium and Beyond Colin Dixon Technical Steering Committee Chair, OpenDaylight Senior Principal Engineer, Brocade Some content

OpenFlow flows/sec performance

https://jenkins.opendaylight.org/releng/view/openflowplugin/job/openflowplugin-csit-1node-cbench-performance-only-stable-lithium/plot/

https://jenkins.opendaylight.org/releng/view/openflowplugin/job/openflowplugin-csit-1node-cbench-performance-only-stable-lithium/plot/

Page 20: OpenDaylight: Introduction, Lithium and Beyond Colin Dixon Technical Steering Committee Chair, OpenDaylight Senior Principal Engineer, Brocade Some content

OpenFlow REST flows/sec, scalability

https://jenkins.opendaylight.org/releng/view/openflowplugin/job/openflowplugin-csit-1node-config-performance-only-stable-lithium/plot/Config%20Performance/

https://jenkins.opendaylight.org/releng/view/openflowplugin/job/openflowplugin-csit-1node-periodic-scalability-daily-only-stable-lithium/plot/Inventory%20Scalability/

Page 21: OpenDaylight: Introduction, Lithium and Beyond Colin Dixon Technical Steering Committee Chair, OpenDaylight Senior Principal Engineer, Brocade Some content

S3P To Dos

OpenFlow• Stability testing

• Longevity beyond an hour – Test written waiting for infra OK

• Under different kinds of load – Summer intern will take care

• Performance in a cluster• OpenFlow doesn’t currently work in a

cluster• Scalability beyond switches

• Flows, hosts, links, etc. – Host and Links tests are coming

• More SB Protocols• NETCONF – Pantheon and Carol

(BRCD) will bring tests• OVSDB – Intel working on this

(asked Colin for BRCD thoughts)• BGP• PCEP

• More NB interfaces (use cases)• Neutron• SFC

Page 22: OpenDaylight: Introduction, Lithium and Beyond Colin Dixon Technical Steering Committee Chair, OpenDaylight Senior Principal Engineer, Brocade Some content

Beryllium Plans

Page 23: OpenDaylight: Introduction, Lithium and Beyond Colin Dixon Technical Steering Committee Chair, OpenDaylight Senior Principal Engineer, Brocade Some content

Beryllium Releas

• Focus on S3P, Migration, and HA/clustering

• Tries to balance maturity (the above) with feature velocity• Some projects will be mature• Some of the Karaf features in mature projects will be stable• Stable features will have S3P, Migration, and HA/clustering requirements• Stable and “normal” distribution; stable only has stable features

• Trying to drive appropriate projects/features to mature/stable

Release Plan: https://wiki.opendaylight.org/view/Simultaneous_Release:Beryllium_Release_Plan

Page 24: OpenDaylight: Introduction, Lithium and Beyond Colin Dixon Technical Steering Committee Chair, OpenDaylight Senior Principal Engineer, Brocade Some content

Trying to move offset 0 projects to mature

• Controller• MD-SAL• NETCONF• AAA• YANG Tools• odlparent