Re: [netmod] hi Alex, Eric and design team guys some comments for YANG-push and subscribed-notifications, please help to confirm

Alexander Clemm <alexander.clemm@huawei.com> Wed, 03 May 2017 00:37 UTC

Return-Path: <alexander.clemm@huawei.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F0A4D12785F; Tue, 2 May 2017 17:37:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level:
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZVmp__ukAgsk; Tue, 2 May 2017 17:37:22 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CC33412EADD; Tue, 2 May 2017 17:35:07 -0700 (PDT)
Received: from 172.18.7.190 (EHLO LHREML714-CAH.china.huawei.com) ([172.18.7.190]) by lhrrg01-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DMD77567; Wed, 03 May 2017 00:35:05 +0000 (GMT)
Received: from SJCEML702-CHM.china.huawei.com (10.208.112.38) by LHREML714-CAH.china.huawei.com (10.201.108.37) with Microsoft SMTP Server (TLS) id 14.3.301.0; Wed, 3 May 2017 01:35:04 +0100
Received: from SJCEML701-CHM.china.huawei.com ([169.254.3.8]) by SJCEML702-CHM.china.huawei.com ([169.254.4.233]) with mapi id 14.03.0235.001; Tue, 2 May 2017 17:34:53 -0700
From: Alexander Clemm <alexander.clemm@huawei.com>
To: "Eric Voit (evoit)" <evoit@cisco.com>, "Zhengguangying (Walker)" <zhengguangying@huawei.com>, "ludwig@clemm.org" <ludwig@clemm.org>, "alex@clemm.org" <alex@clemm.org>, 'Balazs Lengyel' <balazs.lengyel@ericsson.com>
CC: "netconf@ietf.org" <netconf@ietf.org>, "netmod@ietf.org" <netmod@ietf.org>, "Ambika Prasad Tripathy (ambtripa)" <ambtripa@cisco.com>, 'Kent Watsen' <kwatsen@juniper.net>, "Hector Trevino (htrevino)" <htrevino@cisco.com>, "Einar Nilsen-Nygaard (einarnn)" <einarnn@cisco.com>, "Guopeipei (Peipei Guo)" <guopeipei@huawei.com>, "Alberto Gonzalez Prieto (albertgo)" <albertgo@cisco.com>, 'Andy Bierman' <andy@yumaworks.com>, "'Chisholm, Sharon'" <schishol@ciena.com>, Yangang <yangang@huawei.com>, 'Susan Hares' <shares@ndzh.com>, "Tim Jenkins (timjenki)" <timjenki@cisco.com>, "'Scharf, Michael (Nokia - DE)'" <michael.scharf@nokia.com>, Rohit pobbathi <rohit.pobbathi@huawei.com>, 'MehmetErsue' <mersue@gmail.com>, "Mahesh Jethanandani (mahesh)" <mahesh@cisco.com>
Thread-Topic: hi Alex, Eric and design team guys some comments for YANG-push and subscribed-notifications, please help to confirm
Thread-Index: AdLDR3hOn9XaWmkfSOG01TBPVl+DnAAAtJVQAArbmIA=
Date: Wed, 03 May 2017 00:34:53 +0000
Message-ID: <644DA50AFA8C314EA9BDDAC83BD38A2E0DF94788@SJCEML701-CHM.china.huawei.com>
References: <381D7D55085B1E4D8B581BD652E1E140B2A8756B@nkgeml513-mbs.china.huawei.com> <dfc3d6aa4d5546e19955032cb3707fda@XCH-RTP-013.cisco.com>
In-Reply-To: <dfc3d6aa4d5546e19955032cb3707fda@XCH-RTP-013.cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.213.48.93]
Content-Type: multipart/alternative; boundary="_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DF94788SJCEML701CHMchi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020205.590925BA.0095, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0, ip=169.254.3.8, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32
X-Mirapoint-Loop-Id: fb4bf2e8bcf30432bca2243e6da8369a
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/iK5Xnl6aWSRd7eooSCd-wPtWvic>
X-Mailman-Approved-At: Thu, 04 May 2017 12:15:19 -0700
Subject: Re: [netmod] hi Alex, Eric and design team guys some comments for YANG-push and subscribed-notifications, please help to confirm
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 03 May 2017 00:37:26 -0000

Hi Walker, thank you for your review and comments, and Eric, for your excellent response, to which I have little to add except a few small items inline <ALEX>
--- Alex

From: Eric Voit (evoit) [mailto:evoit@cisco.com]
Sent: Tuesday, May 02, 2017 9:52 AM
To: Zhengguangying (Walker) <zhengguangying@huawei.com>; ludwig@clemm.org; alex@clemm.org; 'Balazs Lengyel' <balazs.lengyel@ericsson.com>
Cc: netconf@ietf.org; netmod@ietf.org; Ambika Prasad Tripathy (ambtripa) <ambtripa@cisco.com>; 'Kent Watsen' <kwatsen@juniper.net>; Hector Trevino (htrevino) <htrevino@cisco.com>; Einar Nilsen-Nygaard (einarnn) <einarnn@cisco.com>; Guopeipei (Peipei Guo) <guopeipei@huawei.com>; Alberto Gonzalez Prieto (albertgo) <albertgo@cisco.com>; 'Andy Bierman' <andy@yumaworks.com>; 'Chisholm, Sharon' <schishol@ciena.com>; Yangang <yangang@huawei.com>; Alexander Clemm <alexander.clemm@huawei.com>; 'Susan Hares' <shares@ndzh.com>; Tim Jenkins (timjenki) <timjenki@cisco.com>; 'Scharf, Michael (Nokia - DE)' <michael.scharf@nokia.com>; Rohit pobbathi <rohit.pobbathi@huawei.com>; 'MehmetErsue' <mersue@gmail.com>; Mahesh Jethanandani (mahesh) <mahesh@cisco.com>
Subject: RE: hi Alex, Eric and design team guys some comments for YANG-push and subscribed-notifications, please help to confirm

Hi Walker,

Thanks very much for the comments.   Some thoughts in-line.

From: Zhengguangying (Walker), May 2, 2017 9:25 AM
Hi Alex, Eric and all,

   I reviewed the latest Draft and have some comments, please help to confirm, thanks.

   For draft-ietf-netconf-yang-push-06:
1.       In section 4.1, the configured subscription receivers not sepcify which mechnism to connect to client, it's better define clearly, specify it should be call home protocol.
<Eric> I totally agree call home is necessary.  The two transport drafts currently have the call-home specified within them.  As we define the transport protocol per receiver, the appropriate call home mechanism for a platform transport should be automatically selectable.  I will clarify/improve the text in the subscribed-notifications draft to indicate this.
Is there something else needed at the protocol independent level?   At this point I don't know of any transport-independent call home behaviors unspecified, other than the need to add a context statement saying call home is necessary if transport isn't available for a queued push update message.  I don't think we should over specify this right now.  This is because for some transport connection types, call home doesn't need to be always-on.  E.g., HTTP implementations have the potential to scale differently than NETCONF if a configured subscription transport can be established ad-hoc only when a push-update is ready to go.   If there are other specific behaviors needed for call-home behavior, what are they?  Are these something that can vary by transport protocol and implementation?
In YANG model, "leaf period" 's unit is timeticks(1/100s), it difficult to understand for user, suggest to change the unit to millisecond.
<Eric> The common YANG types of RFC 6021 defines timeticks.  I am hoping not to change typedefs which are compliant with that RFC.   *However* if you see a business need to move to Milliseconds because you need a more granular time that hundredths of a second, we should discuss that.  Especially as hundredths is what SMIv2 uses, we should have some use cases which needs the extra granularity before making the change.  Do you have use cases which need millisecond-level subscription periods?
2.       for the "leaf dampening-period ", it's better to give one maxmum value, otherwise it may can not effective
<Eric> I think this what we are trying to say in the draft.  How about I improve the leaf dampening-period definition to:
"The shortest time duration which is allowed between the creation of independent yang object update messages.  Effectively this is the amount of time that needs to have passed since the last update."
3.       If the time is not enough to send all the data in a cycle, how to deal with the remaining data? Just postpone the next cycle or do not send the remaining data? If you do not send the remaining data, it may cause the remaining data can not be monitored.\
<Eric> Marshalling data into messages is treated differently within the publisher than the transmitting of updates.  If for some reason not all the data can be assembled into a push update or push-change-update message, the "updates-not-sent" flag should be set.  The receiver can then determine what to do.   Note: It is perfectly acceptable to have sequential push-change-updates queued and in the process of being sent (in- order).  I will add text to this to help clarify the yang-push draft.
<ALEX> One other aspect beyond the receiver:  When you indicate "time is enough to send all the data in a cycle", are you referring to a scenario where the interval in which to send data is too short to allow for transmission of all the data?  In such a case, a publisher would fall further and further behind.  Really, this is a case where a publisher should basically suspend or abort the subscription, as it can't keep up.  We should state this clearly in the text.  The tricky part is of course that some of it may be of temporal nature due to, for example, a temporary increase in list size or a large number of updates, which may subside later - this would be reason to initially suspend (and later resume), before terminating the subscription outright.  Again, we will update the text more clearly.
</ALEX
4.       How to declare which path support "on-change"? Current draft defined all path not support "on-change" as default, if all "configure" leaf support "on-change" how I should do? Add extension for all "configure" leaf? It looks too complex, whether we can support one simple mode, such as define by type? then I can define all "configure" lead support "on-change".
<Eric> There is a good discussion in here.    The answer currently in the draft is that you should make a deviations file which lists entries for each parent node of each model which should support on-change.  So this doesn't need to be done for every leaf (as the values are inherited down the subtree.)  You are right that having a deviations file list this for every configuration node would add some complexity, including for model maintenance.
If you want a default behavior mode for a platform implementation, would you rather propose feature rather than an extension?  We could create a feature which enables all configuration=true nodes to be on-change subscribable. Maybe an extension titled "on-change-for-configuration"?  We then must decide what is the interaction between this and the existing "notifiable-on-change" extension.  To reduce conflicts/confusion, I would suggest that the feature has precedence.   Balazs, any thoughts on this?
5.       I think "subscription-status" attributes not enough , when subscirption status is suspend ,we need "suspend reason", " suspend time". When subscription resume, we need "resume time".
<Eric> This information will be available in the log as both the suspend and resume trigger the creation of a notification with a timestamp.  Does it need to be available via standard exposed codes in the yang model?   I don't really have any problem adding this, but there currently isn't any historical information exposed in the model.  It is all current state.   I would love to hear others' opinions on this one.
or "Modify-subscription " and "Delete-subscription ", we should give the limitition: Subscriptions established via RPC can only be Modified/deleted via RPC using   the same transport session used for subscription establishment.
<Eric> This is true.  As these RPCs are augmented from definitions is "subscribed notifications" which include that text, is that not sufficient?  In some cases we have the information only in one document to reduce the overall amount of text.


<ALEX> We currently state: "Subscriptions created by configuration operations cannot be modified [respectively deleted] via this RPC."

You are suggesting to be stronger than that, i.e. not allow a dynamic subscription to be touched by any transport session other than the one over which it was created.  I am not sure of this, can you elaborate a bit further?  Basically this would imply needing to keep track of which session created which object or dynamic subscription, something the framework does not currently keep track of (but that is perhaps a bit i2rs-ish). </ALEX>



--- Alex (done with comments)





For draft-ietf-netconf-subscribed-notifications-02:
1.       In A.1.  ietf-netconf-netconf-event-noti, the draft name should not be "[I-D.ietf-netconf-restconf-notif]", it should be "draft-ietf-netconf-netconf-event-notifications-01", right?
<Eric> Excellent catch.  Thanks!
2.       In "section 1.  Introduction" there have two repeated item "o  Ability to subscribe to event notifications using two mechanisms: dynamic and configuration subscriptions."
<Eric> This text is from the document "draft-ietf-netconf-netconf-event-notifications" which is not ready for review at this time.
Eric

Thanks & Regards
Walker (Guangying zheng)

[X]