SlideShare a Scribd company logo
1 of 35
What’s the Intent
David Bainbridge
Ciena
www.opendaylight.org
The following is a mixture of opinion, rough group
consensus, and reality. I will try to differentiate
which is which, but no promises.
If in doubt, ask.
Disclaimer
2
www.opendaylight.org
An expression of a desired state that is to be
realized.
Intent
3
www.opendaylight.org
 Late 1990’s early 2000’s?
 Intent Based Configuration (EDCS-XXXXX)
 Smart Network Elements
 More Recent
 SDN Interface
 https://wiki.opendaylight.org/view/SDN_Interface
 Specifying desired network state at various levels of
precision
 Most Recent
 ODL Network Intent Composition Project
 Probably why you are here
My History with Intent
4
www.opendaylight.org
Intent Based Configuration
5
www.opendaylight.org
 Intent is provisioned
to the network and is
distributed
knowledge in the
NEs
Intent Based Configuration
6
www.opendaylight.org
 Intent is provisioned
to the network and is
distributed
knowledge in the
NEs
 Addition of NE
invokes negotiation
via protocols to
understand services
and self configures
 Routing protocol for
services
Intent Based Configuration
7
www.opendaylight.org
 Allows client to
specify desired
network state
 Client can specify
constraints that
restrict how desired
state is mapped to
network
 System can reason
over complete set of
desired states
Desired Network State
8
www.opendaylight.org
 Loose and Precise, it
is a sliding scale
 Controllers can
provide one or both
 Pure loose
adjacency roughly
defined as “intent” as
per ONF
 Pure precise
adjacency roughly
defined as device
mediation
Loose and Precise Adjacencies
9
www.opendaylight.org
 Ciena’s ODL Based Controller (MLWC)
 Service Manager – intent by any other name
 ONOS – Intent framework
 Similar to Ciena’s service manager in terms of “intent”
 Group Based Policy (GBP)
 Seemed like the obvious choice for next iteration of
Ciena’s service manager
 Network Intent Composition (NIC)
 Because a simple choice was too much to ask
ONOS, Group Based Policy and Intent
10
www.opendaylight.org
Intent Base
(Network View)
Intent Request
Intent Request
Intent Request
Mediation
Render Influencers
Render Influencers
Render Influencers
Start
Yes
No
More Precistion
Possible?Intent Base
(Network View)Existing Intents
Conflict Detection
Render
(to more precise)
Optimization
Intent Decomposition
11
www.opendaylight.org
T - 0 T - 1 T - 2 T - 3
applications
requests
network
model
physical/virtual
network
renders /
compilers
Intent as a Continuous Lifecycle
12
www.opendaylight.org
 An Intent is …
 Portable – an intent can be moved between
controller implementations and networks and still be
valid*
 Abstract – should not contain any network specific
details (such as specific network element IDs or port
numbers)
 What – specifies what the client wants not how it
should be delivered
 Not only Network Elements – can specify more than
network connectivity, i.e., could include the
deployment of network functions, business services,
or interactions with business systems
Network Intent Composition
13
www.opendaylight.org
 Varied Opinions
 Adjacency / Policy Based
 End point groups and actions
 And I am sure others
 Settled on a structure similar to English grammar
subject verb object predicate
 Not a perfect analogy, but workable
subject(s) action(s) condition(s) constraints(s)
Intent Model
14
www.opendaylight.org
Model (Simplified)
15
www.opendaylight.org
 Can have multiple, limited to 2 for Lithium
 Left fairly opaque for first release
 Meant to be things like …
 Labels to identify groups of end points
 Development
 Quarantined
 (opinion) Any query against the system that can be
resolved to one or more end point
 Similar to jquery selectors
Subjects
16
www.opendaylight.org
 Preliminary or core set derived by use cases
 https://wiki.opendaylight.org/view/Network_Intent_Co
mposition:Use_Cases
Actions
17
ALLOW BLOCK AUDIT
LOG INSPECT BANDWIDTH
REDIRECT INJECT LATENCY
LOSS PROTECT SECURE
QOS
 These all aren’t really actions, some are more
like constraints or a policy to be applied
www.opendaylight.org
 Used to constrain “how” the intent is
implemented
 Still should be specified in abstract terms not
deployment or network specifics
 Include-subject – insures that an intent
realization passes through a given subject
 Exclude-subject – insures that an intent
realization does not pass through a given
subject
Constraints
18
www.opendaylight.org
 Defines when an intent should be “active”
 For Lithium these are time based conditions, but
could be expanded to state based conditions
 Somewhat overlaps with the idea of end point
groups (i.e. if infected is an EPG then when an
EP is put in that group the intent applies)
 ¿ Should the controller manage the schedule or
should that be above the controller ?
Conditions
19
www.opendaylight.org
{
“id” : “57bbf1c8-2f66-4060-a4de-911672f9c6f7”,
“subjects” : [
{
“order” : 0,
“end-point-group” : {
“end-point-group” : “infected”
}
},
{
“order” : 1,
“end-point-group” : {
“end-point-group” : “quarantine”
}
}
],
“actions” : [
{
“order” : 0,
“allow” : {}
}
]
}
Example – Infected Hosts
20
Purpose of the intent to to only
allow traffic from the devices in
the end point group “infected”
to devices in the end point
group “quarantine”.
Would also require a block for
all other connectivity.
There are some “oddities” in the JSON
format that are the result of best
practices and how YANG maps to JSON,
particularly around choices and lists.
www.opendaylight.org
{
“id” : “57bbf1c8-2f66-4060-a4de-911672f9c6f7”,
“subjects” : [
{
“order” : 0,
“end-point-selector” : {
“end-point-selector” : “#OTNA/1ODU2Client”
}
},
{
“order” : 1,
“end-point-selector” : {
“end-point-selector” : “#OTNZ/1ODU2Client”
}
}
],
“actions” : [
{ “order” : 0,
“allow” : {}},
{ “order” : 1,
“protect” : {}}
]
}
Example – Optical Ports
21
Purpose of the intent to to only
allow traffic between the ports.
Assumes a path will be
computed between the ports.
Protect action implies that a
protection path will also be
provisioned.
There are some “oddities” in the JSON
format that are the result of best
practices and how YANG maps to JSON,
particularly around choices and lists.
www.opendaylight.org
 intent.yang
 intent-types.yang
 intent-subjects.yang
 intent-actions.yang
 intent-constraints.yang
 intent-conditions.yang
YANG File Structure
22
www.opendaylight.org
 Data based interactions
 Configuration tree is desired intents
 Operational tree is realized intents
 POST/PUT – Create intents
 PUT – Update intents
 DELETE – Remove intents
 GET – Fetch / list intents
 Karaf based console CLI
 Operational intent has a status value which can
be used to track processing of intent
 i.e. in process, provisioned
Working with Intents
23
www.opendaylight.org
 NIC project not meant to house all things intent
 Core NIC project is a model and some glue code
 Will likely be expanded to contain other common code
such as conflict resolution
 Modules can augment
 Subjects, actions, constraints, conditions
 Modules can implement
 Render intents to network model changes
Designed to be Augmented
24
www.opendaylight.org
grouping intent {
list subjects {
choice subject {
case end-point-selector {
container end-point-selector {
uses subjects:end-point-selector;
}}
case end-point-group-selector {
container end-point-group-selector {
uses subjects:end-point-group-selector;
}}
case end-point-group {
container end-point-group {
uses subjects:end-point-group;
}}
}
}
}
Common Pattern – Choices
25
*Simplifications made and details removed
www.opendaylight.org
grouping subject {
}
grouping end-point-selector {
uses subject;
leaf end-point-selector {
type string;
}
}
grouping end-point-group-selector {
uses subject;
leaf end-point-group-selector {
type string;
}
}
Common Pattern – Derivation
26
www.opendaylight.org
 Supports a single “renderer” feature installed at
a time
 Triggered by data change notifications
 Transforms intent into network changes
 VTN Renderer
 Uses VTN API to implement intent
 GBP Renderer
 Transforms intent into GBP, which in turn renders the
intent to the network
Lithium Implementation
27
www.opendaylight.org
 Contribution model
 Modules can augment intent model
 Subject resolution, action types, constraints, conditions
 Renderers can support rendering one or more
“action”
 Map to renderer based on intent characteristics
 Subject type(s)
 Action
 Conflict resolution
 Reason across all intents configured to
 Optimize network utilization / performance
 Prevent one intent from stomping on another
Post Lithium Implementation
28
www.opendaylight.org
 Deployment Specific Influence
 Either as part of the intent (optional argument)
 Deployment policy definitions (FAST = 10Gbps)
 Non-Exact Constraint Values
 I want FAST, but I will take MEDIUM
 I want 10GB bandwidth, but will take 5 to 8GB
Post Lithium Considerations
29
www.opendaylight.org
 Loose and precise intents
 Better understand how to inject policy sideways into
an intent rendering
 How is this this exposed via the model / API
 Recursive decomposition
 Renderer may be more of a compilation processes
with several iterations
 What is the “machine language” of an intent or is that
simply a delta to a network model
 ONF NB API WG
 How is this really going to fit together
 Ownership / control issues
What Keeps me Up at Night
30
www.opendaylight.org
 How do GBP and NIC work together?
 Are they after the same?
 Is this a what v. how discussion?
 Portability is a great idea, but until all controllers
speak the same API with the same results it is
just an idea
 ODL, ONOS, others?
 Commoditization of controllers
Pondering the Imponderables
31
www.opendaylight.org
 Duane Mentze
 Devon Dawson
 Shaun Wackerly
 Rex Pugh
 Uyen Chau
 Dave Lenrow
 Masashi Kudo
 Hideyuki Tai
 Shigeru Yasuda
 Cathy Zhang
 Louis Fourie
 Kanika Gupta
 Mallik Kore
 Mathieu Lemay
 Colin Dixon
 Helen Chen
 George Zhao
 Raphael Amorim
 Vinothkumar
 Alexis de Talhouët
 Gabriel Robitaille-Montpetit
 Benjamin Eze
 Himal Kumar
 Keith Burns
 Ed Warnicke
 Luis Gomez
Acknowledgments
32
www.opendaylight.org
 Project Page
https://wiki.opendaylight.org/view/Network_Intent_Composition:Main
 Mailing list
nic-dev@lists.opendaylight.org
 Trello Board
https://trello.com/b/L4GssBld/opendaylight-nic
More Information
33
Questions
Avèk Respè
Mèsi

More Related Content

What's hot

Introduction to Opendaylight
Introduction to OpendaylightIntroduction to Opendaylight
Introduction to OpendaylightBeny Raja
 
Opentracing jaeger
Opentracing jaegerOpentracing jaeger
Opentracing jaegerOracle Korea
 
OpenStack and OpenDaylight, The Evolving Relationship in Cloud Networking: a ...
OpenStack and OpenDaylight, The Evolving Relationship in Cloud Networking: a ...OpenStack and OpenDaylight, The Evolving Relationship in Cloud Networking: a ...
OpenStack and OpenDaylight, The Evolving Relationship in Cloud Networking: a ...Cisco DevNet
 
OpenDaylight app development tutorial
OpenDaylight app development tutorialOpenDaylight app development tutorial
OpenDaylight app development tutorialSDN Hub
 
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFVOpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFVCloud Native Day Tel Aviv
 
OpenDayLight (ODL) Project
OpenDayLight (ODL) ProjectOpenDayLight (ODL) Project
OpenDayLight (ODL) ProjectVahid Sadri
 
OpenStack Neutron: What's New In Kilo and a Look Toward Liberty
OpenStack Neutron: What's New In Kilo and a Look Toward LibertyOpenStack Neutron: What's New In Kilo and a Look Toward Liberty
OpenStack Neutron: What's New In Kilo and a Look Toward Libertymestery
 
End-to-End Reactive Data Access Using R2DBC with RSocket and Proteus
End-to-End Reactive Data Access Using R2DBC with RSocket and ProteusEnd-to-End Reactive Data Access Using R2DBC with RSocket and Proteus
End-to-End Reactive Data Access Using R2DBC with RSocket and ProteusVMware Tanzu
 
OpenStack Integration with OpenContrail and OpenDaylight
OpenStack Integration with OpenContrail and OpenDaylightOpenStack Integration with OpenContrail and OpenDaylight
OpenStack Integration with OpenContrail and OpenDaylightSyed Moneeb
 
OpenTelemetry For Operators
OpenTelemetry For OperatorsOpenTelemetry For Operators
OpenTelemetry For OperatorsKevin Brockhoff
 
Confluent Platform Security Components
Confluent Platform Security ComponentsConfluent Platform Security Components
Confluent Platform Security Componentsconfluent
 
OpenDaylight and YANG
OpenDaylight and YANGOpenDaylight and YANG
OpenDaylight and YANGCoreStack
 
Openstack workshop @ Kalasalingam
Openstack workshop @ KalasalingamOpenstack workshop @ Kalasalingam
Openstack workshop @ KalasalingamBeny Raja
 
OpenStack Discovery and Networking Assurance - Koren Lev - Meetup
OpenStack Discovery and Networking Assurance - Koren Lev - MeetupOpenStack Discovery and Networking Assurance - Koren Lev - Meetup
OpenStack Discovery and Networking Assurance - Koren Lev - MeetupCloud Native Day Tel Aviv
 
OpenStack Meetup - SDN
OpenStack Meetup - SDNOpenStack Meetup - SDN
OpenStack Meetup - SDNSzilvia Racz
 

What's hot (20)

Introduction to Opendaylight
Introduction to OpendaylightIntroduction to Opendaylight
Introduction to Opendaylight
 
OpenDaylight nluug_november
OpenDaylight nluug_novemberOpenDaylight nluug_november
OpenDaylight nluug_november
 
Opentracing jaeger
Opentracing jaegerOpentracing jaeger
Opentracing jaeger
 
OpenStack and OpenDaylight, The Evolving Relationship in Cloud Networking: a ...
OpenStack and OpenDaylight, The Evolving Relationship in Cloud Networking: a ...OpenStack and OpenDaylight, The Evolving Relationship in Cloud Networking: a ...
OpenStack and OpenDaylight, The Evolving Relationship in Cloud Networking: a ...
 
OpenDaylight app development tutorial
OpenDaylight app development tutorialOpenDaylight app development tutorial
OpenDaylight app development tutorial
 
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFVOpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
 
Java one2013
Java one2013Java one2013
Java one2013
 
OpenDayLight (ODL) Project
OpenDayLight (ODL) ProjectOpenDayLight (ODL) Project
OpenDayLight (ODL) Project
 
OpenStack Neutron: What's New In Kilo and a Look Toward Liberty
OpenStack Neutron: What's New In Kilo and a Look Toward LibertyOpenStack Neutron: What's New In Kilo and a Look Toward Liberty
OpenStack Neutron: What's New In Kilo and a Look Toward Liberty
 
End-to-End Reactive Data Access Using R2DBC with RSocket and Proteus
End-to-End Reactive Data Access Using R2DBC with RSocket and ProteusEnd-to-End Reactive Data Access Using R2DBC with RSocket and Proteus
End-to-End Reactive Data Access Using R2DBC with RSocket and Proteus
 
OpenStack Integration with OpenContrail and OpenDaylight
OpenStack Integration with OpenContrail and OpenDaylightOpenStack Integration with OpenContrail and OpenDaylight
OpenStack Integration with OpenContrail and OpenDaylight
 
OpenTelemetry For Operators
OpenTelemetry For OperatorsOpenTelemetry For Operators
OpenTelemetry For Operators
 
Opentracing 101
Opentracing 101Opentracing 101
Opentracing 101
 
Confluent Platform Security Components
Confluent Platform Security ComponentsConfluent Platform Security Components
Confluent Platform Security Components
 
OpenDaylight and YANG
OpenDaylight and YANGOpenDaylight and YANG
OpenDaylight and YANG
 
ETC Summit 18
ETC Summit 18ETC Summit 18
ETC Summit 18
 
Openstack workshop @ Kalasalingam
Openstack workshop @ KalasalingamOpenstack workshop @ Kalasalingam
Openstack workshop @ Kalasalingam
 
OpenStack Discovery and Networking Assurance - Koren Lev - Meetup
OpenStack Discovery and Networking Assurance - Koren Lev - MeetupOpenStack Discovery and Networking Assurance - Koren Lev - Meetup
OpenStack Discovery and Networking Assurance - Koren Lev - Meetup
 
Cinder Updates - Liberty Edition
Cinder Updates - Liberty Edition Cinder Updates - Liberty Edition
Cinder Updates - Liberty Edition
 
OpenStack Meetup - SDN
OpenStack Meetup - SDNOpenStack Meetup - SDN
OpenStack Meetup - SDN
 

Similar to Network Intent Composition in OpenDaylight

Troubleshooting for Intent-based Networking
Troubleshooting for Intent-based NetworkingTroubleshooting for Intent-based Networking
Troubleshooting for Intent-based NetworkingOpen Networking Summit
 
IEEE HPSR 2017 Keynote: Softwarized Dataplanes and the P^3 trade-offs: Progra...
IEEE HPSR 2017 Keynote: Softwarized Dataplanes and the P^3 trade-offs: Progra...IEEE HPSR 2017 Keynote: Softwarized Dataplanes and the P^3 trade-offs: Progra...
IEEE HPSR 2017 Keynote: Softwarized Dataplanes and the P^3 trade-offs: Progra...Christian Esteve Rothenberg
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networkingOpenSourceIndia
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networkingsuniltomar04
 
Akka.Net and .Net Core - The Developer Conference 2018 Florianopolis
Akka.Net and .Net Core - The Developer Conference 2018 FlorianopolisAkka.Net and .Net Core - The Developer Conference 2018 Florianopolis
Akka.Net and .Net Core - The Developer Conference 2018 FlorianopolisAlexandre Brandão Lustosa
 
IPv4 to IPv6 network transformation
IPv4 to IPv6 network transformationIPv4 to IPv6 network transformation
IPv4 to IPv6 network transformationNikolay Milovanov
 
Exploiting the Data / Code Duality with Dali
Exploiting the Data / Code Duality with DaliExploiting the Data / Code Duality with Dali
Exploiting the Data / Code Duality with DaliCarl Steinbach
 
Software Defined Networks
Software Defined NetworksSoftware Defined Networks
Software Defined NetworksShreeya Shah
 
Cloud Camp Milan 2K9 Telecom Italia: Where P2P?
Cloud Camp Milan 2K9 Telecom Italia: Where P2P?Cloud Camp Milan 2K9 Telecom Italia: Where P2P?
Cloud Camp Milan 2K9 Telecom Italia: Where P2P?Gabriele Bozzi
 
CloudCamp Milan 2009: Telecom Italia
CloudCamp Milan 2009: Telecom ItaliaCloudCamp Milan 2009: Telecom Italia
CloudCamp Milan 2009: Telecom ItaliaGabriele Bozzi
 
Using Kubernetes to make cellular data plans cheaper for 50M users
Using Kubernetes to make cellular data plans cheaper for 50M usersUsing Kubernetes to make cellular data plans cheaper for 50M users
Using Kubernetes to make cellular data plans cheaper for 50M usersMirantis
 
OCC Overview OMG Clouds Meeting 07-13-09 v3
OCC Overview OMG Clouds Meeting 07-13-09 v3OCC Overview OMG Clouds Meeting 07-13-09 v3
OCC Overview OMG Clouds Meeting 07-13-09 v3Robert Grossman
 
Zou Layered VO PDCAT2008 V0.5 Concise
Zou Layered VO PDCAT2008 V0.5 ConciseZou Layered VO PDCAT2008 V0.5 Concise
Zou Layered VO PDCAT2008 V0.5 Conciseyongqiangzou
 
Monitoring federation open stack infrastructure
Monitoring federation open stack infrastructureMonitoring federation open stack infrastructure
Monitoring federation open stack infrastructureFernando Lopez Aguilar
 
SDN Multi-Controller Domain.pptx
SDN Multi-Controller Domain.pptxSDN Multi-Controller Domain.pptx
SDN Multi-Controller Domain.pptxSandeep Maurya
 
Addressing Network Operator Challenges in YANG push Data Mesh Integration
Addressing Network Operator Challenges in YANG push Data Mesh IntegrationAddressing Network Operator Challenges in YANG push Data Mesh Integration
Addressing Network Operator Challenges in YANG push Data Mesh IntegrationThomasGraf42
 
SDN: an introduction
SDN: an introductionSDN: an introduction
SDN: an introductionLuca Profico
 
Distributed Clouds and Software Defined Networking
Distributed Clouds and Software Defined NetworkingDistributed Clouds and Software Defined Networking
Distributed Clouds and Software Defined NetworkingUS-Ignite
 

Similar to Network Intent Composition in OpenDaylight (20)

Troubleshooting for Intent-based Networking
Troubleshooting for Intent-based NetworkingTroubleshooting for Intent-based Networking
Troubleshooting for Intent-based Networking
 
IEEE HPSR 2017 Keynote: Softwarized Dataplanes and the P^3 trade-offs: Progra...
IEEE HPSR 2017 Keynote: Softwarized Dataplanes and the P^3 trade-offs: Progra...IEEE HPSR 2017 Keynote: Softwarized Dataplanes and the P^3 trade-offs: Progra...
IEEE HPSR 2017 Keynote: Softwarized Dataplanes and the P^3 trade-offs: Progra...
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networking
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networking
 
Akka.Net and .Net Core - The Developer Conference 2018 Florianopolis
Akka.Net and .Net Core - The Developer Conference 2018 FlorianopolisAkka.Net and .Net Core - The Developer Conference 2018 Florianopolis
Akka.Net and .Net Core - The Developer Conference 2018 Florianopolis
 
IPv4 to IPv6 network transformation
IPv4 to IPv6 network transformationIPv4 to IPv6 network transformation
IPv4 to IPv6 network transformation
 
SDN approach.pptx
SDN approach.pptxSDN approach.pptx
SDN approach.pptx
 
Exploiting the Data / Code Duality with Dali
Exploiting the Data / Code Duality with DaliExploiting the Data / Code Duality with Dali
Exploiting the Data / Code Duality with Dali
 
Software Defined Networks
Software Defined NetworksSoftware Defined Networks
Software Defined Networks
 
Cloud Camp Milan 2K9 Telecom Italia: Where P2P?
Cloud Camp Milan 2K9 Telecom Italia: Where P2P?Cloud Camp Milan 2K9 Telecom Italia: Where P2P?
Cloud Camp Milan 2K9 Telecom Italia: Where P2P?
 
CloudCamp Milan 2009: Telecom Italia
CloudCamp Milan 2009: Telecom ItaliaCloudCamp Milan 2009: Telecom Italia
CloudCamp Milan 2009: Telecom Italia
 
Using Kubernetes to make cellular data plans cheaper for 50M users
Using Kubernetes to make cellular data plans cheaper for 50M usersUsing Kubernetes to make cellular data plans cheaper for 50M users
Using Kubernetes to make cellular data plans cheaper for 50M users
 
OCC Overview OMG Clouds Meeting 07-13-09 v3
OCC Overview OMG Clouds Meeting 07-13-09 v3OCC Overview OMG Clouds Meeting 07-13-09 v3
OCC Overview OMG Clouds Meeting 07-13-09 v3
 
Zou Layered VO PDCAT2008 V0.5 Concise
Zou Layered VO PDCAT2008 V0.5 ConciseZou Layered VO PDCAT2008 V0.5 Concise
Zou Layered VO PDCAT2008 V0.5 Concise
 
Monitoring federation open stack infrastructure
Monitoring federation open stack infrastructureMonitoring federation open stack infrastructure
Monitoring federation open stack infrastructure
 
SDN Multi-Controller Domain.pptx
SDN Multi-Controller Domain.pptxSDN Multi-Controller Domain.pptx
SDN Multi-Controller Domain.pptx
 
Addressing Network Operator Challenges in YANG push Data Mesh Integration
Addressing Network Operator Challenges in YANG push Data Mesh IntegrationAddressing Network Operator Challenges in YANG push Data Mesh Integration
Addressing Network Operator Challenges in YANG push Data Mesh Integration
 
SDN: an introduction
SDN: an introductionSDN: an introduction
SDN: an introduction
 
Sbrc 2014 Painel SDN
Sbrc 2014 Painel SDNSbrc 2014 Painel SDN
Sbrc 2014 Painel SDN
 
Distributed Clouds and Software Defined Networking
Distributed Clouds and Software Defined NetworkingDistributed Clouds and Software Defined Networking
Distributed Clouds and Software Defined Networking
 

Recently uploaded

call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 

Recently uploaded (20)

call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 

Network Intent Composition in OpenDaylight

  • 1. What’s the Intent David Bainbridge Ciena
  • 2. www.opendaylight.org The following is a mixture of opinion, rough group consensus, and reality. I will try to differentiate which is which, but no promises. If in doubt, ask. Disclaimer 2
  • 3. www.opendaylight.org An expression of a desired state that is to be realized. Intent 3
  • 4. www.opendaylight.org  Late 1990’s early 2000’s?  Intent Based Configuration (EDCS-XXXXX)  Smart Network Elements  More Recent  SDN Interface  https://wiki.opendaylight.org/view/SDN_Interface  Specifying desired network state at various levels of precision  Most Recent  ODL Network Intent Composition Project  Probably why you are here My History with Intent 4
  • 6. www.opendaylight.org  Intent is provisioned to the network and is distributed knowledge in the NEs Intent Based Configuration 6
  • 7. www.opendaylight.org  Intent is provisioned to the network and is distributed knowledge in the NEs  Addition of NE invokes negotiation via protocols to understand services and self configures  Routing protocol for services Intent Based Configuration 7
  • 8. www.opendaylight.org  Allows client to specify desired network state  Client can specify constraints that restrict how desired state is mapped to network  System can reason over complete set of desired states Desired Network State 8
  • 9. www.opendaylight.org  Loose and Precise, it is a sliding scale  Controllers can provide one or both  Pure loose adjacency roughly defined as “intent” as per ONF  Pure precise adjacency roughly defined as device mediation Loose and Precise Adjacencies 9
  • 10. www.opendaylight.org  Ciena’s ODL Based Controller (MLWC)  Service Manager – intent by any other name  ONOS – Intent framework  Similar to Ciena’s service manager in terms of “intent”  Group Based Policy (GBP)  Seemed like the obvious choice for next iteration of Ciena’s service manager  Network Intent Composition (NIC)  Because a simple choice was too much to ask ONOS, Group Based Policy and Intent 10
  • 11. www.opendaylight.org Intent Base (Network View) Intent Request Intent Request Intent Request Mediation Render Influencers Render Influencers Render Influencers Start Yes No More Precistion Possible?Intent Base (Network View)Existing Intents Conflict Detection Render (to more precise) Optimization Intent Decomposition 11
  • 12. www.opendaylight.org T - 0 T - 1 T - 2 T - 3 applications requests network model physical/virtual network renders / compilers Intent as a Continuous Lifecycle 12
  • 13. www.opendaylight.org  An Intent is …  Portable – an intent can be moved between controller implementations and networks and still be valid*  Abstract – should not contain any network specific details (such as specific network element IDs or port numbers)  What – specifies what the client wants not how it should be delivered  Not only Network Elements – can specify more than network connectivity, i.e., could include the deployment of network functions, business services, or interactions with business systems Network Intent Composition 13
  • 14. www.opendaylight.org  Varied Opinions  Adjacency / Policy Based  End point groups and actions  And I am sure others  Settled on a structure similar to English grammar subject verb object predicate  Not a perfect analogy, but workable subject(s) action(s) condition(s) constraints(s) Intent Model 14
  • 16. www.opendaylight.org  Can have multiple, limited to 2 for Lithium  Left fairly opaque for first release  Meant to be things like …  Labels to identify groups of end points  Development  Quarantined  (opinion) Any query against the system that can be resolved to one or more end point  Similar to jquery selectors Subjects 16
  • 17. www.opendaylight.org  Preliminary or core set derived by use cases  https://wiki.opendaylight.org/view/Network_Intent_Co mposition:Use_Cases Actions 17 ALLOW BLOCK AUDIT LOG INSPECT BANDWIDTH REDIRECT INJECT LATENCY LOSS PROTECT SECURE QOS  These all aren’t really actions, some are more like constraints or a policy to be applied
  • 18. www.opendaylight.org  Used to constrain “how” the intent is implemented  Still should be specified in abstract terms not deployment or network specifics  Include-subject – insures that an intent realization passes through a given subject  Exclude-subject – insures that an intent realization does not pass through a given subject Constraints 18
  • 19. www.opendaylight.org  Defines when an intent should be “active”  For Lithium these are time based conditions, but could be expanded to state based conditions  Somewhat overlaps with the idea of end point groups (i.e. if infected is an EPG then when an EP is put in that group the intent applies)  ¿ Should the controller manage the schedule or should that be above the controller ? Conditions 19
  • 20. www.opendaylight.org { “id” : “57bbf1c8-2f66-4060-a4de-911672f9c6f7”, “subjects” : [ { “order” : 0, “end-point-group” : { “end-point-group” : “infected” } }, { “order” : 1, “end-point-group” : { “end-point-group” : “quarantine” } } ], “actions” : [ { “order” : 0, “allow” : {} } ] } Example – Infected Hosts 20 Purpose of the intent to to only allow traffic from the devices in the end point group “infected” to devices in the end point group “quarantine”. Would also require a block for all other connectivity. There are some “oddities” in the JSON format that are the result of best practices and how YANG maps to JSON, particularly around choices and lists.
  • 21. www.opendaylight.org { “id” : “57bbf1c8-2f66-4060-a4de-911672f9c6f7”, “subjects” : [ { “order” : 0, “end-point-selector” : { “end-point-selector” : “#OTNA/1ODU2Client” } }, { “order” : 1, “end-point-selector” : { “end-point-selector” : “#OTNZ/1ODU2Client” } } ], “actions” : [ { “order” : 0, “allow” : {}}, { “order” : 1, “protect” : {}} ] } Example – Optical Ports 21 Purpose of the intent to to only allow traffic between the ports. Assumes a path will be computed between the ports. Protect action implies that a protection path will also be provisioned. There are some “oddities” in the JSON format that are the result of best practices and how YANG maps to JSON, particularly around choices and lists.
  • 22. www.opendaylight.org  intent.yang  intent-types.yang  intent-subjects.yang  intent-actions.yang  intent-constraints.yang  intent-conditions.yang YANG File Structure 22
  • 23. www.opendaylight.org  Data based interactions  Configuration tree is desired intents  Operational tree is realized intents  POST/PUT – Create intents  PUT – Update intents  DELETE – Remove intents  GET – Fetch / list intents  Karaf based console CLI  Operational intent has a status value which can be used to track processing of intent  i.e. in process, provisioned Working with Intents 23
  • 24. www.opendaylight.org  NIC project not meant to house all things intent  Core NIC project is a model and some glue code  Will likely be expanded to contain other common code such as conflict resolution  Modules can augment  Subjects, actions, constraints, conditions  Modules can implement  Render intents to network model changes Designed to be Augmented 24
  • 25. www.opendaylight.org grouping intent { list subjects { choice subject { case end-point-selector { container end-point-selector { uses subjects:end-point-selector; }} case end-point-group-selector { container end-point-group-selector { uses subjects:end-point-group-selector; }} case end-point-group { container end-point-group { uses subjects:end-point-group; }} } } } Common Pattern – Choices 25 *Simplifications made and details removed
  • 26. www.opendaylight.org grouping subject { } grouping end-point-selector { uses subject; leaf end-point-selector { type string; } } grouping end-point-group-selector { uses subject; leaf end-point-group-selector { type string; } } Common Pattern – Derivation 26
  • 27. www.opendaylight.org  Supports a single “renderer” feature installed at a time  Triggered by data change notifications  Transforms intent into network changes  VTN Renderer  Uses VTN API to implement intent  GBP Renderer  Transforms intent into GBP, which in turn renders the intent to the network Lithium Implementation 27
  • 28. www.opendaylight.org  Contribution model  Modules can augment intent model  Subject resolution, action types, constraints, conditions  Renderers can support rendering one or more “action”  Map to renderer based on intent characteristics  Subject type(s)  Action  Conflict resolution  Reason across all intents configured to  Optimize network utilization / performance  Prevent one intent from stomping on another Post Lithium Implementation 28
  • 29. www.opendaylight.org  Deployment Specific Influence  Either as part of the intent (optional argument)  Deployment policy definitions (FAST = 10Gbps)  Non-Exact Constraint Values  I want FAST, but I will take MEDIUM  I want 10GB bandwidth, but will take 5 to 8GB Post Lithium Considerations 29
  • 30. www.opendaylight.org  Loose and precise intents  Better understand how to inject policy sideways into an intent rendering  How is this this exposed via the model / API  Recursive decomposition  Renderer may be more of a compilation processes with several iterations  What is the “machine language” of an intent or is that simply a delta to a network model  ONF NB API WG  How is this really going to fit together  Ownership / control issues What Keeps me Up at Night 30
  • 31. www.opendaylight.org  How do GBP and NIC work together?  Are they after the same?  Is this a what v. how discussion?  Portability is a great idea, but until all controllers speak the same API with the same results it is just an idea  ODL, ONOS, others?  Commoditization of controllers Pondering the Imponderables 31
  • 32. www.opendaylight.org  Duane Mentze  Devon Dawson  Shaun Wackerly  Rex Pugh  Uyen Chau  Dave Lenrow  Masashi Kudo  Hideyuki Tai  Shigeru Yasuda  Cathy Zhang  Louis Fourie  Kanika Gupta  Mallik Kore  Mathieu Lemay  Colin Dixon  Helen Chen  George Zhao  Raphael Amorim  Vinothkumar  Alexis de Talhouët  Gabriel Robitaille-Montpetit  Benjamin Eze  Himal Kumar  Keith Burns  Ed Warnicke  Luis Gomez Acknowledgments 32
  • 33. www.opendaylight.org  Project Page https://wiki.opendaylight.org/view/Network_Intent_Composition:Main  Mailing list nic-dev@lists.opendaylight.org  Trello Board https://trello.com/b/L4GssBld/opendaylight-nic More Information 33