Re: [netmod] update on "rdns" URN for enterprise YANG models

Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> Fri, 15 April 2016 23:42 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 F070B12DC74 for <netmod@ietfa.amsl.com>; Fri, 15 Apr 2016 16:42:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.196
X-Spam-Level:
X-Spam-Status: No, score=-5.196 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-0.996] 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 J516Ggn2jsC6 for <netmod@ietfa.amsl.com>; Fri, 15 Apr 2016 16:42:44 -0700 (PDT)
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 6268A12DBD7 for <netmod@ietf.org>; Fri, 15 Apr 2016 16:42:44 -0700 (PDT)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas3.jacobs-university.de (Postfix) with ESMTP id B501D8DD; Sat, 16 Apr 2016 01:42:42 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas3.jacobs-university.de ([10.70.0.220]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10030) with ESMTP id c74F87xWrKb5; Sat, 16 Apr 2016 01:42:17 +0200 (CEST)
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; Sat, 16 Apr 2016 01:42:41 +0200 (CEST)
Received: from localhost (demetrius3.jacobs-university.de [212.201.44.48]) by hermes.jacobs-university.de (Postfix) with ESMTP id 8709120047; Sat, 16 Apr 2016 01:42:41 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from hermes.jacobs-university.de ([212.201.44.23]) by localhost (demetrius3.jacobs-university.de [212.201.44.32]) (amavisd-new, port 10024) with ESMTP id o67VhYMnYJ0o; Sat, 16 Apr 2016 01:42:40 +0200 (CEST)
Received: from elstar.local (elstar.jacobs.jacobs-university.de [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id D435420046; Sat, 16 Apr 2016 01:42:39 +0200 (CEST)
Received: by elstar.local (Postfix, from userid 501) id F12A43AA32DE; Sat, 16 Apr 2016 01:42:38 +0200 (CEST)
Date: Sat, 16 Apr 2016 01:42:38 +0200
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: "Ing-Wher (Helen) Chen" <ichen@kuatrotech.com>
Message-ID: <20160415234236.GC95761@elstar.local>
Mail-Followup-To: "Ing-Wher (Helen) Chen" <ichen@kuatrotech.com>, "netmod@ietf.org" <netmod@ietf.org>
References: <DB5PR06MB095051F32B9B7264669E6263D0680@DB5PR06MB0950.eurprd06.prod.outlook.com> <20160415152317.GB95324@elstar.local> <DB5PR06MB095009600454D4236CBDED94D0680@DB5PR06MB0950.eurprd06.prod.outlook.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <DB5PR06MB095009600454D4236CBDED94D0680@DB5PR06MB0950.eurprd06.prod.outlook.com>
User-Agent: Mutt/1.6.0 (2016-04-01)
Archived-At: <http://mailarchive.ietf.org/arch/msg/netmod/8DW2_Pq8DjAvX0dScXlpwHe26no>
Cc: "netmod@ietf.org" <netmod@ietf.org>
Subject: Re: [netmod] update on "rdns" URN for enterprise YANG models
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: Fri, 15 Apr 2016 23:42:47 -0000

On Fri, Apr 15, 2016 at 03:53:04PM +0000, Ing-Wher (Helen) Chen wrote:

> Section 4 of the draft <https://tools.ietf.org/html/draft-chen-rdns-urn-06#section-4> 
> documents why a URN is better than  URL as a namespace.  While a URL is globally
> unique, a URL is also a resource locator, providing access information.  For an enterprise
> that does not wish to publish the access information of its YANG models, a URN is a better
> choice.

Continuing as devil's advocate...

The YANG specifications (both 1.0 and 1.1) has a normative reference to

  https://www.w3.org/TR/2009/REC-xml-names-20091208/

which states in section 3:

  [...] The namespace name, to serve its intended purpose, SHOULD
  have the characteristics of uniqueness and persistence. It is not a
  goal that it be directly usable for retrieval of a schema (if any
  exists). Uniform Resource Names [RFC2141] is an example of a syntax
  that is designed with these goals in mind. However, it should be
  noted that ordinary URLs can be managed in such a way as to achieve
  these same goals.

Do we have evidence that managing ordinary URLs in such a way as to
achieve these same goals (of uniqueness and persistence) is a problem?
If so, why does this only apply to YANG modules (only one of many uses
of XML namespaces)?

> As required by RFC 3406, Section 3 of the draft, at the bottom of page 5
> <https://tools.ietf.org/html/draft-chen-rdns-urn-06#page-5> under "Identifier Persistence
> Considerations", addresses the question of identifier persistence.  The main concern
> for "identifier persistence" is in the case where an identifier is used for global resolution.
> Because YANG model namespaces do not provide global resolutions (actually YANG
> model namespaces are only used to uniquely identify a model within a device),
> the identifier persistence consideration is not as crucial.  (Please see RFC 3406
> top of page 13 <https://tools.ietf.org/html/rfc3406#page-13> for the identifier
> persistence discussion.)

I am not sure I agree that the scope of a YANG namespace is limited to
a device. There is nothing that prevents some random device to
implement some random YANG model. If the org currently owning bar.foo
publishes a module using urn:rdns:com:foo:bar as a namespace then
other orgs can implement this module as well if they think this is a
good idea.

I read:

     In practice, an administrator consciously installs YANG modules in
     a device.  Thus, in the unlikely event that there is a collision
     due to changing domain names, the administrator can detect the
     collision and rectify the situation by requesting that the
     offending organization republish its YANG modules with the correct
     "rdns" URNs.

Who is the 'administrator' that consciously installs YANG modules in a
device here? Administrator of what - the namespace or the device? In
case you mean the administrator of the namespace then what happens in
the case where this role changes because some other org took over the
domain name?

If a module uses urn:rdns:com:foo:bar and I later buy the domain
bar.foo than do I get change control of the YANG module using this
particular namespace as a side effect?

[...break...]

Taking a step back, we do have the tension between XML namespaces
(that are identified by URIs and used in the XML encoding) and 'JSON
namespaces' identified by module names (and used in the JSON
encoding). The former is relying on the uniqueness of a URI while the
later is relying on the uniqueness of the YANG module name. So from
this perspective, assuming the YANG module name is already
sufficiently unique, perhaps the right thing to do is to simply use

   urn:yang:<modulename>

for all XML namespaces and to essentially get rid of the namespace
declaration in YANG (which then defaults to urn:yang:<modulename>).

Now I need a break to think about this...

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