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

Mahesh Jethanandani <mjethanandani@gmail.com> Thu, 16 November 2017 05:01 UTC

Return-Path: <mjethanandani@gmail.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 35B7F1294DC for <netconf@ietfa.amsl.com>; Wed, 15 Nov 2017 21:01:26 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 a6fUV-TgyYh9 for <netconf@ietfa.amsl.com>; Wed, 15 Nov 2017 21:01:22 -0800 (PST)
Received: from mail-pf0-x232.google.com (mail-pf0-x232.google.com [IPv6:2607:f8b0:400e:c00::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BF8521294C4 for <netconf@ietf.org>; Wed, 15 Nov 2017 21:01:22 -0800 (PST)
Received: by mail-pf0-x232.google.com with SMTP id q4so10635627pfg.13 for <netconf@ietf.org>; Wed, 15 Nov 2017 21:01:22 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=7RAYs60LofjeEPVo9sm0ZmvlPP+ncSxEcuHVyh+8qYw=; b=K16Bnm8VXUGnF5/Rr3ftTcWGBmMVr/4u5rYQVLls5JKyxgbOerjg4jqOQcCb0z1J/f 20YgAdCIb72nPUX4d53cCtykxGam10HeaxVzJVTt6XArl8INP0Hro0a7yaaEBr9PlqBw hpUwLQkuJtUtZ2YYB986yIvSUVx1zvKqoBFIbPAKf+2ZSAVWryoUZLOYnR83OS9V8rB5 NbX79MH6YuLKShZpsY7zAWiMxYEG8+KY3aMFMw3PJAWZ+wHH5JxfboSq08HQUwLyVSvA X48dDN9Js9oB6/5di2Xha8hpfvcjjOxWlWLCi0Gvn1GA8RrKcdUpefF8Ho07QPm/HX6I 7XhA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=7RAYs60LofjeEPVo9sm0ZmvlPP+ncSxEcuHVyh+8qYw=; b=I2azUQRnDYhrPsOQAUanN1Ps29/ibZvQ61mEklqmQiMAVhk2T1FgqyX4BybzJaB+tI zutah7E9/pCYdmn3kDxg3eHFA5qXhYaVz2qrFBuO0kLmaO/RJMTRM0GfHuzBZjG6ttHo E9ZtyBpbhIsZSJEFR0fqn5w7jyIfHqtSRzU6/dKTeuv8zLNQAPvGv2GPcnFziE+K1eso hL8G/UfMP4IVtXP0jPz9mRDcrwMtxEqr8ghfTJVBa0ALfxgoPcdPp1rDUCE/cWE5UgWb WCmqXpbGTrDAUIFjeaW0Fnw6suyxuv69PiVTSWd9PbG4FqdmKAFDrN7J/gPNI3SRdIp7 Plzw==
X-Gm-Message-State: AJaThX5BbTd75A9sMdUOQLUUQ/jBh64LV4eUgi40dF9jRB9FMbnHamaQ TnwaNjPC97LSjx2unSuTN3Xvm7U5
X-Google-Smtp-Source: AGs4zMb6rO+mgg7Xy2730T5jdPlNAeVjmNgBjJyFrrZFDSw7IHUca9tbq4K+yZ2CQhQmhtw/1dd7GA==
X-Received: by 10.98.242.66 with SMTP id y2mr525497pfl.150.1510808482231; Wed, 15 Nov 2017 21:01:22 -0800 (PST)
Received: from dhcp-927c.meeting.ietf.org (dhcp-927c.meeting.ietf.org. [31.133.146.124]) by smtp.gmail.com with ESMTPSA id h70sm539444pfc.88.2017.11.15.21.01.20 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 15 Nov 2017 21:01:21 -0800 (PST)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
From: Mahesh Jethanandani <mjethanandani@gmail.com>
In-Reply-To: <2aa5238c339447fba8a4bde3df66bf51@XCH-RTP-013.cisco.com>
Date: Thu, 16 Nov 2017 13:01:18 +0800
Cc: "kwatsen@juniper.net" <kwatsen@juniper.net>, "netconf@ietf.org" <netconf@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <3FE7129C-9622-460A-9875-0736F476C16D@gmail.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> <2aa5238c339447fba8a4bde3df66bf51@XCH-RTP-013.cisco.com>
To: "Eric Voit (evoit)" <evoit@cisco.com>
X-Mailer: Apple Mail (2.3124)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/kjHq59w41WkOvWxdWGjDaqig9Yc>
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: Thu, 16 Nov 2017 05:01:26 -0000

Eric,

I would agree with Martin. I find the tree a useful way to understand the model, but not when it is multiple pages long. The idea of breaking it up into smaller parts of the tree, and those individual parts explained, is helpful. If someone wants to do the comparison, they can generate the complete tree themselves.

Cheers.

> On Nov 16, 2017, at 5:53 AM, Eric Voit (evoit) <evoit@cisco.com> wrote:
> 
> 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
>>> 
> 
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf



Mahesh Jethanandani
mjethanandani@gmail.com