show and tell: building applications on cisco open sdn controller

14
DevNet @

Upload: cisco-devnet

Post on 17-Jul-2015

237 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Show and Tell: Building Applications on Cisco Open SDN Controller

DevNet @

Page 2: Show and Tell: Building Applications on Cisco Open SDN Controller

DevNet @

Building Applications on Cisco Open SDN Controller

DevNet 1012

Giles Heron – Principal Engineer

Page 3: Show and Tell: Building Applications on Cisco Open SDN Controller

© 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @

Agenda

• The Cisco Open SDN Controller

• “Just for the YANG of it”

• Creating Java apps inside the Cisco Open SDN Controller

• Creating RESTCONF apps using the Cisco Open SDN Controller

• Q&A

Page 4: Show and Tell: Building Applications on Cisco Open SDN Controller

© 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @

The Cisco Open SDN Controller

• Based on OpenDaylight Helium

• Packaged as a Virtual Machine

• Key MD-SAL features pre-installed

– OpenFlow, NETCONF/YANG, BGP/PCEP, etc.

• Integrated User Interface

• Supports single-node and 3-node cluster

• In EFT as of last week

• See the /dev/innovate pod here in DevNet

A commercial distribution of the OpenDaylight SDN Controller

Page 5: Show and Tell: Building Applications on Cisco Open SDN Controller

© 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @

• Open platform for

network

programmability

• Enables SDN for

networks at any size

and scale

• New “Helium” release

delivers new user

interface and a much

simpler and

customizable

installation process

• Users can add value at

any layer (Apps,

Network Services, SB

Plugins)

OpenDaylight Controller

Cisco Contributions

Page 6: Show and Tell: Building Applications on Cisco Open SDN Controller

© 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @

Open SDN Controller 1.0 Release Content

Community SupportCisco Supported

“HELIUM”Open SDN Controller

Common Content Incremental Cisco

Value Precluded

OpenDaylight

Content

SDNi

Defense4all

PacketCable

PCMM

VTN Project

OpenContrail

Plugin

SNMP4SDN

AAA

BGPCEP

Controller

DLUX

Group Policy

L2 Switch

LISP Flow

Mapping

Openflow

Plugin

OVSDB

Secure Network

Bootstrap InfraService

Function

Chaining

Yang Tools

MD-SAL

AD-SAL

Log Aggregation

Metrics

Aggregation

MonitoringBasic

Clustering

Centralized

Admin

OVA Distribution

Samples

One Click Clustering

Page 7: Show and Tell: Building Applications on Cisco Open SDN Controller

© 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @

SupportLearn / Build Validate Sell / Monetize

SDK on DevNet

• Getting Started Guides

• Reference Guides

• Code samples

• Videos

• Etc

Integration Points

• NB Rest APIs

• Network Service JAVA APIs

• OpenFlow 1.0 and 1.3

Interfaces

• NetConf / YANG Interface

• BGPLS Interface

• PCEP Interface

• OVSDB Interface

Community and Pay-As-

You Go Support

Developer Sandbox

Interop Validation Testing

• Application Specific Test Plans

• For Fee Testing

• Successful IVT completion allows

use of Cisco Compatible logo

Solution Partner Program

• Solution Marketplace listing

App Store (future)

• Streamlined sales and

delivery of 3rd party apps

(light-weight version of

Solutions Plus program)

Mandatory Coordinated

Customer Support

3rd Party Developer Enablement (DevNet Plan) Cisco Open SDN Controller Developer Lifecycle

Page 8: Show and Tell: Building Applications on Cisco Open SDN Controller

© 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @

“Just for the YANG of it”

• YANG is a data modeling language

– Documented in RFC6020

– Designed to model NETCONF data (see RFC6241)

• OpenDaylight’s MD-SAL is “Model Driven Service Abstraction Layer”

– “Model” == YANG Model

• OpenDaylight contains over 100 YANG models

– YANG is used as our IDL

• Southbound plugins described by YANG Models

– NETCONF plugin learns models from connected devices at run-time

Everything in MD-SAL is YANG modeled

Page 9: Show and Tell: Building Applications on Cisco Open SDN Controller

© 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @

Java apps inside Cisco Open SDN Controller

• The controller creates Java APIs from YANG models at run-time

– YANG model maps to Java classes (class per container, list, typedef etc.)

• Java APIs designed for performance

– DTOs are immutable (write once/read many)

– APIs are asynchronous (no need to spawn a thread to wait for each data item)

• Apps packaged as Karaf features

– .kar files in the controller’s “deploy” directory will auto-install

Page 10: Show and Tell: Building Applications on Cisco Open SDN Controller

© 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @

Auto-Populating NCS inventory from BGP-LS Topology

MPLS-TE Network

MD-SAL

BGP-LS

LinkstateTopology

RESTCONF

BGP-LS TopologyExporter

BGP-LS RIB

NETCONF

NCS Inventory Creator

BGP-LS

Page 11: Show and Tell: Building Applications on Cisco Open SDN Controller

© 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @

Tunnel Programming API using NCS via NETCONF/YANG

MPLS-TE Network

MD-SALLSP Config

App

RESTCONF

IOS-XR NED

PostMan Collection

CLI (over ssh)

Tunnel Programming API

NETCONF

Page 12: Show and Tell: Building Applications on Cisco Open SDN Controller

© 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @

RESTCONF apps using Cisco Open SDN Controller

• The controller generates RESTCONF APIs from YANG models at run-time

– YANG model structure maps to RESTCONF URLs

– HTTP GET to read data, POST/PUT/DELETE to write, POST to run RPCs

• RESTCONF supports both XML and JSON

– Most devs prefer JSON (native to JavaScript, super-easy from Python etc.)

• Performance is lower than Java APIs due to serialisation, context switches etc.

• Examples:

– /restconf/config/opendaylight-inventory:nodes

– …nodes/node/foo/yang-ext:mount/model:container

– /restconf/operational/network-topology:network-topology

– /restconf/operations/coffee-maker:make-coffee

Page 13: Show and Tell: Building Applications on Cisco Open SDN Controller

© 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @

• Copy to be supplied by Cisco.

Complete Your Online Session Evaluation

Page 14: Show and Tell: Building Applications on Cisco Open SDN Controller

Thank you.

DevNet @

Join us on DevNet at developer.cisco.com

Follow DevNet on Twitter: @ciscodevnet