Subject: [Netconf] Updates to subscription drafts posted

From: "Eric Voit (evoit)" <[email-masked]>
Date: Fri, 22 Dec 2017 22:40:30 +0000

Hi,

At the end of IETF Singapore, we subscription draft authors promised an update to the subscription drafts.  As of today, the yang-push and subscribed-notification drafts have been updated.

Below are a list of the elements updated.   And below that are the four current known open issues.   If you know of anything else which needs to be done, please chime in!

----------------------------------------------------------------------------------------
draft-ietf-netconf-yang-push-12  -  Changes per the latest version...
----------------------------------------------------------------------------------------
(1) Section 3.7: "patch-id" is populated by a sequential number, starting with value '1' for each on-change update.  This allows easy identification of loss.

(2) YANG model: Containers added for 'periodic' and 'on-change' to explicitly group parameters within subscription model.

(3) YANG model: Removed the "time-of-update" objects in the YANG Push notifications.  These can be seen as redundant with eventTime (RFC-5277) or the more explicit time elements currently under discussion within the notification-messages draft.

(4) YANG model: Streams all made as leafrefs to the  streams container (rather than string).  As a result, elements of the stream container are all now "rw", as YANG doesn't allow configured subscriptions to point to configuration false streams.

(5) Draft text clarifications as documented on separate review threads with Martin & Balazs.

(6) Passed examples through yanglint to validate.

-----------------------------------------------------------------------------------------------------------
draft-ietf-netconf-subscribed-notifications-08   -  Changes per the latest version...
-----------------------------------------------------------------------------------------------------------

(1) YANG model tree partitioned into different sections of the document.  This is intended to simplify readability.

(2) Dynamic subscription receivers will receive a "subscription-modified" notification if the definition of a configured filter changes during the lifecycle of that dynamic subscription.

(3) A configured subscription VRF is now via leafref to Network Instance YANG model

(4) The transport protocol must be common across all receivers of a configured subscription.

(5) QoS objects have been moved from YANG push into Subscribed-notifications

(6) The configured subscription state machine has been tweaked.  It now explicitly includes the invalid and concluded states.    See Section 2.5.1 for the text which backs up the pictures below....

.-------.
| start |-.
'-------' |
     create  .---modify-----.----------------------------------.
          |  |              |                                  |
          V  V          .-------.         .-----.         .---------.
 .----[evaluate]--no--->|invalid|-delete->| end |<-delete-|concluded|
 |                      '-------'         '-----'         '---------'
|----[evaluate]--no-.      ^                ^                 ^
 |        ^          |      |                |                 |
yes       |          '->unsupportable      delete           stop-time
 |      modify         (subscription-   (subscription-   (subscription-
 |        |              terminated)      terminated)      concluded)
 |        |                 |                |                 |
 |   .---------------------------------------------------------------.
'-->|                         valid                                 |
     '---------------------------------------------------------------'

Beyond this diagrammatic change, also extracted and updated is the configured subscription receiver state machine.  It now includes an explicit "receiver timeout" state.

     .----------------------------------------------------------------.
     |                         valid                                  |
     |   .----------.                           .--------.            |
     |   | receiver |------------------timeout->|receiver|            |
     |   |connecting|<------------------reset---|timeout |            |
     |   |          |<-transport---.            '--------'            |
     |   '----------'  loss,reset  |                                  |
     |       |           |         |                                  |
     | (subscription     |         |                                  |
     |  started)    .--------.     |                      .---------. |
     |       '----->|        |     '----------------------|         | |
     |              |receiver|-(subscription-suspended)-->|receiver | |
     |(subscription-| active |                            |suspended| |
     |   modified)  |        |<-(subscription-resumed,----|         | |
     |        '---->'--------'   subscription-modified)   '---------' |
     '----------------------------------------------------------------'

To match with this mew state, in the YANG model, added is the action "reset-receiver".   This allows the resetting of a configured receiver.  This can be interesting if call-home has failed (leaving a receiver in "receiver timeout"), and an operator wants to restart the connecting process for a receiver.

       +--ro receivers
             +--ro receiver*
                +---x reset-receiver
                   +--ro output
                      +--ro time    yang:date-and-time

This leaves the following four updates which need to be included in the drafts:
--------------------------------------------------------------------------------------------------------

(a) Existing NETCONF error mechanism will replace RPC based error responses in -v08 & -v12

*       Alex should have shortly

(b) NMDA model versions

*       Eric has done this, awaiting completion of (a), will then integrate and post.

(c) Closure of Issue YP #12<https://github.com/netconf-wg/yang-push/issues/12>, value filtering on non-key objects.

*       Awaiting feedback from email to NETCONF alias made earlier today

(e) Closure of Issue YP#10<https://github.com/netconf-wg/yang-push/issues/10>: Not notifiable on-change.

*       Awaiting feedback from email to NETCONF alias made earlier today

Thanks!
Eric