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

Martin Bjorklund <mbj@tail-f.com> Tue, 02 April 2019 11:29 UTC

Return-Path: <mbj@tail-f.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 6DEEE120187 for <yang-doctors@ietfa.amsl.com>; Tue, 2 Apr 2019 04:29:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001, URIBL_BLOCKED=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 SMiryqOh_W5z for <yang-doctors@ietfa.amsl.com>; Tue, 2 Apr 2019 04:29:05 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 9284B1200ED for <yang-doctors@ietf.org>; Tue, 2 Apr 2019 04:29:05 -0700 (PDT)
Received: from localhost (unknown [173.38.220.61]) by mail.tail-f.com (Postfix) with ESMTPSA id EC59D1AE0312; Tue, 2 Apr 2019 13:29:02 +0200 (CEST)
Date: Tue, 02 Apr 2019 13:29:04 +0200
Message-Id: <20190402.132904.1980573421805066732.mbj@tail-f.com>
To: rwilton@cisco.com
Cc: chopps@chopps.org, yang-doctors@ietf.org, yingzhen.qu@huawei.com
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <2ef8571460974757ae611cf3c2cd834f@XCH-RCD-007.cisco.com>
References: <c691b0e1a8c64b1c8a31070f0d600fc8@XCH-RCD-007.cisco.com> <6974CC7A-9CC2-4621-A0C5-FBF2C3E34E4A@chopps.org> <2ef8571460974757ae611cf3c2cd834f@XCH-RCD-007.cisco.com>
X-Mailer: Mew version 6.7 on Emacs 25.2 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="utf-8"
Content-Transfer-Encoding: base64
Archived-At: <https://mailarchive.ietf.org/arch/msg/yang-doctors/M9rF4fNDMO1Fv2hrQ8GZde1o0c8>
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:29:08 -0000

"Rob Wilton (rwilton)" <rwilton@cisco.com> wrote:
> 
> 
> > -----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.

My suggestion was not to rev the base model, but have _one_ model with
these "optional features", and rev that every time.

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

Note that we can "gc" the submodules and fold their contents into the
main module, or perhaps a "top" submodule, when you have N submodules.


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

Right.  This is longer term though, since it requires a process
update!


/martin