AT&T and OpenDaylight: A Platform for Programmable...
Transcript of AT&T and OpenDaylight: A Platform for Programmable...
© 2016 AT&T Intellectual Property. All rights reserved. AT&T, Globe logo, Mobilizing Your World and DIRECTV are registered trademarks and service marks of AT&T Intellectual Property and/or AT&T affiliated companies. All other marks are the property of their respective owners.
Date: 9/28/2016
AT&T and OpenDaylight: A Platform for Programmable Service Logic
Brian Freeman Distinguished Member of Technical Staff
OpenDaylight at AT&T
© 2016 AT&T Intellectual Property. All rights reserved. AT&T, Globe logo, Mobilizing Your World and DIRECTV are registered trademarks and service marks of AT&T Intellectual Property and/or AT&T affiliated companies. All other marks are the property of their respective owners.2
Introduction
• AT&T has developed the Service Logic Interpreter as an application on top of Opendaylight to create a Platform for Programmable Service Logic
• Using a domain specific language based on a-cyclic directed graphs , AT&T has implemented a model driven application which enables service designers to create software defined network solutions within the ECOMP framework.
• The talk will cover a brief overview of • the Service Logic Interpreter language, • the graphical user interface,
• the integration points with OpenDaylight and
• enhancements to OpenDaylight that would be useful for the future.
OpenDaylight at AT&T
© 2016 AT&T Intellectual Property. All rights reserved. AT&T, Globe logo, Mobilizing Your World and DIRECTV are registered trademarks and service marks of AT&T Intellectual Property and/or AT&T affiliated companies. All other marks are the property of their respective owners.3
What is “A Platform for Programmable Service Logic” ?
• An application that interacts with the network through APIs • An application that does resource assignment through micro-service APIs. • An application that implements Service Provider engineering rules and
maintains customer data. • An application that has a language for dealing with
• the service, network and device models
• The service model to network model mapping
• The network model to device model mapping.
• An application that can deploy new service or update existing services without recompiling the controller code.
OpenDaylight at AT&T
© 2016 AT&T Intellectual Property. All rights reserved. AT&T, Globe logo, Mobilizing Your World and DIRECTV are registered trademarks and service marks of AT&T Intellectual Property and/or AT&T affiliated companies. All other marks are the property of their respective owners.4
Goals of “A Platform for Programmable Service Logic” ?
• Hide complexity from service designers • Create reusable functions for service designers • Create a mechanism to change network and customer logic without a code
release • Create a mechanism to specify how to fill out or map the data in the various
yang models • Create a mechanism to define the Northbound “Service” API via code
generation • Provide the ability for service designers to add “user defined” functions to the
language.
OpenDaylight at AT&T
© 2016 AT&T Intellectual Property. All rights reserved. AT&T, Globe logo, Mobilizing Your World and DIRECTV are registered trademarks and service marks of AT&T Intellectual Property and/or AT&T affiliated companies. All other marks are the property of their respective owners.
High-Level View of AT&T ECOMP
Service Definition Distribution
Net App Onboarding
Service & Network Design
vCEvCE
VNFsvCE
vCENet AppsVM
Instantiate Multi-tenant
VNFs
Network Adapters Application Adapters
Service Orchestrator
AIC Cloud
AIC PlatformOrchestrator OpenStack
Controller Framework
Net Ops
Service Logic
Service Logic
Service Logic
Service Logic
Service Logic
Service Recipe
VNF Adapter Application AdapterNeutron Adapter
Policy Creation Framework
Service Logic
Network Adapter
Network Transport
Application
SDN-C APP-C
Policy Mgmt.
Infrastructure Portal
Service Orders
OSS/BSS
Service Recipe (TOSCA+, HEAT,YANG) Distribution
OSS
Configuration Mgmt.
VM & Image Mgmt. Fault,
Performance, Usage
ASDC CatalogDiscovery
Design
HEAT Templates & Service Recipes
YANG Definitions, Adapters & VNF
Config.
A&AID2 Inventory
Registry
DCAE
Manual Fault & Performance Exceptions
Analytics
Distribution
Collection
5
OpenDaylight at AT&T
© 2016 AT&T Intellectual Property. All rights reserved. AT&T, Globe logo, Mobilizing Your World and DIRECTV are registered trademarks and service marks of AT&T Intellectual Property and/or AT&T affiliated companies. All other marks are the property of their respective owners.
AT&T SDN Controller Framework
SDN-C
API Handlers
Service Logic Interpreter
Network Adapters
SDN-C Database
Service Logic/Eng Rules
Assigned Resource Inventory
Directed Graph
Files – XML (Eng Rules)
Network Data Model
Files – YANG (i.e. IPAG EMT)
Service Data Model
Files - YANG (i.e.UNI port)
VRR Smart Adapter Support CLI/NetConf/BGP
OpenDaylight with AT&T
customizations
Security Applications
A&AI
Inventory
REST
API (REST)
Config Tree
OperationalTree
Service-related Artifacts for SLI, API Handlers, Network Adpaters
External API calls
Control Loop Applications
API (REST)
vCE/vPE Smart Adapter
VOIP VNF Adapter
OpenStack Adapter
Service Orchestrators
API (REST)
BGPCEP Adapter
Etc.
6
Directed Graph Builder
OpenDaylight at AT&T
© 2016 AT&T Intellectual Property. All rights reserved. AT&T, Globe logo, Mobilizing Your World and DIRECTV are registered trademarks and service marks of AT&T Intellectual Property and/or AT&T affiliated companies. All other marks are the property of their respective owners.
AT&T SDN Controller Framework
7
How does a Service Designer view the internals• Northbound “API Handler” (parses API calls)
• API Handler is auto-generated from NBI Yang using ODL “yangtools” with AT&T glue for RPCs
• Simple helper class to read md-sal, populate context, find DG and start execution.
• The “Service Logic Interface” • Java-based engine that interprets/processes the DGs
• The “Directed Graphs” • set of “nodes” that control the flow of data through SDN-C • Example: Service-configuration-operation (black) • Example: Service-configuration-notification (red) • Maps data from input (service model) to network model • Maps data from network model to adaptor (device model)
• A “Config Node” – action node in the DG • Java plug-in that generates the API calls to an adaptor
Service Orchestrator
Network Adaptor
SDNCAPI Handler
DG’s
Config Node
SLI
OpenDaylight at AT&T
© 2016 AT&T Intellectual Property. All rights reserved. AT&T, Globe logo, Mobilizing Your World and DIRECTV are registered trademarks and service marks of AT&T Intellectual Property and/or AT&T affiliated companies. All other marks are the property of their respective owners.8
Hooking the SLI into OpenDaylight
Two main mechanism for hooking the SLI into ODL • REST RPC
• Majority of the NBI interfaces use this mechanism since they are synchronous.
• Permits the Directed Graph to control the HTTP response
• OnDataChange/OnDataTreeChange Notification • Used for Neutron ML2 Agent processing and a few other services.
• Originally would have liked to use this for more but no On-Commit hook so we couldn’t control the HTTP response.
• Neutron and a few other NBI were asynchronous so we could use OnDataTreeChange
• Prefer this method since we use less “helper” code around the builder classes.
OpenDaylight at AT&T
© 2016 AT&T Intellectual Property. All rights reserved. AT&T, Globe logo, Mobilizing Your World and DIRECTV are registered trademarks and service marks of AT&T Intellectual Property and/or AT&T affiliated companies. All other marks are the property of their respective owners.9
What does a Directed Graph Look Like ?
OpenDaylight at AT&T
© 2016 AT&T Intellectual Property. All rights reserved. AT&T, Globe logo, Mobilizing Your World and DIRECTV are registered trademarks and service marks of AT&T Intellectual Property and/or AT&T affiliated companies. All other marks are the property of their respective owners.10
Directed Graphs (XML and Graphviz)
Yang model Module L3SDN-API { … rpc svc-configuration-operation { uses , container, list , leaf … }
…
OpenDaylight at AT&T
© 2016 AT&T Intellectual Property. All rights reserved. AT&T, Globe logo, Mobilizing Your World and DIRECTV are registered trademarks and service marks of AT&T Intellectual Property and/or AT&T affiliated companies. All other marks are the property of their respective owners.11
Example of Directed Graph Builder - [Demo of creating a Directed Graph and Important Nodes in Language]
OpenDaylight at AT&T
© 2016 AT&T Intellectual Property. All rights reserved. AT&T, Globe logo, Mobilizing Your World and DIRECTV are registered trademarks and service marks of AT&T Intellectual Property and/or AT&T affiliated companies. All other marks are the property of their respective owners.
▪Flow Control ➢ block ➢ call ➢ for ➢ return ➢ set ➢ switch
▪Device Management ➢ configure
▪Java Plugin Support ➢ execute
▪Recording ➢ record
12
Service Logic Interpreter basic nodes
▪Resource Management ➢ delete ➢ exists ➢ get-resource ➢ is-available ➢ notify ➢ release ➢ reserve ➢ save ➢ update
OpenDaylight at AT&T
© 2016 AT&T Intellectual Property. All rights reserved. AT&T, Globe logo, Mobilizing Your World and DIRECTV are registered trademarks and service marks of AT&T Intellectual Property and/or AT&T affiliated companies. All other marks are the property of their respective owners.13
Examples of User Defined Nodes
▪ Execute Nodes: ➢ IpAddressTools
➢ Generic RestApiCallNode
➢ IP Address Management Node
▪ Configure Nodes: ➢ BGP Adaptor
➢ PCEP Adaptor
➢ Legacy CLI Adaptor
➢ Smart CLI Adaptor
➢ Netconf Adaptor
public ConfigStatus configure(String key, Map<String, String> parameters, SvcLogicContext ctx) {
public void someFunction(Map<String, String> parameters, SvcLogicContext ctx) {
OpenDaylight at AT&T
© 2016 AT&T Intellectual Property. All rights reserved. AT&T, Globe logo, Mobilizing Your World and DIRECTV are registered trademarks and service marks of AT&T Intellectual Property and/or AT&T affiliated companies. All other marks are the property of their respective owners.14
Applications of the Programmable Platform
• SDN-G : Resource Assignment and Inventory Update & L3 VNF Configuration • APPC : L4-L7 VNF Configuration & VNF Management • SDN-FC : IP Flow Redirection
BGP ipv4 unicast, ipv4 flowspec, etc • SDN-MLC: MPLS Traffic Engineering and L0 Federated Controller Interface
BGP-LS, PCEP • SDN-W : NetBond • SDN-O : Operations
OpenDaylight at AT&T
© 2016 AT&T Intellectual Property. All rights reserved. AT&T, Globe logo, Mobilizing Your World and DIRECTV are registered trademarks and service marks of AT&T Intellectual Property and/or AT&T affiliated companies. All other marks are the property of their respective owners.15
Deployment Options
ODL
SDNC
SDN
-W
SDN
-O
ODL
SDNC
SDN
-Flow
SDN
-O
ODL
SDNC
SDN
-MLC
SDN
-FC
SDN
-O
ODL
SDNC
SDN
-F
Regional/Nodal
SDN
-O
ODL
SDNC
APP-C
SDN
-O
SDN
-F
SDN
-W
ODL
SDNC
SDN
-W
MoW RegionsCentral Central
Central Nodal
SDN
-G
OpenDaylight at AT&T
© 2016 AT&T Intellectual Property. All rights reserved. AT&T, Globe logo, Mobilizing Your World and DIRECTV are registered trademarks and service marks of AT&T Intellectual Property and/or AT&T affiliated companies. All other marks are the property of their respective owners.16
Enhancements to OpenDaylight
• Multi-threaded onDataTreeChange Notification For some application like BGP, a form of multi-threading would be a nice performance enhancement. Understand that it would not make sense in all environments. This could be tied to general adaptor elastic scaling
• MD-SAL Shard Management utilities When we store data in MD-SAL it would be useful to be able to do micro-sharding and split the processing across multiple nodes. General desire to have more control of where and how many nodes are running RPCs
• On-commit handler So we can call the SLI before committing data to the MD-SAL on a PUT/POST/DELETE via RESTCONF
• Better ENUM handling So we can convert Java ENUM back to original Yang value
• Better Disaster Recovery site synchronization options Today we do snapshot copies of MD-SAL to the DR site. We plan to use non-voting cluster member in DR site. Would like to consider eventually consistent replication or update the DR site with some low over head standard mechanism.
OpenDaylight at AT&T
© 2016 AT&T Intellectual Property. All rights reserved. AT&T, Globe logo, Mobilizing Your World and DIRECTV are registered trademarks and service marks of AT&T Intellectual Property and/or AT&T affiliated companies. All other marks are the property of their respective owners.17
Q&A
OpenDaylight at AT&T
© 2016 AT&T Intellectual Property. All rights reserved. AT&T, Globe logo, Mobilizing Your World and DIRECTV are registered trademarks and service marks of AT&T Intellectual Property and/or AT&T affiliated companies. All other marks are the property of their respective owners.
OpenDaylight at AT&T
© 2016 AT&T Intellectual Property. All rights reserved. AT&T, Globe logo, Mobilizing Your World and DIRECTV are registered trademarks and service marks of AT&T Intellectual Property and/or AT&T affiliated companies. All other marks are the property of their respective owners.19
Things that we use the most (today)
• Yangtools • MD-SAL • Clustering • BGP-LS • PCEP • BGP • Netconf • Northbound Services (MSO and other AT&T OSSs) • Custom Adaptors
• East/West Adaptors to AT&T OSS’s
• Southbound REST Adaptors
• Southbound CLI VNF Adaptors
SDK Platform
Over 30 AT&T Specific Karaf Feature Bundles