Subject: [Netconf] Yangdoctors last call review of draft-ietf-netconf-netconf-event-notifications-16

From: Reshad Rahman <[email-masked]>
Date: Wed, 09 Jan 2019 08:34:28 -0800

Reviewer: Reshad Rahman
Review result: Ready with Issues

YANG Doctor review of draft-ietf-netconf-netconf-event-notifications-16 (by
Reshad Rahman)

No YANG module in this draft but there are numerous examples based on the YANG
modules in draft-ietf-netconf-subscribed-notifications and
draft-ietf-netconf-yang-push. Validation of the examples was done with yanglint
0.16.59.

The major issues are related to the examples, although in 2) below  the
root-cause might be with the YANG module in
draft-ietf-netconf-subscribed-notifications  and in 3) there is an issue which
has already been reported on draft-ietf-netconf-yang-push: 1) The
establish-subscription request in Figure 3 fails yanglint validation, the
"stream" element has to be moved after the "stream-xpath-filter" element, that
fixed the following issue: err : Invalid order of elements
"stream-xpath-filter" and "stream".
(/ietf-subscribed-notifications:establish-subscription/stream-xpath-filter) 2)
The establish-subscription error response in Figure 5 fails yanglint
validation, the "id" element is missing. This is because
draft-ietf-netconf-subscribed-notifications has leaf id as mandatory in
establish-subscription output, either we remove the mandatory or we reserve a
value as invalid id or we add err : Missing required element "id" in
"establish-subscription".
(/ietf-subscribed-notifications:establish-subscription) 3) The
modify-subscription request in Figure 7 fails yanglint validation because of
missing "datastore" element. err : When condition
"../ietf-subscribed-notifications:target/ietf-yang-push:datastore" not
satisfied.
(/ietf-subscribed-notifications:modify-subscription/ietf-yang-push:periodic)
There are 2 causes here: missing "datastore" element and incorrect when
statements in draft-ietf-netconf-yang-push (as reported by Andy Bierman).
Fixing ietf-yang-push.yang and adding the following before element
"datastore-xpath-filter " fixed the example.
    <yp:datastore
    xmlns:ds="urn:ietf:params:xml:ns:yang:ietf-datastores">ds:running</yp:datastore>

Minor comments and nits:
- Abstract s/YANG Push/YANG-Push/ since YANG-Push is the term introduced in
draft-ietf-netconf-yang-push - Introduction. Last sentence doesn't read well,
"...a RESTCONF client via a dynamic subscription..." may need tweaking -
Section 5 s/terminates/terminates,/ - Section 7 3rd bullet. s/this MAY but does
not have to be included/this MAY be included/? - Section 7
s/kill-subscription-error/delete-subscription-error/ (thanks Rob) - Figure 3,
stream-xpath-filter uses prefix "ds" for example-datastore.yang. Since "ds" is
used by ietf-datastores.yang, might be better to choose another prefix such as
"ex"

Regards,
Reshad.

---

From: "Reshad Rahman (rrahman)" <[email-masked]>
Date: Wed, 9 Jan 2019 18:48:42 +0000

Don't know why newlines aren't showing up in the email, if you want a nicer view (also a slight revision):
https://datatracker.ietf.org/doc/review-ietf-netconf-netconf-event-notifications-16-yangdoctors-lc-rahman-2019-01-09/

On 2019-01-09, 11:34 AM, "yang-doctors on behalf of Reshad Rahman" <[email-masked] on behalf of [email-masked]> wrote:

    Reviewer: Reshad Rahman

    
    
    Minor comments and nits:
    
    Regards,
    Reshad.

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

---

From: "Eric Voit (evoit)" <[email-masked]>
Date: Fri, 11 Jan 2019 21:06:12 +0000

Hi Reshad,

Thanks for the review.   Some thoughts in-line...

> From: Reshad Rahman, January 9, 2019 1:49 PM
> 
> https://datatracker.ietf.org/doc/review-ietf-netconf-netconf-event-
> notifications-16-yangdoctors-lc-rahman-2019-01-09/
> 
> On 2019-01-09, 11:34 AM, "yang-doctors on behalf of Reshad Rahman" <yang-
> [email-masked] on behalf of [email-masked]> wrote:
> 
>     Reviewer: Reshad Rahman
>     has already been reported on draft-ietf-netconf-yang-push: 
>     1) The  establish-subscription request in Figure 3 fails yanglint validation, the
>     "stream" element has to be moved after the "stream-xpath-filter" element,
>      that  fixed the following issue: err : Invalid order of elements
>     (/ietf-subscribed-notifications:establish-subscription/stream-xpath-filter) 
Done.

>    2) The establish-subscription error response in Figure 5 fails yanglint
>     (/ietf-subscribed-notifications:establish-subscription)
The id is mandatory for the <establish-subscription> RPC response of that RPC.  It is not needed as part of the general <rpc-error> response.   So I believe we are good here.  (Note: Yanglint would need to be upgraded to do fairly complex RPC correlation to be able to automatically cover such issue types.)

>     3) The  modify-subscription request in Figure 7 fails yanglint validation 
>     because of missing "datastore" element. err : When condition
Alex is going to be making the change to the YANG push datastore drafts shortly (I just talked with him).  I am happy to modify the example (if necessary) based on  the "when" statement incorporated under update-policy-modifiable.  

>     draft-ietf-netconf-yang-push 
Done

>    Introduction. Last sentence doesn't read well,
That text has been touched so many times, I am afraid of touching it again.

>     Section 5 s/terminates/terminates,/ 
Done

>     Section 7 3rd bullet. s/this MAY but does
>     not have to be included/this MAY be included/? 
Done

>     Section 7
>     s/kill-subscription-error/delete-subscription-error/ (thanks Rob) 
Done

>     Figure 3,
>     used by ietf-datastores.yang, might be better to choose another prefix such
>     as  "ex"
Done.

I will post after a couple days, or after the "when" question closes (whatever comes first).

Eric

---

From: "Reshad Rahman (rrahman)" <[email-masked]>
Date: Fri, 11 Jan 2019 21:59:50 +0000

Hi Eric,

All good. For issue #2 below, Michal confirmed that yanglint doesn't handle rpc-error, so there's no issue in the draft as you mentioned.
https://github.com/CESNET/libyang/issues/696

Regards,
Reshad.

On 2019-01-11, 4:06 PM, "Eric Voit (evoit)" <[email-masked]> wrote:

    Hi Reshad,

    Done.

    
    Done

    Done
    
    Done
    
    Done
    
    Done.

    Eric