evolu on of the subscrip on & event no fica on drafts

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

Upload: lamlien

Post on 11-Feb-2017

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Evolu on of the Subscrip on & Event No fica on Drafts

Evolu&onoftheSubscrip&on&EventNo&fica&onDra9sIETF#97Seoul17-Nov-2016

+ContributorsYanGangPeipeiGuoSusanHaresTimJenkinsMichaelScharfKentWatsenGuangyingZheng(Walker)

Authorsonatleast1draGsAndyBiermanSharonChisholmAlexanderClemmBalazsLengyelEinarNilsen-NygaardAlbertoGonzalezPrietoHectorTrevinoAmbikaPrasadTripathyEricVoit

DezignTeam

NETCONFCharterItem6:“EnhanceRFC5277withtheabilitytodeletesubscrip;onswithoutclosingtheclientsession,tomodifyexis;ngsubscrip;ons,andtohavemul;plesubscrip;onsonaestablishedclientsession.Thesechangesshouldnotaffectolderclientsthatdonotsupportthesepar;cularsubscrip;onrequirements.TheRPCsandthedatamodelsinRFC5277shouldbeconvertedtoYANG

TM

Page 2: Evolu on of the Subscrip on & Event No fica on Drafts

Event&YANGSubscripXonsContext

Streamingofupdates•  Customizabletorecipient•  On-change,Periodic,Event

Publisher

Streamingmechanism

SubscripXoninterface

Subscribingtoupdates•  YANGDatastores•  NETCONFNoXficaXons/Events•  StaXcallyconfiguredordynamicallysignaled

Any Model

Vendor Model Events Datastore

2

Page 3: Evolu on of the Subscrip on & Event No fica on Drafts

Event&YANGSubscripXons4DraGs

Githubrepositoryh^ps://github.com/netconf-wg•  Minutes,MeeXngRecordings,Terminology,Issues

SubscriptionMechanism:

SubscribingtoYANGdatastorepushupdatesdraG-ieb-netconf-yang-push-04

SubscribingtoEventNo&fica&onsdraG-ieb-netconf-rfc5277bis-01

ChoiceofTransports:

NETCONFSupportforEventNo&fica&onsdraG-ieb-netconf-netconf-event-noXficaXons-01

RESTCONF&HTTPTransportforEventNo&fica&onsdraG-ieb-netconf-restconf-noXf-01

3

Page 4: Evolu on of the Subscrip on & Event No fica on Drafts

4DraGsinLayeredFramework

Applica&on

Publisher

Subscriber

UpdatePackaging

andFlowControl

TransportSession

Encoding

gRPC NetconfRestconf

YANG

SSHHTTP1.1

JSON

TLS

EventNo&fica&onGenera&onFiltering AccessControl

EventGenera&on

YANGXMLGPBThriG

Subscrip&onMgmt

ConfiguredDynamic

Receiver

AdmissionControl

HTTP2

customNETCONFStream

StartupConfig

CandidateConfig

IntendedConfig Applied

NegoXaXonOAMStreamDiscovery

4

SubscripXonMtc

CBOR

On-Change Periodic

ControlPlane

RunningConfig

OperaXonalState

Page 5: Evolu on of the Subscrip on & Event No fica on Drafts

UpdatessinceIETF#96

•  -04revision•  Updates-not-sentflagaddedforincompletepushupdate

•  Not-noXfiableextensionaddedforitemswhereon-changenotviable(viaMetadata)

•  Movedstart/stopintorfc5277bis,addedanchorXmeforperiodic

•  DampeningperiodissubscripXon,notperobject•  Asynchrefreshoffullsetofon-changeobjects•  Editorialupdates,andmaterialmovedto5277bis

5

yangpush

Page 6: Evolu on of the Subscrip on & Event No fica on Drafts

FeedbackRequest#1Simplifyingstreamsandfiltertypes

•  OpXonal:Customplabormstreams.–  IfusedreducessetofobjectsforexisXngfilters.

•  Future:filtersbasedontheintersecXonofOpStatedatastorefetch+Subtree+Metadata– canbeusedtoaccomplishobjecXvesofstreams– Predefinedfiltersthatreferenceatargetdatastoreorfiltercontentsbasedonmetadata

•  Request:Agreewithabove?If/whenOpStateadopted,charternewworksothatcorrespondingfilter-typesexist.Whoisinterestedinthistopic?

yangpush

Page 7: Evolu on of the Subscrip on & Event No fica on Drafts

FeedbackRequest#2TopicFiltering

•  YANG1.1idenXtyrefstaggingexisXngobjects–  CouldprovideIETFstandardinheritance

– Moreefficientthancontentfiltering

–  CouldbeusedinconjuncXonwithexisXngfilters

•  WGinterestinclassifyingModel,Subtree,&LeafviaindependentcategorizaXonssuchasEvent-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; }

yangpush

Page 8: Evolu on of the Subscrip on & Event No fica on Drafts

FeedbackRequest#3OpXonalUpdate-NumbertoDetectLoss/DuplicaXon

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

•  TCPcan’tcoverallcasesforupdateloss&duplicaXonofapushupdate.

•  Request:Shouldweallowpush-change-updatestoincludecurrent&previousupdatenumber–  Performanceconcern?ShouldthisgointransportdraG?

yangpush

Page 9: Evolu on of the Subscrip on & Event No fica on Drafts

Nextsteps

9

yangpush

Simplifyscope:Documentandframeotherfollow-onworkandpotenXalaugmentaXons

–  Request#1:FutureFilterTypes,OpState,Metadata–  Request#2:TopicDefiniXonandFiltering

FeedbackRequest#3 Shouldweincludepush-change-updatenumber?

Open ParXalpushofperiodicupdatesinasubscripXon?

Open YANG-PushstaXsXcs(e.g.countersofobjectchanges,ofupdatemessages)

Page 10: Evolu on of the Subscrip on & Event No fica on Drafts

UpdatessinceIETF#96

•  -00&-01revisions•  YANGModelchanges.

•  NewgroupingsforsubscripXoninfotoallow,restrictwhatismodifiableviaRPC.

•  RemovednoXficaXonsforaddingandremovingreceiversofconfiguredsubscripXons.

•  CollapseddatamodelintosingleYANGmodule(ieb-event-noXficaXons)•  ieb-5277-netmodandieb-5277-netconfwereremovedfromnoXf-netconfdraG

•  Mayneedto“reverse”thesplitandpulloutporXonsrequiredforRFC5277backwardcompaXbility(needseparatenamespace),e.g.create-subscripXonRPC

•  Expanded/renameddefiniXonsfromeventservertopublisher,andclienttosubscriberasapplicable.

•  Cleaned-upwording,terminology,andredundancy

10

5277bis

Page 11: Evolu on of the Subscrip on & Event No fica on Drafts

Nextsteps

open ScrubforcompletenessoferrorcodesanddiagnosXcs

pendingSplitthecurrentsinglemodelintotwotokeeptheexisXngnamespaceforbackwardscompaXbilitywith5277.

pending Move5277backwardscompaXbilityobjectsintonoXf-netconf

pending DefiniXonofNETCONF&vendorcustomstreamtypes

pending ‘Test-only’opXontoseeifasubscripXonmightbeestablished

11

5277bis

Page 12: Evolu on of the Subscrip on & Event No fica on Drafts

UpdatessinceIETF#96

•  -01revision•  SinglesubscripXongoestosingleHTTP2stream.

•  Updatedcallflows.Extensively.•  ShiGtoHTTP2whereavailable•  SSEonlyusedwithRestconfandHTTP1.1DynamicSubscripXons

•  Manyclean-upsofwordingandterminology

12

Restconf/HTTP2

Page 13: Evolu on of the Subscrip on & Event No fica on Drafts

FeedbackRequest#4:HTTP2compaXbilitywithGRPCAgreethatadopXngmessages/exchangesforseamlesstransportoverGRPCimplementaXons?WhocanprovideextraeyestovalidateproposedsoluXon?

TCP TCP Subscriber Publisher

Restconf/HTTP POST (RPC: establish-subscription) HTTP 200 OK (SubID, URI)

Receiver

HTTP POST (URI)

Restconf/HTTP POST (RPC: modify-subscription, SubID) HTTP 200 OK (SubID)

HTTP Data (Notification subscription-modified)

HTTP 200 OK HTTP Data (Notification push-update)

HTTP Data (Notification push-update)

HTTP Headers (end of stream)

7 7

Restconf/HTTP POST (RPC: delete-subscription, SubID) HTTP 200 OK

Restconf/HTTP2

Page 14: Evolu on of the Subscrip on & Event No fica on Drafts

NextSteps

FeedbackRequest#4

HTTP2transportmessagecompaXbilitywithGRPC(needextrasetofeyes)

openDoweinclude3rdpartysignaledsubscripXonswithinmodelsthatneedtobesupportedgenerically,orforaparXculartypeoftransport.

14

Restconf/HTTP2

Page 15: Evolu on of the Subscrip on & Event No fica on Drafts

UpdatessinceIETF#96

•  -00and-01revisions•  AddedCallHomeinsoluXonforconfiguredsubscripXons.

•  ClarifiedsupportformulXplesubscripXononasinglesession.NoneedtosupportmulXplecreate-subscripXon.

•  Addedmappingbetweenterminologyin[yang-push]and[RFC6241].

•  Othereditorialimprovements.

15

NoXf-netconf

Page 16: Evolu on of the Subscrip on & Event No fica on Drafts

FeedbackRequest#5AskReceivertoCallHomeviaaknownPort•  RecommendaXon– ForconfiguredsubscripXon,ifnoNETCONFsessionlivetoReceiverthenPublisheriniXatesaCallHometotheReceiveronaddressandwell-knownportforsubscripXon.Oncesessionisestablished,Publishersends"subscripXon-started"noXficaXon.

•  AssumpXons– ReceiverisawarethatcallsontheconfiguredportareintendedonlyforpushingnoXficaXons.

– ReceiverisreadytoacceptnoXficaXonsonthesessionassoonasitisestablished.

NoXf-netconf

Page 17: Evolu on of the Subscrip on & Event No fica on Drafts

NextSteps

FeedbackRequest#5 ShouldReceiverCallHometoawellknownReceiverPort?

pending MovecreatesubscripXonRFCtothisdocumentasitwillonlybeusedforNETCONFlegacy.

pending ExpressfilterinJSONshouldbedocumented.

17

NoXf-netconf

Page 18: Evolu on of the Subscrip on & Event No fica on Drafts

JointheDezignTeamMee&ngssinceIETF96Berlin(Wed8AMPacific)

2-Nov-2016 ClickforNotes,PPT,&Recording

26-Oct-2016 ClickforNotes&Recording

19-Oct-2016 ClickforNotes&Recording

12-Oct-2016 ClickforNotes&Recording

5-Oct-2016 ClickforNotes&Recording

28-Sep-2016 ClickforNotes&Recording

14-Sep-2016 ClickforNotes&Recording

7-Sep-2016 ClickforNotes&Recording

31-Aug-2016 ClickforNotes&Recording

26-Aug-2016 ClickforNotes&Recording

17-Aug-2016 ClickforNotes&Recording

10-Aug-2016 ClickforNotes,PPT,&Recording

4-Aug-2016 ClickforNotes,DOC,&Recording

27-Jul-2016 ClickforNotes&Recording

AndyBiermanSharonChisholmAlexanderClemmYanGangPeipeiGuoSusanHaresTimJenkinsBalazsLengyelEinarNilsen-NygaardAlbertoGonzalezPrietoMichaelScharfHectorTrevinoAmbikaPrasadTripathyEricVoitKentWatsenGuangyingZheng(Walker)

TM

Page 19: Evolu on of the Subscrip on & Event No fica on Drafts

Thankyou!

Page 20: Evolu on of the Subscrip on & Event No fica on Drafts

FuncXonalParXXoning

EventNoXficaXons YANGDatastorePush5277Mode Enhanced

TypesofSubscripXon Dynamic DynamicandConfigured SubscripXonsperSession one many

NegoXaXon No YesRPCs create establish,modify,delete

ControlPlaneNoXficaXons None started,suspended,resumed,terminated,modified

DataPlaneNoXficaXons noXficaXon +subscripXon-id push-update,push-change-update

NETCONF Yes RESTConf,HTTP,HTTP2 No Yes

Subs

cripti

on

Tran

spor

t

YANGDatastorePushSubscripXonsforEventNoXficaXonsNETCONFTransportforEventNoXficaXonsRESTCONFTransportforEventNoXficaXons

Legend

CompaXbilitywithRFC-527720

Page 21: Evolu on of the Subscrip on & Event No fica on Drafts

Subscrip&onsforEventNo&fica&ons(BaseSubscripXonDraG)•  SupportformanysubscripXons/transport•  Dynamic&Configuredstatemachines•  MulXpleconfiguredreceivers•  Newstreamtypes?•  AuthorizaXonmodelperstream•  RPCs:Establish,modify,delete•  Errorresponses(undererror-info?)•  NoXficaXons:started,suspended,resumed,terminated,modified

YANGDatastorePush(includesfuncXonsaboveBaseSubscripXonDraG):•  Datastoreon-changeandperiodictriggers•  YANGfiltersperRFC6241•  AuthorizaXonmodelperobject•  NegoXaXon

NETCONFTransportforEventNo&fica&ons•  Transportmapping•  5277mode

RESTCONF&HTTPTransportforEventNo&fica&ons•  Transportmappings•  Subscriber/receiverdifferent•  Heartbeatsandclean-up•  SubscripXontoHTTP2stream

4DraGsFuncXonalParXXoning

•  RFC5277&XPATHfilters•  Streamdiscovery•  DataPlaneNoXficaXon•  5277mode&YANGmodel•  Replay•  Monitoring

•  Push-update,Push-change-update•  Newstreamtypes&stuff•  PrioriXzaXon

21