Re: [netmod] Module tags

Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> Sun, 12 February 2017 14:57 UTC

Return-Path: <j.schoenwaelder@jacobs-university.de>
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 78643129454 for <netmod@ietfa.amsl.com>; Sun, 12 Feb 2017 06:57:58 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level:
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-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 Jpma1jPB6bOd for <netmod@ietfa.amsl.com>; Sun, 12 Feb 2017 06:57:56 -0800 (PST)
Received: from atlas3.jacobs-university.de (atlas3.jacobs-university.de [212.201.44.18]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BF1C2128E18 for <netmod@ietf.org>; Sun, 12 Feb 2017 06:57:55 -0800 (PST)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas3.jacobs-university.de (Postfix) with ESMTP id 6D6AD6A0; Sun, 12 Feb 2017 15:57:54 +0100 (CET)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas3.jacobs-university.de ([10.70.0.205]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10030) with ESMTP id KQVL1ywUjdBV; Sun, 12 Feb 2017 15:57:48 +0100 (CET)
Received: from hermes.jacobs-university.de (hermes.jacobs-university.de [212.201.44.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "hermes.jacobs-university.de", Issuer "Jacobs University CA - G01" (verified OK)) by atlas3.jacobs-university.de (Postfix) with ESMTPS; Sun, 12 Feb 2017 15:57:53 +0100 (CET)
Received: from localhost (demetrius4.jacobs-university.de [212.201.44.49]) by hermes.jacobs-university.de (Postfix) with ESMTP id CA1CF200C1; Sun, 12 Feb 2017 15:57:53 +0100 (CET)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from hermes.jacobs-university.de ([212.201.44.23]) by localhost (demetrius4.jacobs-university.de [212.201.44.32]) (amavisd-new, port 10024) with ESMTP id s87kG1_IvSpn; Sun, 12 Feb 2017 15:57:52 +0100 (CET)
Received: from elstar.local (elstar.jacobs.jacobs-university.de [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id 4B22A200BE; Sun, 12 Feb 2017 15:57:52 +0100 (CET)
Received: by elstar.local (Postfix, from userid 501) id 82A593E72778; Sun, 12 Feb 2017 15:57:55 +0100 (CET)
Date: Sun, 12 Feb 2017 15:57:55 +0100
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: Christian Hopps <chopps@chopps.org>
Message-ID: <20170212145754.GA8564@elstar.local>
Mail-Followup-To: Christian Hopps <chopps@chopps.org>, Andy Bierman <andy@yumaworks.com>, "netmod@ietf.org" <netmod@ietf.org>
References: <CABCOCHQJ+ef4C=TAfH9NK47mWgO0XOy1gg-cggigWq7Fqdfkgw@mail.gmail.com> <87d1eouby0.fsf@chopps.org> <20170211135417.GC6490@elstar.local> <8737fju4n5.fsf@chopps.org> <20170212104106.GA8142@elstar.local> <871sv3r7xf.fsf@chopps.org> <20170212115135.GB8250@elstar.local> <87wpcvpo0z.fsf@chopps.org> <20170212130412.GA8415@elstar.local> <87vasfpl8n.fsf@chopps.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <87vasfpl8n.fsf@chopps.org>
User-Agent: Mutt/1.6.0 (2016-04-01)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/cTQGGGtkxIEyVL3aJmJH0nYZt18>
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
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
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: Sun, 12 Feb 2017 14:57:58 -0000

On Sun, Feb 12, 2017 at 08:55:04AM -0500, Christian Hopps wrote:
> 
> Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> writes:
> > On Sun, Feb 12, 2017 at 07:54:52AM -0500, Christian Hopps wrote:
> >> Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> writes:
> >> > It was suggested (I think) that tags originate either (a) from the
> >> > data model it self, (b) from the implementation itself, (c) from the
> >> > operator. You want to be able to overwrite (remove) (a) and (b) tags?
> >> > Are tags not scoped by something that represents some form of
> >> > ownership? If so, does it make sense to step on other people's
> >> > carefully design tags? What if this creates conflicts for different
> >> > applications, some like to have a certain tag some don't?
> >>
> >> > Perhaps what you are requesting is useful but I think it needs a bit
> >> > more thinking and clarity about what tags mean and how tags are
> >> > scoped.
> >>
> >> Yes indeed tags can be created in 3 ways, but the ultimate authority is
> >> the user as they are the ones actually deploying devices to implement
> >> something (e.g., a network). The designer and implementer cannot
> >> ultimately know how the user will use their devices and their modules.
> >
> > Then there should only be type (c) tags.
> >
> >> I guess I'm drawing from my unix background here, give the user the rope;
> >> I'm not sure how they would hang themselves with this particular rope,
> >> but worrying about that seems to be the only reason to not give them the
> >> control. :)
> >
> > There are many things a device can implement differently. Do we
> > generally need a way to overwrite things? I am trying to understand
> > why tags are different and considered to require this ability. And as
> > I said, there is always the option to trust only the tags an operator
> > has assigned himself.
> 
> The tags defined by (a) and (b) are still for the users use. In fact
> aren't there plenty of defaults in configuration on devices that the
> user can override or remove? I guess I don't understand why this is so
> controversial.
> 

In YANG, you can overwrite defaults by configuring explicit values,
you can't remove the default - the default is just not used anymore
once there is a configured value - the default still exists and it
will come back when there is no configured value anymore. But I am not
sure the analogy is a good one.

If a data model defines an implementation should set the tag 'foo',
then it feels odd to me to go to the device and to remove that
tag. The tag 'foo' after all is there because the data model says it
should be there - so in an ideal world all implementations of this
data model will set the tag. Why would be removing the 'foo' tag on
all these correct implementations be significantly cheaper than simply
using your own (application specific) tag instead of the 'foo' tag
(that does not seem to do what you like)? Or you add a tag
'ops-foo-broken' to those implementations where you believe the foo
tag is inappropriate.

At the end, it is not a big deal to remove tags but somehow I am not
sure whether there is not a difference between (a), (b), and (c) tags.

/js

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>