Re: [Netconf] two-week review of drafts related to notifications and subscriptions

"Eric Voit (evoit)" <evoit@cisco.com> Wed, 15 November 2017 21:53 UTC

Return-Path: <evoit@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BCBCD1286B1 for <netconf@ietfa.amsl.com>; Wed, 15 Nov 2017 13:53:51 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.52
X-Spam-Level:
X-Spam-Status: No, score=-14.52 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, URIBL_BLOCKED=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 WGKHXcqNd_qh for <netconf@ietfa.amsl.com>; Wed, 15 Nov 2017 13:53:48 -0800 (PST)
Received: from rcdn-iport-3.cisco.com (rcdn-iport-3.cisco.com [173.37.86.74]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 42D91127BA3 for <netconf@ietf.org>; Wed, 15 Nov 2017 13:53:35 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=13487; q=dns/txt; s=iport; t=1510782815; x=1511992415; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=5H8MaC/c2HkT3n2LmC4fofOQ3dox0lzReGj9WH2C02g=; b=bomRDDI1O8lc2Z179z688AyzH9dX8yyoivrCH91wYn1vS+m7qSqabXhU InWIGX6R6LsmyukfUByKn8yjFXReCE57wi6J9kpo4zraNidtAK8g3iMl8 nmIjd1XbI04ncyh2cRmLBTDVs+pvkmhuBFMnfkSfmK47ugsjcGOW5tZsn I=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0CcAQANtwxa/4YNJK1UChkBAQEBAQEBAQEBAQEHAQEBAQGDNmRuJwedBTKBfZZdEIIBChgLhElPAoUOQRYBAQEBAQEBAQFrKIUeAQEBBAEBODQEBQIMBAIBCBEEAQEBDREJBycLFAkIAgQBDQUIihwQrBGLDwEBAQEBAQEBAQEBAQEBAQEBAQEBARgFgzSCB4FVgWmCHYENglFzgSkThhAFijQXiReOVQKHa4NpiSeCHooOhyGKM4I8iRICERkBgTgBJg0kgXR6FUmCZIJcHBmBTneKCYERAQEB
X-IronPort-AV: E=Sophos;i="5.44,401,1505779200"; d="scan'208";a="310701081"
Received: from alln-core-12.cisco.com ([173.36.13.134]) by rcdn-iport-3.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 15 Nov 2017 21:53:33 +0000
Received: from XCH-RTP-011.cisco.com (xch-rtp-011.cisco.com [64.101.220.151]) by alln-core-12.cisco.com (8.14.5/8.14.5) with ESMTP id vAFLrXOA004304 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Wed, 15 Nov 2017 21:53:33 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-011.cisco.com (64.101.220.151) with Microsoft SMTP Server (TLS) id 15.0.1320.4; Wed, 15 Nov 2017 16:53:32 -0500
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.1320.000; Wed, 15 Nov 2017 16:53:32 -0500
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: "kwatsen@juniper.net" <kwatsen@juniper.net>, "Mahesh Jethanandani (mahesh)" <mahesh@cisco.com>
CC: "alexander.clemm@huawei.com" <alexander.clemm@huawei.com>, "netconf@ietf.org" <netconf@ietf.org>, Martin Bjorklund <mbj@tail-f.com>
Thread-Topic: [Netconf] two-week review of drafts related to notifications and subscriptions
Thread-Index: AQHTSH5n2+KEwzxeaUmOUUOjdzqfBKLrmFPQgAClhQD//9LP4IAFmdcA///CDQCAA2UI0IAhhBaA///PwQA=
Date: Wed, 15 Nov 2017 21:53:32 +0000
Message-ID: <2aa5238c339447fba8a4bde3df66bf51@XCH-RTP-013.cisco.com>
References: <20171023.144114.150465814300377965.mbj@tail-f.com> <48f0655352a6473fb816f54f23ac2931@XCH-RTP-013.cisco.com> <2acc74b116ec42cfa19762e5977877f2@XCH-RTP-013.cisco.com> <20171115.203913.2068438246599432509.mbj@tail-f.com>
In-Reply-To: <20171115.203913.2068438246599432509.mbj@tail-f.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.68.216.199]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/HB9KDaEyDfLUH8xkhKuMh0maVQY>
Subject: Re: [Netconf] two-week review of drafts related to notifications and subscriptions
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 15 Nov 2017 21:53:52 -0000

Kent,
Mahesh,

You also thought it might be good to partition the trees.   Are you also ok with the proposal below, and the identified downsides of such a partitioning of the tree within subscribed-notifications?    Specifically the implications of making it harder to find and compare augmentation points from yang-push?

Eric

> -----Original Message-----
> From: Martin Bjorklund [mailto:mbj@tail-f.com]
> Sent: Wednesday, November 15, 2017 2:39 PM
> To: Eric Voit (evoit) <evoit@cisco.com>
> Cc: kwatsen@juniper.net; alexander.clemm@huawei.com; netconf@ietf.org
> Subject: Re: [Netconf] two-week review of drafts related to notifications and
> subscriptions
> 
> "Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > Hi Martin,
> > Hi Kent,
> >
> > Ensuring comments are covered.  I do ask a question on potential model
> > partitioning across the document in the first set of comments..,
> >
> > > From: Martin Bjorklund, October 23, 2017 8:41 AM
> > >
> > > Hi,
> > >
> > > Some comments inline.
> > >
> > > "Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > > > Hi Kent,
> > > >
> > > > > From: Kent Watsen, October 19, 2017 9:51 PM
> > > > >
> > > > > >> draft-ietf-netconf-subscribed-notifications-05
> > > > > >> ------------------------------------------------------
> > > > >
> > > > > >> very complicated (many details).
> > > > > >
> > > > > > If there anything you see as unnecessary, or perhaps should be
> > > > > > optional?
> > > > >
> > > > > The tree diagram is huge.  I understand that much of it is from
> > > > > grouping expansion, but still, there is a lot to consider (many
> > > > > details).  I'm just thinking that this is going to take time for
> > > > > folks to digest fully.
> > > >
> > > > We really made an attempt to simplify the tree by using a
> > > > filter-type object instead of the explicit subtyping.  But
> > > > experienced and capable reviewers argued that explicit subtyping
> > > > was better.  The result is that we returned to the larger
> > > > explicitly subtyping a couple weeks ago.  Overall, this added 25%
> > > > to the tree diagram size :-(.
> > >
> > > I don't think a big tree in itself necessarily means that the data
> > > model is bad.
> > > However, for readability purposes, you may want to split the big
> > > tree into smaller pieces.  See for example RFC 7404.
> >
> > I think you mean RFC 7407?
> 
> Yes.
> 
> > We can do this.  Before I make the change, I want to confirm that it
> > should be only done for individual RPCs and Notifications, and top
> > level containers in the data trees (e.g. streams and filters top level
> > container).
> 
> I think that would be sufficient.
> 
> > I would also like to confirm that you are ok with all the downsides
> > (1)-(4) listed below.
> >
> > (1) To what section of subscribed-notifications do you look to when
> > you are doing an augmentation in yang-push?  Having one tree to go to
> > in one full tree is easier than finding info across split trees.
> > I.e., a single tree is pretty useful for outside referencing on
> > augmentations.
> 
> The purpose of the tree is to get an overview of the basic structure of the
> model.  It is not the normative reference that you need to fully understand
> everything - that would be the module itself.
> 
> > (2) YANG Push does not have section partitions for existing
> > subscribed-notification RPCs and Notifications.  Therefore we couldn't
> > do the exact same segmentation of the tree structures across the two
> > documents.  (I.e. it won't be a 1:1 comparison when looking between
> > the drafts.)
> 
> I haven't yet reviewed YANG Push, but I don't think this will be an issue.
> 
> > (3) Segmentation lower that any top level container is not
> > recommended.
> 
> By whom?
> 
> > This is because augmentations occur at different levels of the tree.
> > Any other approach would mean tree information replicated in different
> > tree diagrams.
> 
> I don't think that's a problem.
> 
> > (4)  It will increase the size of an already big document.
> 
> Probably not by much, and if it helps people to better understand this
> model, I think it is worth it.
> 
> 
> /martin
> 
> 
> > Based on this, I still think a single model is better.  But I am happy
> > to make the change if consensus is otherwise.
> >
> > > > > >>         flow difficult to read.
> > > > > >
> > > > > > Anything specific?  I am happy to re-order as suggested.
> > > > >
> > > > > Also, I'm suspecting that the update from Martin's comments will
> > > > > get much of this.  It just seemed that every time tried to chase
> > > > > some bit of information down, it wasn't stated quite right
> > > > > (e.g., terminology, phasing, open-endedness, etc.).  All this
> > > > > got in the way of the readability.
> > > >
> > > > Hopefully I got the ones which don't resonate.  My natural
> > > > ecosystem is deeper in the router, and YANG means I need to use
> different terms.
> > > >
> > > > > >> * what is "promise theory based interaction model"?
> > > > > >> (reference?)
> > > > > > Yes, I will add the reference.  The best on-line one I know is:
> > > > > >
> > > > > > https://urldefense.proofpoint.com/v2/url?u=http-
> 3A__markburgess.
> > > > > > or
> > > > > > g_Pr
> > > > > >
> omiseMethod.pdf&d=DwIGaQ&c=HAkYuh63rsuhr6Scbfh0UjBXeMK-
> > > > > ndb3voDTXcWzoCI
> > > > > >
> > > > >
> > >
> &r=9zkP0xnJUvZGJ9EPoOH7Yhqn2gsBYaGTvjISlaJdcZo&m=zDualRWvSwyZj
> 8MF
> > > > > PL_Xo
> > > > > >
> > > > >
> > >
> pkywEp9xEJgZXjyhdIBPog&s=Dcx9OsC_ayHR7hbMowWHrtulPtXz20vSvnV2
> xpE
> > > > > Oc0o&e
> > > > > > =
> > > > >
> > > > > Oh my, that document is 38 pages, I was hoping for simple
> > > > > statement (e.g., the system takes defensive measures in order to
> > > > > ensure resources are available).  I think you have something
> > > > > like this in the yang-push draft.
> > > >
> > > > I can add a simple statement.  Something like "voluntary
> > > > cooperation between individual, autonomous agents who
> continuously
> > > > refine their changing intentions to one another in the form of
> promises".
> > >
> > > Does this really help people to understand this document?
> >
> > I didn't such a statement helped either, so all references in
> > subscribed-notifications have been removed.  As this is important in
> > yang-push, I tweaked the reference section 3.4 with the kind of info I
> > think Kent wanted in his simple statement.
> >
> > > > > >> * what is the relationship between streams here and in 5277?
> > > > > >
> > > > > > This document doesn't discuss the details of how streams are
> > > > > > generated within the publisher like 5277 does.  This detail is
> > > > > > not necessary for the external interface definition.
> > > > > >
> > > > > > That said, how to handle/encode names of the streams, the
> > > > > > managed objects, the ability to filter, etc. are identical.
> > > > >
> > > > > This document should explain the relationship though, right?
> > > > > (see
> > > > > above)
> > > >
> > > > Is this necessary in the normative part of the document?  When the
> > > > notification-messages draft is complete, it will be possible to
> > > > obsolete RFC-5277 at some later date.  How many linkages are
> > > > appropriate?
> > > >
> > > > What I did do in the new version (per Martin's request) is to
> > > > place in Appendix A: Relationship to RFC-5277.  What I believe we
> > > > should do is place statements identifying the re-used stream
> constructs.
> > > > Would that work?
> > >
> > > I think such a section is needed, and I think it shouldn't be an
> > > Appendix, but rather one of the first sections.  This is quite
> > > common in RFCs that updates/obsoletes older RFCs.
> >
> > Done.  See Section 1.4.  Relationship to RFC-5277
> >
> > > > > >> * streams here are identities, unlike "streamNameType"
> > > > > >> (aka xs:string) in 5077.  Is this an issue?
> > > > > >
> > > > > > Based on Martin's comments that he desires to retain the
> > > > > > ability for streams to be spun up possibly during run-time, we
> > > > > > have returned to using string for streams (as we did in earlier
> > > > > > versions of the draft).   Our switch to identities several
> > > > > > months ago was one attempt we made to simplify things, but
> > > > > > it didn't work out.    This is an issue and a resolution we
> > > > > > have long been anticipating.
> > > > >
> > > > > okay
> > > > >
> > > > >
> > > > > >> * use of "<edit-config> operations" for configured
> > > > > >> subscriptions is confusing.
> > > > > >
> > > > > > It is just a normal configuration.  I will happily delete the
> > > > > > example if you think it unnecessary or redundant.
> > > > >
> > > > > No, the examples are good.  It's literally the words
> > > > > "<edit-config> operations"
> > > > > are problematic.  Use some other phrasing that is not
> > > > > NETCONF-specific.
> > > >
> > > > I will just use 'configuration operations'
> > > >
> > > > > >> * the example in s5.1 seems to be more about how to create a
> > > > > >> configured subscription than establishing a subscription
> > > > > >> connection
> > > > > >
> > > > > > Exactly.  How to establish the subscription connection is
> > > > > > transport specific, and therefore in the netconf-notif draft.
> > > > > > Specifically in Section 3.4.3
> > > > >
> > > > > But the section is called "Establishing a Configured Subscription".
> > > > > I think this actually goes to your use of the word "establish",
> > > > > perhaps "create" is a better word - "Creating a Configured
> > > > > Subscription" ?
> > > >
> > > > Will do.  No reason to reuse the establish if it confuses people.
> > > >
> > > > > >> * Section 7 says "This notification message MAY be encoded as
> > > > > >> one-way notification element of [RFC5277], Section 4."  If
> > > > > >> this is a MAY, how does the client know what it received?
> > > > > >> And how does the publisher know what format to send?
> > > > > >
> > > > > > I was trying to lay the groundwork for a future support of
> > > > > > notification-messages in a way that this document wouldn't
> > > > > > have to be updated.  I have given up on that.  Support is now a
> MUST.
> > > > > > And this will need to be revised in the future when we get
> > > > > > notification-messages to an RFC state.
> > > > >
> > > > > okay
> > > > >
> > > > >
> > > > > >> * xpath-filter is not a feature-based option?
> > > > > >
> > > > > > Not feature based.  Of course if the syntax is not supported
> > > > > > on a filter, the subscription will be rejected with the error
> > > > > > "filter-type-unsupported ".
> > > > > >
> > > > > > At this point, I don't recall anyone suggesting xpath should
> > > > > > not be a mandatory for event filtering though.
> > > > >
> > > > > well, it's not mandatory for NETCONF-based filtering.  So, a
> > > > > system that doesn't support XPath filtering in NETCONF would
> > > > > have to support XPath filtering here?
> > > >
> > > > Hmm.  I had been hoping to have at least one (xpath) as mandatory.
> > > > But maybe that is unrealistic.
> > > >
> > > > What I am thinking is that maybe both filters should be optional
> > > > features.  And then specific transport drafts (like NETCONF) can
> > > > identify them as mandatory. At least when that transport is used.
> > > >
> > > > > >> * I see top-level /subscription-config and /subscriptions -
> > > > > >> is this NMDA compliant?
> > > > > >
> > > > > > As this pre-dates NMDA, we are awaiting the "you MUST make the
> > > > > > conversion" directive.  And if this comes, we will gladly do that.
> > > > >
> > > > >
> https://mailarchive.ietf.org/arch/msg/netmod/rqrXUqs8YMIfcrKZnSI
> > > > > oH
> > > > > 4g
> > > > > A-8M
> > > > > https://tools.ietf.org/html/draft-ietf-netmod-rfc6087bis-14#sect
> > > > > io
> > > > > n-
> > > > > 4.23.3
> > > >
> > > > Yep.  We do fall in the SHOULD category :-)
> > > >
> > > > But seriously, we can convert.
> > >
> > > Before doing anything, make sure the "subscription-id" issue is
> > > resolved first.  If Rob's proposal is adopted, we will still need
> > > two lists, one config and one operational, even in the
> > > NMDA-compliant version.  Some changes might be needed in the
> naming
> > > of top-level containers though.
> >
> > Based on the comments received on the subscription-id datatype.  Rough
> > consensus is integer.  We will covert to NMDA after all other issues
> > are closed in set of drafts going to WGLC.
> >
> > Eric
> >
> > > > The question is how to do this without losing our place in the
> > > > review queue.  We had expected to be through WGLC *long* before
> > > > NMDA was formalized.  And we are very concerned this policy change
> > > > could result in further delay.  So the current plan we have is to
> > > > get agreement on the contents of the model.  And then agreement
> > > > that we have converted what is an acceptable model into an
> > > > equivalent NMDA version.
> > >
> > >
> > > /martin
> >
> > _______________________________________________
> > Netconf mailing list
> > Netconf@ietf.org
> > https://www.ietf.org/mailman/listinfo/netconf
> >