Re: [netmod] Module tags

Martin Bjorklund <mbj@tail-f.com> Wed, 08 February 2017 22:17 UTC

Return-Path: <mbj@tail-f.com>
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 BD6FE129EAE for <netmod@ietfa.amsl.com>; Wed, 8 Feb 2017 14:17:12 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level:
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, SPF_PASS=-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 PKdnD6IXhaKv for <netmod@ietfa.amsl.com>; Wed, 8 Feb 2017 14:17:11 -0800 (PST)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 27F0212955E for <netmod@ietf.org>; Wed, 8 Feb 2017 14:17:11 -0800 (PST)
Received: from localhost (h-148-188.a165.priv.bahnhof.se [176.10.148.188]) by mail.tail-f.com (Postfix) with ESMTPSA id 50A311AE0476; Wed, 8 Feb 2017 23:17:09 +0100 (CET)
Date: Wed, 08 Feb 2017 23:17:09 +0100
Message-Id: <20170208.231709.2214078600549867460.mbj@tail-f.com>
To: chopps@chopps.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <87shnogymx.fsf@chopps.org>
References: <87shnogymx.fsf@chopps.org>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/go6pyXZBN0QV2OLQYmQwwJTX0y0>
Cc: 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: Wed, 08 Feb 2017 22:17:12 -0000

Christian Hopps <chopps@chopps.org> wrote:
> 
> Martin Bjorklund <mbj@tail-f.com> writes:
> > Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> wrote:
> >> On Wed, Feb 08, 2017 at 01:22:01PM -0500, Christian Hopps wrote:
> >> >
> >> > The tags in the library and the tags in a module are updated at the same
> >> > time and represent logically the same list of tags. Its clear this
> >> > happens with an RPC. It seems a lot less clear this would (or should)
> >> > happen if one edited only once location.
> >>
> >> I am not convinced by the design. We have lots of other resources
> >> where we have configured and system determined values. I do not see
> >> that tags are any different.
> >
> > I agree.  *If* you want a config true datastructure, it should be
> > modified with the normal edit operations, not special RPCs.  There are
> > several reasons for this.  For example, how would your new RPCs interact
> > with locks?  With candidate?  With startup?
> 
> The point of already existing mechanisms and locks is somewhat
> compelling. Although this data is not very dynamic so it's hard to
> imagine locks coming into play, but the point is still taken.
> 
> So if the user changes the tags on a module using the module path can we
> just indicate that it would automatically also update in the yang
> library list?

Sure.

> We use a grouping that gets stamped inside a module and
> then we have another module define the yang library notation would we
> simply define the semantics in text and outside of yang?

In the description should work.

> It's easy for
> the module grouping to refer to the yang library but the reverse is not
> true.
> 
> > Also I am not sure it is a good idea to add configuration meta-data
> > that really should be common across all modules into the modules
> > themselves.  Another approach is to keep a separate list with the
> > tags, indexed by modulename and revision.
> 
> I don't understand what your getting at here. Are you referring to the
> grouping that gets used by a module author inside their module? The tags
> set for a given module are specific to that module only.

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.


/martin