Re: [yang-doctors] Small modules discussion from LSR [Fwd: [Lsr] When to augment LSR base YANG modules...]

"Rob Wilton (rwilton)" <rwilton@cisco.com> Tue, 02 April 2019 11:16 UTC

Return-Path: <rwilton@cisco.com>
X-Original-To: yang-doctors@ietfa.amsl.com
Delivered-To: yang-doctors@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 25681120112 for <yang-doctors@ietfa.amsl.com>; Tue, 2 Apr 2019 04:16:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.501
X-Spam-Level:
X-Spam-Status: No, score=-14.501 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, 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 AlA1c52fKfsu for <yang-doctors@ietfa.amsl.com>; Tue, 2 Apr 2019 04:16:35 -0700 (PDT)
Received: from alln-iport-3.cisco.com (alln-iport-3.cisco.com [173.37.142.90]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 516971200DE for <yang-doctors@ietf.org>; Tue, 2 Apr 2019 04:16:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=19752; q=dns/txt; s=iport; t=1554203795; x=1555413395; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=5RHtvwK3N3vEyDCzyCHaom/YUIFn2r44l8uQ7QSf7S8=; b=G2v9wXDAuk/FjaRt02G3gvPw0x8JmcQjIFkngWK27/0ndVQJroAC5NFT qs+M8rks43nm6Hc6UQLQyFh+jgpR9873nknbNk94HpyU+L9kbeDuXwfB1 rGNqDzcv/F4RIri26S3PypmMLu4JxkhGD6rtvfJNLv8juKyx9iyAG9eYa s=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0ADAAACRKNc/4sNJK1lGQEBAQEBAQEBAQEBAQcBAQEBAQGBUQQBAQEBAQsBgWYqaIEDJwqEBIgcjTl+l0GBew4BARgLhEkCF4UlIjQJDQEBAwEBCQEDAm0cDIVKAQEBAQIBAQEhETgCCAMMBAIBCA4DAwEBAQECAh8EAwICAiULFAEICAIEDgUIF4MEgW0ID6w3gQGBL4RFQYUzBYELJAGLMheBQD+BEAGCFEk1PoJhAQEDAYIDgmSCNSIDiihVggSXcGAJAodxi2wigTxHiWWITIxehH6NQgIRFYEuHziBVnAVO4JsghYXE20BCYYHgU6FP0Exj0CBHwEB
X-IronPort-AV: E=Sophos;i="5.60,300,1549929600"; d="scan'208";a="256392602"
Received: from alln-core-6.cisco.com ([173.36.13.139]) by alln-iport-3.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 02 Apr 2019 11:16:33 +0000
Received: from XCH-ALN-010.cisco.com (xch-aln-010.cisco.com [173.36.7.20]) by alln-core-6.cisco.com (8.15.2/8.15.2) with ESMTPS id x32BGXRN012912 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 2 Apr 2019 11:16:33 GMT
Received: from xch-rcd-007.cisco.com (173.37.102.17) by XCH-ALN-010.cisco.com (173.36.7.20) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Tue, 2 Apr 2019 06:16:32 -0500
Received: from xch-rcd-007.cisco.com ([173.37.102.17]) by XCH-RCD-007.cisco.com ([173.37.102.17]) with mapi id 15.00.1473.003; Tue, 2 Apr 2019 06:16:32 -0500
From: "Rob Wilton (rwilton)" <rwilton@cisco.com>
To: Christian Hopps <chopps@chopps.org>
CC: YANG Doctors <yang-doctors@ietf.org>, Yingzhen Qu <yingzhen.qu@huawei.com>
Thread-Topic: [yang-doctors] Small modules discussion from LSR [Fwd: [Lsr] When to augment LSR base YANG modules...]
Thread-Index: AQHU6IgFXS0x43TD+0KJTYhFZUbFPKYooAdwgABhJgD//7YncA==
Date: Tue, 02 Apr 2019 11:16:32 +0000
Message-ID: <2ef8571460974757ae611cf3c2cd834f@XCH-RCD-007.cisco.com>
References: <9FACB29E-7E8C-4FDB-B45F-9002AC891113@cisco.com> <FD6BB1BD-E1DE-4117-BC0E-F3A3847DA26B@chopps.org> <c691b0e1a8c64b1c8a31070f0d600fc8@XCH-RCD-007.cisco.com> <6974CC7A-9CC2-4621-A0C5-FBF2C3E34E4A@chopps.org>
In-Reply-To: <6974CC7A-9CC2-4621-A0C5-FBF2C3E34E4A@chopps.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.63.23.177]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Outbound-SMTP-Client: 173.36.7.20, xch-aln-010.cisco.com
X-Outbound-Node: alln-core-6.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/yang-doctors/950NIQRyLrGeLC3MJOmJy2z4_UU>
Subject: Re: [yang-doctors] Small modules discussion from LSR [Fwd: [Lsr] When to augment LSR base YANG modules...]
X-BeenThere: yang-doctors@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Email list of the yang-doctors directorate <yang-doctors.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/yang-doctors>, <mailto:yang-doctors-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/yang-doctors/>
List-Post: <mailto:yang-doctors@ietf.org>
List-Help: <mailto:yang-doctors-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/yang-doctors>, <mailto:yang-doctors-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 02 Apr 2019 11:16:39 -0000


> -----Original Message-----
> From: Christian Hopps <chopps@chopps.org>
> Sent: 02 April 2019 11:31
> To: Rob Wilton (rwilton) <rwilton@cisco.com>
> Cc: Christian Hopps <chopps@chopps.org>; YANG Doctors <yang-
> doctors@ietf.org>; Yingzhen Qu <yingzhen.qu@huawei.com>
> Subject: Re: [yang-doctors] Small modules discussion from LSR [Fwd: [Lsr]
> When to augment LSR base YANG modules...]
> 
> 
> > On Apr 2, 2019, at 5:52 AM, Rob Wilton (rwilton) <rwilton@cisco.com>
> wrote:
> >
> > Hi Chris,
> >
> > I don’t think that there is a one size fits all answer here.
> >
> > If the enhancement is small, and is likely to be reasonably widely used then
> my view is that adding it as an optional feature to the base module is a better
> choice in the long term.
> >
> > If the feature is larger, or esoteric, and perhaps won’t be widely deployed
> then I would think that putting it into a separate module might be a better
> choice.
> >
> > I actually think that it is the IETF process that is perhaps the difficult thing
> here.  I.e. I think that you want to republish a new revision of the base
> module, but in a way that gets processed more quickly by the IESG.  E.g.
> request that they only review/comment on the diffs between the current
> revision and the previous one.  Or somehow publish an updated revision of
> the module on github without assigning it a new RFC number every time.
> 
> Yes, although I'm trying to do a couple things:
> 
> - Get YANG management support added at the same time as the
> functionality, not as an after thought maybe someday, maybe never.

I agree that this is definitely the right thing to do.


> - Reduce the cost of adding the YANG support. A stand-alone document is
> very expensive time and effort wise, separate IESG reviews, directorate
> reviews, last-calls.

I agree.  And rev'ing the base ISIS YANG model is likely to be just as expensive.


> 
> I had wondered if we could use errata on the base vs doing a brand new bis
> version of the base module; however, this seems to be trading too much
> process overhead with perhaps not quite enough.
> 
> To the first goal, I wrote that reverse metric module a couple days ago as an
> example. I have to wonder when or even if it would have gotten written (or
> the equivalent feature added) otherwise. Instead I suspect it would just get
> added into N vendors models as people move on to other things in the WG.
> 
> In a perfect world I would add a YANG section to my functionality RFC that
> updated (not augment) the base module, but with augment style definition
> (i.e., so the entire huge base module doesn't need to be re-represented in
> the document). This would then cause the base document to get reissued
> with the changes. Sort of like IANA sections are capable of updating a
> registry.

We almost want to just include a diff/patch to the base model into the document.  This is actually a little bit like how IEEE 802 update their documents, and then they periodically roll their updates into the base model.


> 
> So maybe your github idea is like this, we create a module definition registry
> where the most up-to-date module definitions go, and then RFCs can update
> that using something like (or exactly like) augment to document the changes
> to the module in the individual RFCs.

Yes.  We want the review to only focus on the stuff that is new/added rather than reviewing the whole module every time.

Martin's suggestion of using submodules is another way to achieve this.  E.g. the actual module definition is split over multiple RFCs, but I'm not that keen on submodules and I suspect that this will make them hard to read in future.

I think that the real answer here is that YANG modules should not be published in RFCs.  Yes, they should go through a similar formal review process for changes to the modules but without the overhead of reviewing every change as a new document.

Thanks,
Rob


> 
> Thanks,
> Chris.
> 
> >
> > Thanks,
> > Rob
> >
> >
> > From: yang-doctors <yang-doctors-bounces@ietf.org> On Behalf Of
> Christian Hopps
> > Sent: 01 April 2019 13:40
> > To: YANG Doctors <yang-doctors@ietf.org>
> > Cc: Yingzhen Qu <yingzhen.qu@huawei.com>
> > Subject: [yang-doctors] Small modules discussion from LSR [Fwd: [Lsr]
> When to augment LSR base YANG modules...]
> >
> > Hi YANG Doctors,
> >
> > So I started a thread on the LSR mailing list (included below) about
> including small modules to augment the base protocol modules inline with
> the small feature drafts that modify the protocol (typically adding TLVs and
> some config). We probably publish 1-4 of these per year. An opposing
> opinion was expressed that we should batch these features into meta-
> modules to avoid creating "too many" modules. I don't know what too many
> is, and I pointed out that to a client there's really no difference between N
> modules and 1 module with N optional features (they all show up as
> capabilities).
> >
> > So to quote Acee here:
> >
> >           "Let's have a discussion on YANG doctors list on the merits of a small
> module per feature vs an aggregate model with features."
> >
> > There are process issues that are outside the scope of YANG (e.g., will it
> cause too many authors on a document, delays caused by batching etc).. but
> we're curious if there are any reasons particular to YANG to do or avoid one
> or the other.
> >
> > Thanks,
> > Chris.
> >
> > Begin forwarded message:
> >
> > From: "Acee Lindem (acee)" <acee@cisco.com>
> > Subject: Re: [Lsr] When to augment LSR base YANG modules...
> > Date: March 31, 2019 at 5:09:32 PM EDT
> > To: Christian Hopps <chopps@chopps.org>, Yingzhen Qu
> <yingzhen.qu@huawei.com>
> > Cc: Susan Hares <shares@ndzh.com>, Rob Shakir <rjs@rob.sh>,
> "lsr@ietf.org" <lsr@ietf.org>, Tony Li <tony.li@tony.li>
> >
> > Hi Chris, Yingzhen,
> >
> > Let's have a discussion on YANG doctors list on the merits of a small
> module per feature vs an aggregate model with features.
> >
> > We can try this as an experiment. Perhaps, we can get a permanent
> dispensation to the 5 author rule if every draft needs someone YANG fluent
> and familiar with the base OSPF and ISIS models.
> >
> > Thanks,
> > Acee
> >
> > On 3/31/19, 3:41 PM, "Christian Hopps" <chopps@chopps.org> wrote:
> >
> >
> >
> >
> > On Mar 31, 2019, at 1:31 PM, Yingzhen Qu <yingzhen.qu@huawei.com>
> wrote:
> >
> > There are many small feature drafts in LSR, for example:
> https://datatracker.ietf.org/doc/draft-ietf-ospf-ospfv2-hbit/  it only adds H-
> bit to router-lsa.
> >
> > For sure we want models to be modular, but not too many tiny pieces.
> Maybe we should combine a few small features like H-Bit into one module?
> >
> >    But why?
> >
> >    Delaying the publication of the management definition until some (so far
> as I can tell) arbitrary number of features has been collected negatively
> impacts users. What do they gain in return?
> >
> >    Thanks,
> >    Chris.
> >
> >
> >
> > Thanks,
> > Yingzhen
> >
> > From: Lsr <lsr-bounces@ietf.org> on behalf of Susan Hares
> <shares@ndzh.com>
> > Date: Sunday, March 31, 2019 at 7:15 AM
> > To: 'Rob Shakir' <rjs@rob.sh>, "'Acee Lindem (acee)'" <acee@cisco.com>
> > Cc: "lsr@ietf.org" <lsr@ietf.org>, "tony.li@tony.li" <tony.li@tony.li>,
> 'Christian Hopps' <chopps@chopps.org>
> > Subject: Re: [Lsr] When to augment LSR base YANG modules...
> >
> > Rob and Acee:
> >
> > I agree that with Rob that it is a generic problem that you must have a
> robust way to version and revise the Yang models.   This is true for
> configuration, operational data, and dynamic data stores.   The netmod
> modeling is focusing on configuration at this time.
> >
> > It is critical to determine how the base models yang models prepare for
> augmentations.  OSPF, ISIS, BGP, FIB/RIB, and policy are key models.   Since
> our protocols are augmented based on capabilities, augmentation based on
> the same capabilities for models makes the most sense.   We can review
> info/data, and code functionality based on the key senses.
> >
> > If we have good versioning of the base model, can revise both the data
> model and the capability independently.   If we utilize the grouping of data
> models based on the versioning, automatic deployment of this work can
> occur.
> >
> > Acee and Chris has been actively participating on the versioning discussion
> in netmod’s work on versioning.   I’m sure they can report if they feel the
> support his there for this type of version.
> >
> > BGP and rtgwg can integrate this type of version prior to the upcoming WG
> LC.
> >
> > Sue
> >
> >
> > From: Lsr [mailto:lsr-bounces@ietf.org] On Behalf Of Rob Shakir
> > Sent: Saturday, March 30, 2019 2:00 PM
> > To: Acee Lindem (acee)
> > Cc: lsr@ietf.org; tony.li@tony.li; Christian Hopps
> > Subject: Re: [Lsr] When to augment LSR base YANG modules...
> >
> > I think this is a generic challenge that has to be solved across all protocols --
> and relies on a robust way to version and revise YANG modules in the IETF.
> >
> > In OpenConfig, as we're very lightweight for pushing a new revision, since
> we're just specifying new versions of modules, adding new features to an
> existing module is pretty trivial. They can be done as a minor revision if
> there's no backwards incompatible changes.  It seems better, to me, to
> ensure that there is common logic for how one splits up modules, to make
> things actually usable for developers trying to consume them, rather than
> needing to understand when and where in the IETF a feature was developed.
> >
> > That being said -- this means one should probably expect each LSR base
> module to be revised with most new LSR RFCs. With the current agility of the
> review and publication process -- I'm not sure that is realistic either.
> >
> > r.
> >
> > On Sat, 30 Mar 2019 at 09:15, Acee Lindem (acee) <acee@cisco.com>
> wrote:
> > Speaking as WG member:
> >
> > For many of the new LSR WG documents, we are already included both
> OSPF and IS-IS encodings in a single document. Now, we have agreed that
> documents requiring simple BGP-LS changes will also include the BGP-LS
> encoding. Given this, I don't want to add another requirement for
> publication of a WG document. This would also add additional reviews to the
> document. You've all heard the expression "divide and conquer", while let
> me introduce the corollary, "consolidate and stagnate".
> >
> > Additionally, I agree with Yingzhen's comment that it is not clear that we
> want a separate YANG module for every OSPF/IS-IS feature.
> >
> > Thanks,
> > Acee
> >
> > On 3/29/19, 4:33 AM, "Lsr on behalf of tony.li@tony.li" <lsr-
> bounces@ietf.org on behalf of tony.li@tony.li> wrote:
> >
> >
> >    Chris,
> >
> >    One concern is simply one of scale: doing this will increase the size of the
> document.  At what point do things become sufficiently awkward that we
> want to have a separate, concurrent document.
> >
> >    In other words, if the requirement is for concurrent delivery, is co-
> location really a requirement?
> >
> >    Regards,
> >    Tony
> >
> >
> >
> > On Mar 29, 2019, at 9:17 AM, Christian Hopps <chopps@chopps.org>
> wrote:
> >
> >
> > The base YANG modules for IS-IS and OSPF both include operational state
> to describe TLV data. During the discussion about OSPFv3's version of this
> data, I brought up the issue of when and how the base modules should be
> augmented to add new TLV types to the model, suggesting it be done inline
> and with the RFC that adds the new feature/functionality to the protocol.
> >
> > I'll go farther here and say this should apply to all the YANG required for
> management of the new feature, and it should all be added inline with the
> feature (i.e., in the same draft). In other words new features/functionality
> should include the YANG augment required to manage said
> features/functionality.
> >
> > This has been suggested/tried previously with SNMP with varying (low)
> levels of success. The difference here is 1) YANG additions (a new module
> perhaps just augmenting the base) is easy, whereas SNMP wasn't.
> Additionally, operators weren't using SNMP to fully manage functionality
> (e.g., not doing configuration) so a requirement for extra work was harder to
> justify. Operators *do* want to fully manage their networks/servers with
> YANG though.
> >
> > The argument against this during the meeting was that it would create
> many small modules. I don't find this compelling (i.e., "so"? :)
> >
> > Assume I'm an operator -- the actual consumer of this management stuff:
> >
> > - If I'm going to use this new feature X, I need to be able to manage it. So I
> need it YANG for it. Not only do I need any new TLV data in the operational
> state, but I need the configuration and any other operational state right
> along with it. Otherwise each vendor has to add new YANG to their vendor
> modules, or the feature is useless to me. I can't use something if I can't turn
> it on.
> >
> > - I don't care about having many smaller modules that augment the base
> module -- at all. Quite the opposite actually, when new functionality is
> accompanied by it's own module it provides me a simple way to see if that
> functionality is present as the module will be present in the YANG capabilities
> announced by the device.
> >
> > I'd be interested in hearing reasons we (as a WG) shouldn't just expect a
> YANG module (even if it's small) to be included with drafts that add new
> functionality.
> >
> > Thanks,
> > Chris.
> > _______________________________________________
> > Lsr mailing list
> > Lsr@ietf.org
> > https://www.ietf.org/mailman/listinfo/lsr
> >
> >    _______________________________________________
> >    Lsr mailing list
> >    Lsr@ietf.org
> >    https://www.ietf.org/mailman/listinfo/lsr
> >
> >
> > _______________________________________________
> > Lsr mailing list
> > Lsr@ietf.org
> > https://www.ietf.org/mailman/listinfo/lsr
> > _______________________________________________
> > Lsr mailing list
> > Lsr@ietf.org
> > https://www.ietf.org/mailman/listinfo/lsr