Re: [Lsr] When to augment LSR base YANG modules...

Christian Hopps <chopps@chopps.org> Sun, 31 March 2019 06:33 UTC

Return-Path: <chopps@chopps.org>
X-Original-To: lsr@ietfa.amsl.com
Delivered-To: lsr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2DE161200B6 for <lsr@ietfa.amsl.com>; Sat, 30 Mar 2019 23:33:10 -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, RCVD_IN_DNSWL_NONE=-0.0001] 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 2UaGSKW6IRXs for <lsr@ietfa.amsl.com>; Sat, 30 Mar 2019 23:33:08 -0700 (PDT)
Received: from smtp.chopps.org (smtp.chopps.org [54.88.81.56]) by ietfa.amsl.com (Postfix) with ESMTP id 43EBA12006A for <lsr@ietf.org>; Sat, 30 Mar 2019 23:33:08 -0700 (PDT)
Received: from tops.chopps.org (047-050-069-038.biz.spectrum.com [47.50.69.38]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by smtp.chopps.org (Postfix) with ESMTPSA id 5929D604DC; Sun, 31 Mar 2019 02:33:07 -0400 (EDT)
References: <sa6wokiayd9.fsf@chopps.org> <2E6CA4AD-AD65-4A20-9545-1C81ED8B8968@tony.li> <B838962D-BDEA-46C9-9B9A-587484819784@cisco.com>
User-agent: mu4e 1.1.0; emacs 26.1
From: Christian Hopps <chopps@chopps.org>
To: "Acee Lindem (acee)" <acee@cisco.com>
Cc: "tony.li@tony.li" <tony.li@tony.li>, Christian Hopps <chopps@chopps.org>, "lsr@ietf.org" <lsr@ietf.org>
In-reply-to: <B838962D-BDEA-46C9-9B9A-587484819784@cisco.com>
Date: Sun, 31 Mar 2019 02:33:06 -0400
Message-ID: <sa65zrz8sf1.fsf@chopps.org>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha512"; protocol="application/pgp-signature"
Archived-At: <https://mailarchive.ietf.org/arch/msg/lsr/ABVubHq7eNxkUYyM7Vtsyi87KYg>
Subject: Re: [Lsr] When to augment LSR base YANG modules...
X-BeenThere: lsr@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Link State Routing Working Group <lsr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/lsr>, <mailto:lsr-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/lsr/>
List-Post: <mailto:lsr@ietf.org>
List-Help: <mailto:lsr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/lsr>, <mailto:lsr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 31 Mar 2019 06:33:10 -0000

Acee Lindem (acee) <acee@cisco.com> writes:

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

If I had to choose between being able to use a feature (management) and supporting BGP-LS inline, I guess I choose management. I don't think this needs to be a one-or-the-other choice though.

Please note that this isn't like SNMP, and it's not like creating a base-module that will require lots of revisions and text. Adding a YANG section shouldn't add huge swaths of text, rather a small auto-generated tree diagram (for quick perusal) and the small module definition that augments the base module should be all that's needed. The functionality is being defined in the same document so there's no need to repeat it for the management section.

YANG doctor reviews can happen in parallel with other reviews, and this has not been something that holds documents up in my experience at all. The overall document process *does* hold things up so having 2 documents instead of 1 actually creates more opportunity for (superfluous) delay.

I think it's worth trying this out to gain some experience and data; we don't have to create a requirement.

Indeed, I think that if the management of the new functionality is sufficiently complex that it requires it's own non-trivial amount of work to get right, I think it's reasonable to do this in a second parallel document too.

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

Why?

If you batch things together you then have to add a bunch of conditional "features" that the client has to check anyway. These features are reported through capability entries. IOW, they look just like small modules except now you have 2 entries instead of one (the parent module capability and the feature capability). There's no reduction in complexity by batching, it actually makes things more complex.

Thanks,
Chris.

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