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

"Eric Voit (evoit)" <evoit@cisco.com> Tue, 02 May 2017 16:54 UTC

Return-Path: <evoit@cisco.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 7CABE12EB11; Tue, 2 May 2017 09:54:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.522
X-Spam-Level:
X-Spam-Status: No, score=-14.522 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
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 ksVnU1rSpw5n; Tue, 2 May 2017 09:54:28 -0700 (PDT)
Received: from rcdn-iport-4.cisco.com (rcdn-iport-4.cisco.com [173.37.86.75]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1551212EC99; Tue, 2 May 2017 09:51:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=30325; q=dns/txt; s=iport; t=1493743918; x=1494953518; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=BeZ1r/4C6YaYxWMnpAGXV1FdpUP5enDs+PMcn/PaG/Q=; b=X1tZROTTnJF376uXKXV6zPuOeoToMtzwu7lIJxHKkJr+cjUL3UzEgx9O G+ifo4YgJbJsE1xvJKsxoPYe9R4CITABhKIWF5UN60clzMsGlwzMtNSBn V5q2Rrqu1y55PcFVdEPhA5A/GrFZF/YGcX1vV2AVw3yP9F+clqAwgMK/6 U=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0DNAAA7uAhZ/5ldJa1dGQEBAQEBAQEBAQEBBwEBAQEBgm5nYoETjXmRTZVtgg+GJAKESz8YAQIBAQEBAQEBayiFFQEBAQEDLUoCEAIBCBUPARMBAgsyJQEBBAENDYoWsiWLGwEBAQEBAQEBAQEBAQEBAQEBAQEBAR2GX4R5hGoHKoUtBZASjUIBikyIO4ILhTeKJYFthwqLOQEfOIEKbxVEhSaBSodCByKBB4ENAQEB
X-IronPort-AV: E=Sophos;i="5.38,280,1491264000"; d="scan'208,217";a="240359993"
Received: from rcdn-core-2.cisco.com ([173.37.93.153]) by rcdn-iport-4.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 02 May 2017 16:51:56 +0000
Received: from XCH-RTP-001.cisco.com (xch-rtp-001.cisco.com [64.101.220.141]) by rcdn-core-2.cisco.com (8.14.5/8.14.5) with ESMTP id v42GptxE031318 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 2 May 2017 16:51:56 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-001.cisco.com (64.101.220.141) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Tue, 2 May 2017 12:51:55 -0400
Received: from xch-rtp-013.cisco.com ([64.101.220.153]) by XCH-RTP-013.cisco.com ([64.101.220.153]) with mapi id 15.00.1210.000; Tue, 2 May 2017 12:51:55 -0400
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: "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>, 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>
Thread-Topic: hi Alex, Eric and design team guys some comments for YANG-push and subscribed-notifications, please help to confirm
Thread-Index: AdLDR3hOn9XaWmkfSOG01TBPVl+DnAAAtJVQ
Date: Tue, 02 May 2017 16:51:55 +0000
Message-ID: <dfc3d6aa4d5546e19955032cb3707fda@XCH-RTP-013.cisco.com>
References: <381D7D55085B1E4D8B581BD652E1E140B2A8756B@nkgeml513-mbs.china.huawei.com>
In-Reply-To: <381D7D55085B1E4D8B581BD652E1E140B2A8756B@nkgeml513-mbs.china.huawei.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.118.56.228]
Content-Type: multipart/alternative; boundary="_000_dfc3d6aa4d5546e19955032cb3707fdaXCHRTP013ciscocom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/w6cEo_bvDa_pSv9wXUu92h90FVY>
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: Tue, 02 May 2017 16:54:31 -0000

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.
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.

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]