Subject: [Netconf] New version for draft-clemm-netconf-yang-push-01.txt

From: "Alexander Clemm (alex)" <[email-masked]>
Date: Wed, 8 Jul 2015 00:46:11 +0000

Hi,

we just wanted to let you know that we posted a new version of the YANG datastore push draft yesterday, which we are planning to present in Prague.  

Please see https://www.ietf.org/internet-drafts/draft-clemm-netconf-yang-push-01.txt 

There are a a few technical updates, as well as quite a few editorial updates.  

The technical updates include:
- A parameter that allows a subscriber to specify which encoding to use for datastore updates
- A parameter that allows a subscriber to limit on-change subscriptions to certain types of changes

There are a few items that may warrant discussion, most of which can be found in section 3.10, including:
- Introduction of additional built-in datastreams limited to operational data (section 3.10.5), which we think would be a good idea to formally include in the next revision
- Whether to support subscription persistency (currently the subscription lifecycle is tied to the lifecycle of a Netconf session)
- Whether to provide guidance on "chunking" of updates (currently left to the implementation whether to send a single update message with the entire data, or multiple update messages each with a subset of the data)
- Whether to track the "owners" of a subscription as part of the subscription data model (again, we believe this is a good idea which we plan to add in the next revision) 

Regards
--- Alex (also on behalf of Eric and Alberto)

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] 
Sent: Monday, July 06, 2015 3:57 PM
To: Alexander Clemm (alex); Alberto Gonzalez Prieto (albertgo); Alberto Gonzalez Prieto (albertgo); Eric Voit (evoit); Alexander Clemm (alex); Eric Voit (evoit)
Subject: New Version Notification for draft-clemm-netconf-yang-push-01.txt

A new version of I-D, draft-clemm-netconf-yang-push-01.txt
has been successfully submitted by Alexander Clemm and posted to the IETF repository.

Name:		draft-clemm-netconf-yang-push
Revision:	01
Title:		Subscribing to YANG datastore push updates
Document date:	2015-07-06
Group:		Individual Submission
Pages:		32
URL:            https://www.ietf.org/internet-drafts/draft-clemm-netconf-yang-push-01.txt
Status:         https://datatracker.ietf.org/doc/draft-clemm-netconf-yang-push/
Htmlized:       https://tools.ietf.org/html/draft-clemm-netconf-yang-push-01
Diff:           https://www.ietf.org/rfcdiff?url2=draft-clemm-netconf-yang-push-01

Abstract:
   This document defines a subscription and push mechanism for YANG
   datastores.  This mechanism allows client applications to request
   updates from a YANG datastore, which are then pushed by the server to
   the client per a subscription policy, without requiring additional
   client requests.

Please note that it may take a couple of minutes from the time of submission until the htmlized version and diff are available at tools.ietf.org.

The IETF Secretariat

---

From: "Eric Voit (evoit)" <[email-masked]>
Date: Thu, 9 Jul 2015 20:59:52 +0000

Adding to what Alex said, here are a few questions left undefined in the latest draft which are worth exploring either on the NETCONF mailer or in Prague...

(1) Should this draft support the ability to suspend / resume a Subscription at the request of the Subscriber?

(2) Should the loss of authenticated access to YANG subtree be communicated to the Subscriber?

(3) Are there filters which should be provided beyond RFC 5277 Subtree and Property Filters?

Thoughts on these, or other suggestions/questions on the draft are appreciated.

- Eric (also on behalf of Alex and Alberto)

-----Original Message-----
From: Alexander Clemm (alex) 
Sent: Tuesday, July 07, 2015 8:46 PM
To: [email-masked]
Cc: Eric Voit (evoit); Alberto Gonzalez Prieto (albertgo)
Subject: New version for draft-clemm-netconf-yang-push-01.txt

Hi,

Regards

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] 
Sent: Monday, July 06, 2015 3:57 PM
To: Alexander Clemm (alex); Alberto Gonzalez Prieto (albertgo); Alberto Gonzalez Prieto (albertgo); Eric Voit (evoit); Alexander Clemm (alex); Eric Voit (evoit)
Subject: New Version Notification for draft-clemm-netconf-yang-push-01.txt

Abstract:

The IETF Secretariat

---

From: Juergen Schoenwaelder <[email-masked]>
Date: Fri, 10 Jul 2015 09:30:20 +0200

> (3) Are there filters which should be provided beyond RFC 5277 Subtree and Property Filters?

What is a 'Property Filter'?

/js

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>

---

From: "Eric Voit (evoit)" <[email-masked]>
Date: Fri, 10 Jul 2015 14:05:59 +0000

> From: Juergen Schoenwaelder, July 10, 2015 3:30 AM
>

RFC 5277 XPATH Filters for attribute match expressions is what I believe is achievable right now upon YANG objects.  But other PubSub  technologies like DDS (OMG) and MQTT (OASIS) can pass PubSub topic filters which are more flexible.  With this question I was hoping to leave space open for someone willing to argue for a solution here.

Eric

---

From: "Ambika Prasad Tripathy (ambtripa)" <[email-masked]>
Date: Sun, 12 Jul 2015 05:16:07 +0000

Hi Alex/Eric,

Few doubts  

1) who will define streams? What is the practical use of it? Doesn't the filter will address the requirement?

2) If user is defining the streams, how to subscribe to the stream? Is stream is a mandatory parameter for subscription? 

Br,
Ambika Prasad Tripathy

-----Original Message-----
From: Netconf [mailto:[email-masked]] On Behalf Of Eric Voit (evoit)
Sent: Friday, July 10, 2015 7:06 AM
To: Juergen Schoenwaelder
Cc: [email-masked]
Subject: Re: [Netconf] New version for draft-clemm-netconf-yang-push-01.txt

Eric

> /js

_______________________________________________
Netconf mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/netconf

---

From: "Alexander Clemm (alex)" <[email-masked]>
Date: Mon, 13 Jul 2015 09:18:37 +0000

Hi Ambika,

there is one conceptual stream that is predefined, datastore-push.  

One item for discussion concerns whether there should be other conceptual streams that are predefined:  specifically, one stream with all operational data (in effect, datastore-push with all config data removed) - e.g. "operational-push", and (potentiallly) one stream with all operational data minus counters (specifically for on-change subscriptions, which make little sense for ocunters).  While strictly speaking you could define filters on datastore-push instead, having a dedicated stream is more convenient as the articulation of a separate filter is more tedious and makes the mechanism harder to use.  

To let users define streams is strictly speaking not required, but makes for a "convenience function".  Among other things, again it saves subscribers from having to articulate filters, in particular if an administrator preconfigures corresponding streams.  

In any event, yes, the stream is a mandatory parameter.  You always subscribe to a stream (well, with datastore-push as a default, we can argue if it should therefore whether as a parameter it should be optional after all).  This is also one of the parameters that have  already introduced in RFC 5277 (create-subscription for notifications).  

Thanks
--- Alex

-----Original Message-----
From: Ambika Prasad Tripathy (ambtripa) 
Sent: Sunday, July 12, 2015 7:16 AM
To: Eric Voit (evoit); Juergen Schoenwaelder; Alexander Clemm (alex)
Cc: [email-masked]
Subject: RE: [Netconf] New version for draft-clemm-netconf-yang-push-01.txt

Hi Alex/Eric,

Few doubts  

Br,
Ambika Prasad Tripathy

-----Original Message-----
From: Netconf [mailto:[email-masked]] On Behalf Of Eric Voit (evoit)
Sent: Friday, July 10, 2015 7:06 AM
To: Juergen Schoenwaelder
Cc: [email-masked]
Subject: Re: [Netconf] New version for draft-clemm-netconf-yang-push-01.txt

Eric

---

From: "Ambika Prasad Tripathy (ambtripa)" <[email-masked]>
Date: Mon, 13 Jul 2015 15:52:51 +0000

Hi Alex, Thanks.

It is clear about stream. But we can do the same stuff with filter. 

What is the difference between filter and stream is not clear? When I am subscribing to a stream, can I apply filters? If yes, then is the filter should be validated based on stream definition?

Cloud you please explain on filters of subscription and streams and relation?

Br,
Ambika

-----Original Message-----
From: Alexander Clemm (alex) 
Sent: Monday, July 13, 2015 2:19 AM
To: Ambika Prasad Tripathy (ambtripa); Eric Voit (evoit); Juergen Schoenwaelder
Cc: [email-masked]
Subject: RE: [Netconf] New version for draft-clemm-netconf-yang-push-01.txt

Hi Ambika,

Thanks
--- Alex

-----Original Message-----
From: Ambika Prasad Tripathy (ambtripa) 
Sent: Sunday, July 12, 2015 7:16 AM
To: Eric Voit (evoit); Juergen Schoenwaelder; Alexander Clemm (alex)
Cc: [email-masked]
Subject: RE: [Netconf] New version for draft-clemm-netconf-yang-push-01.txt

Hi Alex/Eric,

Few doubts  

Br,
Ambika Prasad Tripathy

-----Original Message-----
From: Netconf [mailto:[email-masked]] On Behalf Of Eric Voit (evoit)
Sent: Friday, July 10, 2015 7:06 AM
To: Juergen Schoenwaelder
Cc: [email-masked]
Subject: Re: [Netconf] New version for draft-clemm-netconf-yang-push-01.txt

Eric

---

From: "Alexander Clemm (alex)" <[email-masked]>
Date: Mon, 13 Jul 2015 18:46:15 +0000

Hi Ambika,

maybe going at your questions in reverse order, from bottom to top:  

Filters and stream are different.  You subscribe to a stream.  You can apply a filter to that stream, which you specify as part of your subscription.  

You apply the filter to the update records that are part of the stream.  When a data item/update matches the filter condition, you let it pass, otherwise you discard it.  (I am not sure what you mean with validation.  If you specify a filter condition that doesn't match anything in the stream, you will simply not get many updates.)

"We can do the same stuff with filter."  I think here you are referring to custom datastreams.  Yes, indeed, custom datastreams are configured using the same parameters as filter conditions.  It is a convenience function.  There are a number of reasons why you may want to configure a custom datastream, instead of simply entering a subscription with corresponding filter condition to datastream push:  For one, if you have multiple subscribers that require the same informaiton, providing a custom datastream that evaluates a filter once and then pushes the same data to everyone may be more effective than having to evaluate the same filter condition multiple times.  Second, it makes subscriptions easier to provide - as a user, you don't need to articulate potentially complex filter conditions.  

--- Alex

-----Original Message-----
From: Ambika Prasad Tripathy (ambtripa) 
Sent: Monday, July 13, 2015 5:53 PM
To: Alexander Clemm (alex); Eric Voit (evoit); Juergen Schoenwaelder
Cc: [email-masked]
Subject: RE: [Netconf] New version for draft-clemm-netconf-yang-push-01.txt

Hi Alex, Thanks.

Br,
Ambika

-----Original Message-----
From: Alexander Clemm (alex) 
Sent: Monday, July 13, 2015 2:19 AM
To: Ambika Prasad Tripathy (ambtripa); Eric Voit (evoit); Juergen Schoenwaelder
Cc: [email-masked]
Subject: RE: [Netconf] New version for draft-clemm-netconf-yang-push-01.txt

Hi Ambika,

Thanks
--- Alex

-----Original Message-----
From: Ambika Prasad Tripathy (ambtripa) 
Sent: Sunday, July 12, 2015 7:16 AM
To: Eric Voit (evoit); Juergen Schoenwaelder; Alexander Clemm (alex)
Cc: [email-masked]
Subject: RE: [Netconf] New version for draft-clemm-netconf-yang-push-01.txt

Hi Alex/Eric,

Few doubts  

Br,
Ambika Prasad Tripathy

-----Original Message-----
From: Netconf [mailto:[email-masked]] On Behalf Of Eric Voit (evoit)
Sent: Friday, July 10, 2015 7:06 AM
To: Juergen Schoenwaelder
Cc: [email-masked]
Subject: Re: [Netconf] New version for draft-clemm-netconf-yang-push-01.txt

Eric