Re: [netmod] Module tags

Christian Hopps <chopps@chopps.org> Sat, 11 February 2017 12:52 UTC

Return-Path: <chopps@chopps.org>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A11931293DC for <netmod@ietfa.amsl.com>; Sat, 11 Feb 2017 04:52:27 -0800 (PST)
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, RP_MATCHES_RCVD=-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 pYNxx5ZIU_bj for <netmod@ietfa.amsl.com>; Sat, 11 Feb 2017 04:52:26 -0800 (PST)
Received: from smtp.chopps.org (smtp.chopps.org [54.88.81.56]) by ietfa.amsl.com (Postfix) with ESMTP id 27610126579 for <netmod@ietf.org>; Sat, 11 Feb 2017 04:52:26 -0800 (PST)
Received: from utops.chopps.org (97-83-46-222.dhcp.trcy.mi.charter.com [97.83.46.222]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by smtp.chopps.org (Postfix) with ESMTPSA id 3E4E8623AD; Sat, 11 Feb 2017 12:52:25 +0000 (UTC)
References: <87shnogymx.fsf@chopps.org> <20170208.231709.2214078600549867460.mbj@tail-f.com> <CABCOCHQJ+ef4C=TAfH9NK47mWgO0XOy1gg-cggigWq7Fqdfkgw@mail.gmail.com>
User-agent: mu4e 0.9.18; emacs 25.1.1
From: Christian Hopps <chopps@chopps.org>
To: Andy Bierman <andy@yumaworks.com>
In-reply-to: <CABCOCHQJ+ef4C=TAfH9NK47mWgO0XOy1gg-cggigWq7Fqdfkgw@mail.gmail.com>
Date: Sat, 11 Feb 2017 07:52:23 -0500
Message-ID: <87d1eouby0.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/netmod/Mo0SUSRqygYArWV8JqPoRpvmk5s>
Cc: "netmod@ietf.org" <netmod@ietf.org>
Subject: Re: [netmod] Module tags
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 11 Feb 2017 12:52:27 -0000

Andy Bierman <andy@yumaworks.com> writes:
> On Wed, Feb 8, 2017 at 2:17 PM, Martin Bjorklund <mbj@tail-f.com> wrote:
>      I meant that instead of using the grouping in every module, you could
>      have a separate structure in your module:
>
>       container module-tags {
>        list module {
>         key "name revision";
>         leaf name { ... }
>         leaf revisoin { ...}
>         leaf-list tag { ... }
>        }
>       }
>
>      This way you will handle configuration of tags for all modules, and
>      they don't have to have a special uses statement.
>
>
> +1.
>
> I read the draft, and I agree with you that the single container solution
> is best. Looks like configuration data to me, and no need for any special
> case editing models.

We do get this with the yang library augmentation I believe. I hope
the yang library will be implemented by most servers. Do you think this
is not sufficient?

Again the in module list allows for single xpath selection of a given
node for all modules that have a certain tag set. I found this rather
elegant, so that's why I've argued to keep it. I want to make sure that
people have considered this before we abandon it.

I'm OK with removing the add/delete RPCs as they do seem redundant.

Is there a way to get the reset to default behavior? We do allow the
user to remove default set tags, so I think that's why Lou added that
RPC.

> Oddly, the draft relies on XPath filtering to retrieve modules with a certain tag.
> There is no <find-tags> operation.
> That is the 1 RPC operation that might be justified.
>
> e.g.:
>
>  rpc find-tags {
>   description "find all modules with the specified tag(s).";
>   input {
>    leaf-list tag { type string; }
>   }
>   output {
>    leaf-list module-name { type string; }
>   }
>  }

This does seem useful, we can add it.

Thanks,
Chris.