Subject: Re: [Netconf] Request for WGLC for "YANG-Push" suite of drafts

From: Mahesh Jethanandani <[email-masked]>
Date: Tue, 11 Jul 2017 09:22:10 -0700

This discussion started on the mailing list but turned into a private discussion somewhere along the line. But since it has turned into a technical discussion on the merits of the draft, I am pulling this thread back into the WG.

> On Jul 11, 2017, at 1:29 AM, Martin Bjorklund <[email-masked]> wrote:
> 
> [we're back to ad-hoc email-reply-quoting again.  sigh.]
> 
> "Eric Voit (evoit)" <[email-masked]> wrote:
>> From: Andy Bierman, July 10, 2017 4:33 PM
>> 
>> On Sat, Jul 8, 2017 at 1:16 AM, Martin Bjorklund
>> <[email-masked]<mailto:[email-masked]>> wrote:
>> Alexander Clemm
>> <[email-masked]<mailto:[email-masked]>> wrote:
>>> (+ coauthors)
>>> 
>>> Hello Martin,
>>> 
>>> Looking forward to your review.  Of you scan, can you please let us
>>> know which review comments you would like to see addressed?
>> 
>> I haven't had time to read the new documents; I just did a quick scan
>> to check a few things.  I note that the filter specification is not
>> fixed.
>> <eric> Not sure where.  All items which we fully converged on appear
>> reflected to me.
> 
> Just one example, the XPath context isn't defined properly.  See my
> previous reviews.  I have pointed this out several times.  (I assume
> you know what an XPath context is?  If not, please read the XPath 1.0
> spec.)  The text in the identity "xpath-event-filter" doesn't make any
> sense - "non-null node selection"???
> 
> 
>> The streams functionality is still restricted; dynamic streams
>> cannot be defined.
>> <eric> We have an identity custom-stream.  Augmentations by vendor can
>> add more stream identities here.
> 
> This also doesn't make sense.  Identities are dynamic by nature so
> there is no need for a "custom-stream" identity.  And an augmentation
> cannot add identites...
> 
> But the point is that you have restricted the current solution for
> event streams to be YANG module design-time, rather than (optionally)
> run-time.
> 
>> We previously had stream as a
>> string, but some people thought it would allow stream errors to be
>> more easily induced.  This is not a huge issue if people want to go
>> back to string.
> 
> I do think this is an important issue, and at least the WG should make
> an informed decision.
> 
>> Replay is still underspecified.
>> 
>> Are these issues with the 5277bis stuff or with YANG push?
>> I agree with you that more reviews are needed, especially by
>> people who are intending to implement it.
>> 
>> I am interested in hearing from WG reviewers if they are concerned
>> about excessive complexity (e.g. Replay for YANG Push? No way!)
>> 
>> <Eric> Agree.  Replay for YANG-Push is not supported.  Replay
>> start-time may only be applied to an event stream as a target.
>> 
>>    +--ro subscriptions
>>       +--ro subscription* [identifier]
>>          +--ro (target)
>>          |  +--:(event-stream)
>>          |  |  +--ro stream                     stream
>>          |  |  +--ro replay-start-time?    yang:date-and-time {replay}?
>>          |  +--:(yp:datastore)
>>           |     +--ro yp:datastore               datastore
>> 
>> I will wait on what is underspecified.
> 
> See above (replay), and see my previous reviews.  Note that these
> documents obsolete RFC 5277, so you can't just refer to that document.
> 
> 
> /martin

Mahesh Jethanandani
[email-masked]

---

From: "Eric Voit (evoit)" <[email-masked]>
Date: Tue, 11 Jul 2017 19:23:00 +0000

> From: Mahesh Jethanandani, July 11, 2017 12:22 PM
> 
> This discussion started on the mailing list but turned into a private discussion
> somewhere along the line. But since it has turned into a technical discussion on
> the merits of the draft, I am pulling this thread back into the WG.
> 

Ahh...  It looks like the YANG model updates we discussed here:
https://www.ietf.org/mail-archive/web/netconf/current/msg12749.html 
accidentally fell out of v07 version.   

This will be rectified in a version coming out once the IETF submission tool re-opens in a few days.

> >> <eric> Not sure where.  All items which we fully converged on appear

I was looking at the latest YANG model, not what was uploaded in v07.

> > spec.)  

In subscribed-notifications, XPath context is included by reference.  

In yang-push, hopefully the updated definitions meet the intent of your comment.   Although perhaps you are referring to the parsing within the selection-filter's anyxml?

> > The text in the identity "xpath-event-filter" doesn't make any

Per [XPATH]:
"An expression is evaluated to yield an object, which has one of the following four basic types:  node-set (an unordered collection of nodes without duplicates)..."

The text is intended to say if the result of the evaluation is a non-null node-set, the event successfully traverses the filter.  Perhaps if I tweak the text to "or a non-empty node-set being selected." will address your "???"?

> >> The streams functionality is still restricted; dynamic streams cannot
> >> be defined.
> >> <eric> We have an identity custom-stream.  Augmentations by vendor
> >> can add more stream identities here.
> >
> > there is no need for a "custom-stream" identity.  

To provide more details to my comment: "custom-stream" was suggested as a base for additional vendor specific design-time event stream identities which can supplement the ones defined in this model.  I don't mind if it is removed, as the base identity "stream" can also supply most of the same capabilities. 

> > And an augmentation cannot add identites...

Intended word usage was
http://www.dictionary.com/browse/augment
not
https://tools.ietf.org/html/rfc7950#section-7.17

> > I do think this is an important issue, and at least the WG should make

If anyone has a good run-time stream definition example, or if several people express a strong preference, we should move to string.  Personally, I have not seen this.

> >> I agree with you that more reviews are needed, especially by people
> >> who are intending to implement it.
> >>

You make a valid point that additional text and two objects could be used for the overall Replay context.  I will put out an email with suggested text in a couple hours.

Eric

---

From: Martin Bjorklund <[email-masked]>
Date: Tue, 11 Jul 2017 21:38:30 +0200 (CEST)

Hi,

[Thanks for making the thread readable again!]

> In subscribed-notifications, XPath context is included by reference.  

Sorry, but that doesn't work - when yoy define a node for an XPath
expression, you need to define the XPath context in which the
expression is evaluated.  I can provide text (later).

> In yang-push, hopefully the updated definitions meet the intent of
> your comment.   Although perhaps you are referring to the parsing
> within the selection-filter's anyxml? 
> 

No.  The point is that there is a well defined boolean interpretation
of _any_ XPath expression.  We should use that, instead of defining
our own.

> https://tools.ietf.org/html/rfc7950#section-7.17

Ok.

> If anyone has a good run-time stream definition example, or if several people express a strong preference, we should move to string.  Personally, I have not seen this.

Or maybe conversely, this is a current capability if 5277 (by design,
not accident).  What are the arguments for removing this capability?

/martin