YANG Mount draft-clemm-netmod-mount IETF 98 Chicago, 30 March 2017

Slides:



Advertisements
Similar presentations
November 2013 Jan Medved, Reinaldo Penno
Advertisements

Naming Names in computer systems are used to share resources, to uniquely identify entities, to refer to locations and so on. An important issue with naming.
11 REVIEWING MICROSOFT ACTIVE DIRECTORY CONCEPTS Chapter 1.
1 Peer Mount Eric Voit Alex Clemm 13-Nov Four Drafts Requirements for Peer Mounting of YANG subtrees from Remote Datastores draft-voit-netmod-peer-mount-requirements-01.
ICS362 Distributed Systems Dr Ken Cosh Week 5. Review Communication – Fundamentals – Remote Procedure Calls (RPC) – Message Oriented Communication – Stream.
Hybrid Overlay Multicast Framework draft-irtf-sam-hybrid-overlay-framework-02.txt John Buford, Avaya Labs Research IETF 71.
© 2014 Cisco - Cisco INTERNAL only – All Rights Reserved1 Requirements for Subscription to YANG Datastores draft-ietf-i2rs-pub-sub-requirements-01 NECONF.
Dynamic Virtual Networks (DVNE) Margaret Wasserman & Paddy Nallur November 11, 2010 IETF Beijing, China.
YANG in a Nutshell The YANG Gang IETF 71. YANG has... A reasonable self-contained specification A focus on readers and reviewers Text-based , patch,
1 YANG PUB-SUB Proposed project to Beryllium release of ODL Aug 6 th 2015 Alexander Clemm Ambika Prasad Tripathy Einar Nilsen-Nygaard Eric Voit Suryamani.
YANG Data Model for Access Control List Configuration draft-huang-netmod-acl-02 Lisa Huang, Alexander Clemm,
Omniran IEEE 802 Scope of OmniRAN Date: Authors: NameAffiliationPhone Max RiegelNSN
Subscribing to datastore push updates draft-netmod-clemm-datastore-push-00.txt Alexander Clemm, Alberto Gonzalez Prieto, Eric Voit.
YANG Data Model for IPv4-in-IPv6 Softwire draft-sun-softwire-yang November 2014 Q. Sun, H. Wang, Y. Cui, I. Farrer (presenter), M. Boucadair.
Omniran IEEE 802 Scope of OmniRAN Date: Authors: NameAffiliationPhone Max RiegelNSN
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Network Device YANG Organizational Model draft-rtgyangdt-rtgwg-device-model-03 Authors: Acee Lindem, Christian Hopps, Dean Bogdanovic, Lou Berger (Ed.)
1 Peer Mount Eric Voit Alexander Clemm 5-Nov-2015.
1 Needing an extensible Mount syntax across Schema, Alias, & Peers IETF 95 Eric Voit, Alex Clemm April 4 th 2016.
SDN controllers App Network elements has two components: OpenFlow client, forwarding hardware with flow tables. The SDN controller must implement the network.
A use case for Schema Mount
A Yang Data Model for ACTN VN Operation draft-lee-teas-actn-vn-yang-01
YANG Data Model for RIP draft-liu-rtgwg-yang-rip-01
draft-ietf-teas-yang-te-topo-05
Connectionless OAM yang model
draft-ietf-l3sm-l3vpn-service-model IETF 94 - Yokohama
File Share Dependencies
draft-litkowski-isis-yang-isis-cfg IETF 90 - Toronto
draft-ietf-teas-yang-te-topo-06
Routing Area Yang Architecture Design Team Update
NOX: Towards an Operating System for Networks
draft-ietf-teas-yang-te-topo-01
OpState & Schema Mount Update NETMOD WG Chairs IETF 95 Buenos Aires
L2VPN/EVPN/L3VPN Yang IETF-96 Berlin.
Routing Area Yang Architecture Design Team Update
YANG Data Models for TE and RSVP draft-ietf-teas-yang-rsvp-06 draft-ietf-teas-yang-te-05 Tarek Saad and Rakesh Gandhi.
YANG Data Models for TE and RSVP draft-ietf-teas-yang-te-03 draft-ietf-teas-yang-rsvp-03 Tarek Saad (Presenter)
FRD Examples November 28, 2017 L. Ong.
Subscribing to YANG datastore push updates draft-netconf-yang-push-00 IETF #94 Yokohama A. Clemm A. Gonzalez Prieto
draft-ietf-teas-yang-te-04
Subscribing to YANG datastore push updates draft-ietf-netconf-yang-push-02 NETMOD WG IETF #95 Buenos Aires 4-April-2015 Alexander Clemm Alberto Gonzalez.
draft-ietf-teas-yang-te-topo-04
NETCONF Base Notifications for NMDA
YANG Data Models for TE and RSVP draft-ietf-teas-yang-rsvp-06 draft-ietf-teas-yang-te-05 Tarek Saad and Rakesh Gandhi.
Comparison of NMDA datastores draft-ietf-netmod-nmda-diff-00
UDP based Publication Channel for Streaming Telemetry
draft-ietf-rtgwg-ni-model-03 Impact on LxVPN device models
Interface extensions YANG & VLAN sub-interface YANG Status update
NMDA Q & A draft-dsdt-nmda-guidelines &
DetNet DetNet Flow Information Model draft-farkas-detnet-flow-information-model-02 Balázs Varga, János Farkas, Rodney Cummings, Jiang Yuanlong and.
RIFT YANG draft-zhang-rift-yang-00
Routing Area Yang Architecture Design Team Update
IGMP & MLD Snooping YANG Model
Post WG LC NMDA datastore architecture draft
draft-liu-netmod-yang-schedule-02
YANG Data Models for TE and RSVP draft-ietf-teas-yang-te-08 draft-ietf-teas-yang-rsvp-07 draft-ietf-teas-yang-rsvp-te-01
Yingzhen Qu YANG Data Model for OSPF Protocol draft-ietf-ospf-yang-08 draft-ietf-ospf-sr-yang-02 IETF99, Prague Derek Yeung
IEEE 802 Scope of OmniRAN Abstract
YANG Data Models for TE and RSVP draft-ietf-teas-yang-te-06 draft-ietf-teas-yang-rsvp-07 draft-ietf-teas-yang-rsvp-te-00 draft-ietf-mpls-base-yang-04 code.
Subscription to Multiple Stream Originators
YANG Data Model for FlexE Interface Management
YANG Data Models for TE and RSVP draft-ietf-teas-yang-te-19 draft-ietf-teas-yang-rsvp-10 draft-ietf-teas-yang-rsvp-te-05 draft-ietf-teas-yang-te-mpls-01.
János Farkas, Balázs Varga, Rodney Cummings, Jiang Yuanlong
RIFT YANG draft-zhang-rift-yang-01
TAPI and RFC8345 Network Topology Analysis
YANG Data Models for TE and RSVP draft-ietf-teas-yang-te-21 draft-ietf-teas-yang-rsvp-11 draft-ietf-teas-yang-rsvp-te-07 Tarek Saad, Juniper Networks Rakesh.
Interface extensions YANG & VLAN sub-interface YANG Status update
Schema version selection Reshad Rahman (presenting), Rob Wilton
YANG Data Models for TE and RSVP draft-ietf-teas-yang-te-21 draft-ietf-teas-yang-rsvp-11 draft-ietf-teas-yang-rsvp-te-07 Tarek Saad, Juniper Networks Rakesh.
Comparison of NMDA datastores draft-ietf-netmod-nmda-diff-02
Presentation transcript:

YANG Mount draft-clemm-netmod-mount IETF 98 Chicago, 30 March 2017 Alexander Clemm Eric Voit

Reminder - what is “YANG-Mount”? + current status “The other mount” (actually, the original mount): Mounting Instances, not Schemas Alias-Mount: Define an alternative path to instance information already elsewhere in the tree Peer-Mount: Allow to access instance information authoritatively owned by a different server Involves server infrastructure extension -06 posted, but draft has been kept virtually unchanged since -04 Kept “dormant” as interest focused on Schema-Mount However, use cases for YANG-Mount remain valid (and may get more pressing) Applications require visibility to data instantiated on other servers, or elsewhere on the same server Instead of redundant configuration of parameters that need to be consistent, maintain link to authoritative copy Provide context-awareness to state elsewhere in the network, e.g. to maintain network-wide service levels Consolidated real-time network state (compare ODL MD-SAL) Device to device, controller to device, device to controller, …

Comparison YANG-Mount – Schema Mount Provide visibility - create additional access path to instantiated data (local – alias and remote – peer) Reuse existing definitions (schemas) to create new models A server extension (also involves modeling construct) A modeling construct Analogy: soft link* (*with some caveats) Analogy: grouping/uses (or augments) Reference mount target has authoritative copy Mount Point has authoritative copy No validation of data at or by mountpoint; validation of data is responsibility of authoritative data owner Validation of data at mount point Mount point provides visibility to data already instantiated elsewhere (no redundant data) Mountpoint instantiates data The same target mounted in different mountpoints does not result in additional data instances Same target schema mounted in different mountpoints results in separate unrelated data instances Commonality between YANG-Mount and Schema-Mount: YANG mountpoint extension YANG extension introduced to define mountpoints Differences in terms of additional parameters (to identify target node and target system)

Refresher Super-impose new path structures on top of YANG data trees to access instantiated YANG data Commonality between YANG-Mount and Schema-Mount: YANG mountpoint extension YANG extension introduced to define mountpoints Differences in terms of additional parameters (to identify target node and target system) Allow YANG data nodes to link data in other (remote or local) subtree locations Insert (remote) subtrees under a mount point in a datastore Mount client: a YANG server that maintains the mounted “view” Mount server: the authoritative owner of the data For on-demand object access, mount server does not need to be aware of mount client Defines an alternative path to access data nodes Clients of the YANG server with mounted structure have visibility to it like “native” information Original draft emphasized remotability of data YANG Server allows its clients to access data that is conceptually federated across a network (Note: Peer-mount is also the basis for MD-SAL in Open Daylight, and is now proven/robust) However, mount points can also be defined for local data  Alias Mount

Mount Concept – Peer Mount Intent Interface tunnel source 4.0.1.1 tunnel destination 5.0.1.1 ipsec … Refer to data nodes / subtrees in remote datastores Remote data nodes visible as part of local data store Avoid need for data replication and orchestration Federated datastore - treat network as a system Interface tunnel 1 tunnel source 4.0.1.1 tunnel destination 5.0.1.1 tunnel protection

Usage example YANG module defines YANG mount extensions + data model for mountpoint management YANG extensions: Mountpoint: Defined under a containing data node (e.g. container, list) Target: References data node that identifies remote server [peer-mount only] Subtree: Defines root of remote subtree to be attached rw controller-network +-- rw network-elements +-- rw network-element [element-id] +-- rw element-id +-- rw element-address | +-- ... +-- M interfaces ... list network-element { key "element-id"; leaf element-id { type element-ID; } container element-address { mnt:mountpoint "interfaces" { mnt:target "./element-address"; mnt:subtree "/if:interfaces"; Module structure <network-element> <element-id>NE1</element-id> <element-address> .... </element-address> <interfaces> <if:interface> <if:name>fastethernet-1/0</if:name> <if:type>ethernetCsmacd</if:type> <if:location>1/0</if:location> ... </if:interface> Mountpoint declaration Instance information

Alias mount example Module structure Mount point is local rw my-container +-- rw sub-container +-- M interfaces ... container my-container { container subcontainer { mnt:mountpoint "interfaces" { mnt:subtree "/if:interfaces"; } Module structure Mount point is local Mountpoint declaration <my-container> <sub-container> <interfaces> <if:interface> <if:name>fastethernet-1/0</if:name> <if:type>ethernetCsmacd</if:type> <if:location>1/0</if:location> ... </if:interface> Instance information

Mountpoint management rw mount-server-mgmt +-- rw mountpoints | +-- rw mountpoint [mountpoint-id] | +-- rw mountpoint-id string | +-- rw mount-target | | +--: (IP) | | | +-- rw target-ip yang:ip-address | | +--: (URI) | | | +-- rw uri yang:uri | | +--: (host-name) | | | +-- rw hostname yang:host | | +-- (node-ID) | | | +-- rw node-info-ref mnt:subtree-ref | | +-- (other) | | +-- rw opaque-target-id string | +-- rw subtree-ref mnt:subtree-ref | +-- ro mountpoint-origin enumeration | +-- ro mount-status mnt:mount-status | +-- rw manual-mount? empty | +-- rw retry-timer? uint16 | +-- rw number-of-retries? uint8 +-- rw global-mount-policies +-- rw manual-mount? empty +-- rw retry-time? uint16 +-- rw number-of-retries? uint8 RPCs for manual mount, unmount Mountpoints can be system-administered Applications&users are not exposed to this System administration can add bindings Update on-demand, periodic, on-change Not shown: Mount bindings - data update subscriptions Model needs updating to distinguish alias and peer mount

Notes Caching optimizations are possible (leverage YANG-Push) Circular mounting prohibited Focus on data nodes (not notifications) Mounted data can be “read-only” Clients know the difference between data that is mounted vs data that is authoritatively owned This is about providing visibility, not about changing authority

Next steps Thank you! Editorial Working group Editorial cleanup, relationship with schema-mount Investigate support for notifications referring to objects under their aliased name Consider extensions to accommodate dynamic configuration of mountpoints Review mountpoint construct for alignment between YANG-Mount and Schema-Mount Working group Solicit feedback – is there interest to move forward with this? Would fit well as a “next step” once schema mount is done Thank you!