Evolution of the Subscription & Event Notification Drafts IETF #97 Seoul 17-Nov-2016 NETCONF Charter Item 6: “Enhance RFC 5277 with the ability to delete.

Slides:



Advertisements
Similar presentations
XML Configuration Access Protocol (XCAP) Jonathan Rosenberg dynamicsoft.
Advertisements

NETCONF Server and RESTCONF Server Configuration Models draft-ietf-netconf-server-model-06 NETCONF WG IETF #92 Dallas, TX, USA.
PPSP Tracker Protocol draft-gu-ppsp-tracker-protocol PPSP WG IETF 82 Taipei Rui Cruz (presenter) Mário Nunes, Yingjie Gu, Jinwei Xia, David Bryan, João.
Netconf Monitoring IETF 70 Mark Scott Sharon Chisholm Hector Trevino
Abierman-nanog-30may03 1 XML Router Configs BOF Operator Involvement Andy Bierman
(Business) Process Centric Exchanges
© 2014 Cisco - Cisco INTERNAL only – All Rights Reserved1 Requirements for Subscription to YANG Datastores draft-ietf-i2rs-pub-sub-requirements-01 NECONF.
NETCONF WG IETF 92 - Dallas TUESDAY, March 24, CDT Mehmet Ersue Mahesh Jethanandani 3/24/ IETF #92- NETCONF WG session.
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.
Protocol for I2RS I2RS WG IETF #89 London, UK Dean Bogdanovic v0.1.
IETF 69 SIPPING WG Meeting Mohammad Vakil Microsoft An Extension to Session Initiation Protocol (SIP) Events for Pausing and Resuming.
Abierman-netconf-mar07 1 NETCONF WG 68 th IETF Prague, CZ March 19, 2007.
Abierman-netconf-mar04 1 NETCONF WG 59th IETF Seoul, Korea March 3, 2003 March 4, 2003.
Subscribing to datastore push updates draft-netmod-clemm-datastore-push-00.txt Alexander Clemm, Alberto Gonzalez Prieto, Eric Voit.
SIP Events: Changes and Open Issues IETF 50 / SIP Working Group Adam Roach
Netconf Event Notifications IETF 66 Sharon Chisholm Hector Trevino
Netconf Schema Query Mark Scott IETF 70 Vancouver December 2007
Notification + Yang-push Kickoff 26 - April
Notification + Yang-push Meeting #2 3 - May
I2rs Requirements for NETCONF IETF 93. Requirement Documents
Netmod Netconf Data Modeling Sharon Chisholm Nortel
Netconf Notifications Sharon Chisholm Hector Trevino IETF 67 November 2006.
SIP wg Items Jonathan Rosenberg dynamicsoft Caller Preferences: Changes Discussion of Redirects –Previous draft only proxy –Nothing different for redirect.
Subscriptions for Event Notification + Yang-push IETF NETCONF WG Contributors Call 26 - May
Subscribing to Events and YANG datastores IETF #96 Berlin 21-July-2016 Balazs Lengyel Alberto Gonzalez Prieto Hector Trevino Ambika Prasad Tripathy Eric.
YANG Hackathon Achievements
NETCONF WG IETF 93 - Prague, Czech Republic THURSDAY, July 23, 2015
draft-ietf-behave-nat-behavior-discovery-01
Routing Area Yang Architecture Design Team Update
draft-ietf-simple-message-session-09
IETF 95 NETMOD Working Group Buenos Aires April 4, 2016
Bing Liu (Ed.) , Guangying Zheng Nov 2014
LIME Base YANG Model Work Update draft-tissa-lime-yang-oam-model draft-wang-lime-yang-pm Deepak Kumar Qin WU IETF93 Prage,Czech.
Routing Area Yang Architecture Design Team Update
Subscribing to YANG datastore push updates draft-netconf-yang-push-00 IETF #94 Yokohama A. Clemm A. Gonzalez Prieto
NETCONF Configuration I/F Advertisement by WSDL and XSD
NETCONF Discussion Draft-ietf-i2rs-ephemeral-state-14.txt
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.
Evolution of the Subscription & Event Notification Drafts IETF #98 Chicago Eric Voit 28-Mar-2017 DRAFT Authors on at least 1 drafts Andy Bierman Alexander.
NETCONF Base Notifications for NMDA
IETF 101 NETMOD Working Group
Subscriptions for Event Notification + Yang-push
Yang-Push On-change Notification Capability
Balazs Lengyel, Ericsson
Comparison of NMDA datastores draft-ietf-netmod-nmda-diff-00
Joe Clarke (presenting)
IETF #101 - NETCONF WG session
UDP based Publication Channel for Streaming Telemetry
Factory default Setting draft-wu-netmod-factory-default-01
Binary encoding draft-MAHESH-NETCONF-binary-encoding
Stream Issues Alex, Ambika, Eric, Tim
YANG-Push and related drafts 1
NETMOD IETF 103 Bangkok Nov , 2018
IETF 98 NETMOD Working Group
With Thanks to... Authors on at least 1 WG draft Andy Bierman
NMDA Q & A draft-dsdt-nmda-guidelines &
Post WG LC NMDA datastore architecture draft
Distributed Data Collection
Evolution of the Subscription & Event Notification Drafts IETF #98 Chicago Eric Voit 28-Mar-2017 DRAFT Authors on at least 1 drafts Andy Bierman Alexander.
RFC 5539 Update Status draft-badra-netconf-rfc5539bis-00
NETMOD Agenda and WG Status
YANG Instance Data for Documenting Server Capabilities
IETF #103 - NETCONF WG session
Smart filters for Push Updates – Problem Statement draft-clemm-netconf-push-smart-filters-ps-00 Alexander Clemm, Eric Voit, Xufeng Liu, Igor Bryskin,
Handling YANG Revisions – Discussion Kickoff
Subscription to Multiple Stream Originators
Joe Clarke (presenting)
Device Management Profile and Requirements
An HTTPS-based Transport for Subscribed Notifications
Comparison of NMDA datastores draft-ietf-netmod-nmda-diff-02
Presentation transcript:

Evolution of the Subscription & Event Notification Drafts IETF #97 Seoul 17-Nov-2016 NETCONF Charter Item 6: “Enhance RFC 5277 with the ability to delete subscriptions without closing the client session, to modify existing subscriptions, and to have multiple subscriptions on a established client session. These changes should not affect older clients that do not support these particular subscription requirements. The RPCs and the data models in RFC 5277 should be converted to YANG Authors on at least 1 drafts Andy Bierman Sharon Chisholm Alexander Clemm Balazs Lengyel Einar Nilsen-Nygaard Alberto Gonzalez Prieto Hector Trevino Ambika Prasad Tripathy Eric Voit + Contributors Yan Gang Peipei Guo Susan Hares Tim Jenkins Michael Scharf Kent Watsen Guangying Zheng (Walker) Dezign Team TM

Event & YANG Subscriptions Context Subscribing to updates YANG Datastores NETCONF Notifications/Events Statically configured or dynamically signaled Streaming of updates Customizable to recipient On-change, Periodic, Event Publisher Subscription interface Streaming mechanism Datastore Events Vendor Model Any Model 2

Event & YANG Subscriptions 4 Drafts Subscription Mechanism: Subscribing to YANG datastore push updates draft-ietf-netconf-yang-push-04 Subscribing to Event Notifications draft-ietf-netconf-rfc5277bis-01 Choice of Transports: NETCONF Support for Event Notifications draft-ietf-netconf-netconf-event-notifications-01 RESTCONF & HTTP Transport for Event Notifications draft-ietf-netconf-restconf-notif-01 Github repository https://github.com/netconf-wg Minutes, Meeting Recordings, Terminology, Issues 3

4 Drafts in Layered Framework Application Subscriber Receiver Publisher Subscription Mgmt Update Packaging and Flow Control Transport Session TLS SSH HTTP2 HTTP1.1 gRPC Restconf Netconf Encoding Thrift CBOR GPB JSON XML Dynamic Configured YANG Subscription Mtc YANG Admission Control OAM Negotiation Event Notification Generation Filtering Access Control On-Change Periodic Stream Discovery Event Generation NETCONF Stream custom Running Config Startup Config Candidate Config Intended Config Control Plane Applied Operational State 4

Updates since IETF #96 yang push -04 revision Updates-not-sent flag added for incomplete push update Not-notifiable extension added for items where on-change not viable (via Metadata) Moved start/stop into rfc5277bis, added anchor time for periodic Dampening period is subscription, not per object Asynch refresh of full set of on-change objects Editorial updates, and material moved to 5277bis

Feedback Request #1 Simplifying streams and filter types yang push Feedback Request #1 Simplifying streams and filter types Optional: Custom platform streams. If used reduces set of objects for existing filters. Future: filters based on the intersection of OpState datastore fetch + Subtree + Metadata can be used to accomplish objectives of streams Predefined filters that reference a target datastore or filter contents based on metadata Request: Agree with above? If/when OpState adopted, charter new work so that corresponding filter-types exist. Who is interested in this topic?

Feedback Request #2 Topic Filtering yang push Feedback Request #2 Topic Filtering YANG 1.1 identityrefs tagging existing objects Could provide IETF standard inheritance More efficient than content filtering Could be used in conjunction with existing filters WG interest in classifying Model, Subtree, & Leaf via independent categorizations such as Event-type & severity? extension event-topic { argument id { identity topic-id { … /******************************** example topic subtree + topic-id + service-topic + routing-topic + bgp-topic + isis-topic **********************************/ grouping topic-filter { leaf-list topic-filter { type identityref { base topic-id; augment "/notif-bis:establish-subscription/notif-bis:input" { uses topic-filter; }

Feedback Request #3 Optional Update-Number to Detect Loss/Duplication yang push Feedback Request #3 Optional Update-Number to Detect Loss/Duplication TCP can’t cover all cases for update loss & duplication of a push update. Request: Should we allow push-change-updates to include current & previous update number Performance concern? Should this go in transport draft? Publisher Receiver Object change Update bundling TCP Loss / Duplication prior to update bundling is invisible On TCP Socket ∆: Ignore, OAM error to receiver, or suspend On receipt of OAM: Ignore, Replay, or Resynch On receipt of suspend: do nothing Update Number Assign update number, put current & previous in a push-change-update On discovery of update loss: Ignore, Replay, or Resynch On discovery of duplicate update: drop lifecycle of a pushed change Patch Detection Method

yang push Next steps Feedback Request #3 Should we include push-change-update number? Open Partial push of periodic updates in a subscription? YANG-Push statistics (e.g. counters of object changes, of update messages) Simplify scope: Document and frame other follow-on work and potential augmentations Request #1: Future Filter Types, OpState, Metadata Request #2: Topic Definition and Filtering 9

Updates since IETF #96 5277bis -00 & -01 revisions YANG Model changes. New groupings for subscription info to allow, restrict what is modifiable via RPC. Removed notifications for adding and removing receivers of configured subscriptions. Collapsed data model into single YANG module (ietf-event-notifications) ietf-5277-netmod and ietf-5277-netconf were removed from notif- netconf draft May need to “reverse” the split and pull out portions required for RFC 5277 backward compatibility (need separate namespace), e.g. create- subscription RPC Expanded/renamed definitions from event server to publisher, and client to subscriber as applicable. Cleaned-up wording, terminology, and redundancy

5277bis Next steps open Scrub for completeness of error codes and diagnostics pending Split the current single model into two to keep the existing namespace for backwards compatibility with 5277. Move 5277 backwards compatibility objects into notif-netconf Definition of NETCONF & vendor custom stream types ‘Test-only’ option to see if a subscription might be established 11

Updates since IETF #96 Restconf / HTTP2 -01 revision Single subscription goes to single HTTP2 stream. Updated call flows. Extensively. Shift to HTTP2 where available SSE only used with Restconf and HTTP1.1 Dynamic Subscriptions Many clean-ups of wording and terminology

Feedback Request #4: HTTP2 compatibility with GRPC Restconf / HTTP2 Feedback Request #4: HTTP2 compatibility with GRPC Agree that adopting messages/exchanges for seamless transport over GRPC implementations? Who can provide extra eyes to validate proposed solution? Subscriber Receiver Publisher TCP TCP Restconf/HTTP POST (RPC: establish-subscription) HTTP 200 OK (SubID, URI) 7 7 HTTP POST (URI) HTTP 200 OK HTTP Data (Notification push-update) Restconf/HTTP POST (RPC: modify-subscription, SubID) HTTP 200 OK (SubID) HTTP Data (Notification subscription-modified) HTTP Data (Notification push-update) Restconf/HTTP POST (RPC: delete-subscription, SubID) HTTP 200 OK HTTP Headers (end of stream)

Next Steps Restconf / HTTP2 Feedback Request #4 HTTP2 transport message compatibility with GRPC (need extra set of eyes) open Do we include 3rd party signaled subscriptions within models that need to be supported generically, or for a particular type of transport. 14

Updates since IETF #96 Notif-netconf -00 and -01 revisions Added Call Home in solution for configured subscriptions. Clarified support for multiple subscription on a single session. No need to support multiple create-subscription. Added mapping between terminology in [yang-push] and [RFC6241]. Other editorial improvements.

Feedback Request #5 Ask Receiver to Call Home via a known Port Notif-netconf Feedback Request #5 Ask Receiver to Call Home via a known Port Recommendation For configured subscription, if no NETCONF session live to Receiver then Publisher initiates a Call Home to the Receiver on address and well- known port for subscription. Once session is established, Publisher sends "subscription- started" notification. Assumptions Receiver is aware that calls on the configured port are intended only for pushing notifications. Receiver is ready to accept notifications on the session as soon as it is established.

Next Steps Notif-netconf Feedback Request #5 Should Receiver Call Home to a well known Receiver Port? pending Move create subscription RFC to this document as it will only be used for NETCONF legacy. Express filter in JSON should be documented. 17

Join the Dezign Team TM Andy Bierman Sharon Chisholm Alexander Clemm Yan Gang Peipei Guo Susan Hares Tim Jenkins Balazs Lengyel Einar Nilsen-Nygaard Alberto Gonzalez Prieto Michael Scharf Hector Trevino Ambika Prasad Tripathy Eric Voit Kent Watsen Guangying Zheng (Walker) Meetings since IETF 96 Berlin (Wed 8AM Pacific) 2-Nov-2016 Click for Notes, PPT, & Recording 26-Oct-2016 Click for Notes & Recording 19-Oct-2016 12-Oct-2016 5-Oct-2016 28-Sep-2016 14-Sep-2016 7-Sep-2016 31-Aug-2016 26-Aug-2016 17-Aug-2016 10-Aug-2016 4-Aug-2016 Click for Notes, DOC, & Recording 27-Jul-2016

Thank you!

Functional Partitioning Event Notifications YANG Datastore Push 5277 Mode Enhanced Types of Subscription Dynamic Dynamic and Configured Subscriptions per Session one many Negotiation No Yes RPCs create establish, modify, delete Control Plane Notifications None started, suspended, resumed, terminated, modified Data Plane Notifications notification +subscription-id push-update, push-change-update NETCONF RESTConf, HTTP, HTTP2 Subscription Transport Legend YANG Datastore Push Subscriptions for Event Notifications NETCONF Transport for Event Notifications RESTCONF Transport for Event Notifications Compatibility with RFC-5277 20

4 Drafts Functional Partitioning YANG Datastore Push (includes functions above Base Subscription Draft): Datastore on-change and periodic triggers YANG filters per RFC6241 Authorization model per object Negotiation Push-update, Push-change-update New stream types & stuff Prioritization Subscriptions for Event Notifications (Base Subscription Draft) Support for many subscriptions / transport Dynamic & Configured state machines Multiple configured receivers New stream types? Authorization model per stream RPCs: Establish, modify, delete Error responses (under error-info?) Notifications: started, suspended, resumed, terminated, modified RFC5277 & XPATH filters Stream discovery Data Plane Notification 5277 mode & YANG model Replay Monitoring NETCONF Transport for Event Notifications Transport mapping 5277 mode RESTCONF & HTTP Transport for Event Notifications Transport mappings Subscriber/receiver different Heartbeats and clean-up Subscription to HTTP2 stream 21