Re: [netmod] Y34 - root node

Andy Bierman <andy@yumaworks.com> Mon, 03 August 2015 16:17 UTC

Return-Path: <andy@yumaworks.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 43CDD1ACE22 for <netmod@ietfa.amsl.com>; Mon, 3 Aug 2015 09:17:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.778
X-Spam-Level:
X-Spam-Status: No, score=-0.778 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, J_CHICKENPOX_15=0.6, J_CHICKENPOX_34=0.6, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=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 KbM2h2rPnki9 for <netmod@ietfa.amsl.com>; Mon, 3 Aug 2015 09:17:35 -0700 (PDT)
Received: from mail-la0-f46.google.com (mail-la0-f46.google.com [209.85.215.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 570771ABC10 for <netmod@ietf.org>; Mon, 3 Aug 2015 09:17:35 -0700 (PDT)
Received: by labix3 with SMTP id ix3so3622673lab.0 for <netmod@ietf.org>; Mon, 03 Aug 2015 09:17:33 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=LsYWga+HmsY9uQldjHtZonD3FsmRETMKmp6yG+GPwTA=; b=SF2TqzvlqdmlLUO+YVKKDZMxRuHXQ+i6cbDr7ggyeo5hqvaQIVchTD1RKLEUqD/VpA 4yub8zhGwS4E9SkZX2RRpjVaVDOHtxAc61RNezr7KI60QLAx8AZSnGUWITIjVlMD2bYP 4kWNwS3qQumHu+JHiMeUQO4N9K6ANhrwbBKoqmgRFnE7ATfHTfXxOBYxLTVe0g5r7X+U s7Qaf8m9pyrUgsvA0YmuY8G81n51u4ufTbQn+KwwNPS/Pwb6UMDkQcy+4kT75zE1TAaB M1OtB1A1m7OEgaG6o71eu1OqbJfvhbxJKaysQLUgBOUQkyo48EbGqnKBn2HUXGCoJrAz Qv1A==
X-Gm-Message-State: ALoCoQkyB3NkGjIjdHg9mQurKuBZJwM40T8+ycjQZr3aiwq1LxTNU8D6FecQZekNO4a8tdktbt52
MIME-Version: 1.0
X-Received: by 10.112.46.130 with SMTP id v2mr17449174lbm.119.1438618653797; Mon, 03 Aug 2015 09:17:33 -0700 (PDT)
Received: by 10.112.200.102 with HTTP; Mon, 3 Aug 2015 09:17:33 -0700 (PDT)
In-Reply-To: <03d301d0ce05$c320a800$4001a8c0@gateway.2wire.net>
References: <CABCOCHRS-JF8UK+9fQ=yvZy9ttcj3j6oJn0n3Co6f7kB0tpFgA@mail.gmail.com> <F990644A-4CBE-43D5-AB2B-A20E54A91A65@nic.cz> <20150720210041.GA17614@elstar.local> <D1D917F8.29821%acee@cisco.com> <CABCOCHSm=VCMqoMJRAstV-FwZqkitKVoAjkVMGHxKcKB_RdpGQ@mail.gmail.com> <14ecceb6dd0.2818.9b4188e636579690ba6c69f2c8a0f1fd@labn.net> <CABCOCHQ-XOJMXfZfijd1OJcgvx4wkRuY0P7UhF5zej_Q36GHYg@mail.gmail.com> <14ed0338068.2818.9b4188e636579690ba6c69f2c8a0f1fd@labn.net> <CABCOCHQAc310ZwScEN=BFEzHUj3uY3HBQjo131J6yigGEW9Yrw@mail.gmail.com> <55BBA679.7070508@labn.net> <20150801065150.GA67416@elstar.local> <D1E270C7.29F82%acee@cisco.com> <CABCOCHSPmCdd2eeb6S9sPzjD+G7vrCs+HNac5KDj3QHUuGMofQ@mail.gmail.com> <002401d0cdfb$758b6760$4001a8c0@gateway.2wire.net> <CABCOCHQOosSE3B973WG1uqBjF2aoexViR3OfD9Rfo6qoHg0W6Q@mail.gmail.com> <03d301d0ce05$c320a800$4001a8c0@gateway.2wire.net>
Date: Mon, 03 Aug 2015 09:17:33 -0700
Message-ID: <CABCOCHRUk9hkpVh6tT6sV-YzLYjDmFeu9FOtY9sH6PAcjFyVTw@mail.gmail.com>
From: Andy Bierman <andy@yumaworks.com>
To: "t.petch" <ietfc@btconnect.com>
Content-Type: multipart/alternative; boundary="001a1134aee8d3c91c051c6a81f3"
Archived-At: <http://mailarchive.ietf.org/arch/msg/netmod/nGTyJisRukx9pQI2NeJKUZVFfDA>
Cc: NETMOD Working Group <netmod@ietf.org>
Subject: Re: [netmod] Y34 - root node
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.15
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: Mon, 03 Aug 2015 16:17:38 -0000

On Mon, Aug 3, 2015 at 9:01 AM, t.petch <ietfc@btconnect.com> wrote:

> ----- Original Message -----
> From: "Andy Bierman" <andy@yumaworks.com>
> To: "t.petch" <ietfc@btconnect.com>
> Cc: "NETMOD Working Group" <netmod@ietf.org>
> Sent: Monday, August 03, 2015 4:10 PM
>
> On Mon, Aug 3, 2015 at 7:48 AM, t.petch <ietfc@btconnect.com> wrote:
>
> > ----- Original Message -----
> > From: "Andy Bierman" andy@yumaworks.com
> > Sent: Saturday, August 01, 2015 7:05 PM
> > On Sat, Aug 1, 2015 at 9:51 AM, Acee Lindem (acee) <acee@cisco.com>
> > wrote:
> >
> > > Hi Juergen,
> > >
> > > On 8/1/15, 2:51 AM,  j.schoenwaelder@jacobs-university.de> wrote:
> > >
> > > >On Fri, Jul 31, 2015 at 12:46:49PM -0400, Lou Berger wrote:
> > > >> Andy,
> > > >>
> > > >> On 07/27/2015 12:58 PM, Andy Bierman wrote:
> > > >> > Hi,
> > > >> >
> > > >> > I don't think a standard for relocating subtrees would be worth
> > it.
> > > >> > I am not in favor of moving /interfaces or /system to a new
> > location.
> > > >> > That's not how YANG works. It only allows "obsolete and start
> > over".
> > > >> >
> > > >> > I would suggest pursuing solutions that don't cause
> > > >> > as much disruption and expense as possible.
> > > >> >
> > > >> I think it would be really good to explore other, less
> "disruptive"
> > > >> options.
> > > >
> > > >I think the first step is to find out whether there is a problem
> > worth
> > > >to be fixed. Why are the RFCs in question broken? (Yes, I have read
> > > >the openconfig IDs,
> > >
> > > Section 1.1 in
> > >
> https://www.ietf.org/id/draft-openconfig-netmod-model-structure-00.txt
> > > lists the goals of a generic model structure that will accommodate
> > most
> > > modern network devices. I guess you don’t agree that these are
> > desirable?
> >
> > The only objection I have to this draft is the insertion of a
> top-level
> > root
> > called "device".  (Might as well be called "self").
> > There are no sibling nodes planned or intended for
> > this node, so it serves as an extra document root.
> >
> > <tp>
> > One aspect of YANG I have never grasped is what a root means, if
> > anything.
> >
> > I understand that it is needed for NETCONF (filters) and for YANG
> > (augments, constraints) and so must be somewhere and must be
> relatively
> > stable, but has it any other significance in the data model?
> >
> > As you may recall, I was involved with SMI first, where the root is
> > somewhere up in the sky and life only becomes interesting some six
> > levels down the hierarchy and that may colour my thinking.
> >
>
> YANG does a poor job of defining the root for YANG data nodes.
> It is sometimes called a datastore (in the abstract).
> Technically, YANG borrows the definition from XPath.
> YANG just defines top-level data nodes and the parent of
> these nodes is the document root.
>
> There is no protocol or encoding neutral definition,
> only an XML-specific definition.
>
> <tp>
>
> Thanks for that.
>
> It seems to me that much of the extensive discussion on Y34 (all of
> which I have read) is as much political as technical, that is SMI is
> hierarchical, top down, perhaps befitting its origins in ISO, whereas
> YANG is bottom up. IETF-like.  YANG could have had a single tree, but
> doesn't.  So when I read
>
> https://www.ietf.org/id/draft-openconfig-netmod-model-structure-00.txt
>
> I see a plea for a more hierarchical organisation, and when I read
>
> draft-bjorklund-netmod-openconfig-reply-00
>
> I see a response that says we are not like that.
>
> If so, I doubt that there ever will be a technical solution.
>
> And I am mindful that when I configure routing in a (Cisco) router, I
> have to do some of it under the interface definitions and some of it
> under the definition of the routing protocol.  Which is life, never
> wholy interface-centric and never wholy routing protocol-centric!
>
>

Are you saying the job would be easier if the
path was /device/interfaces/interface instead
of just /interfaces/interface?  Are you saying
that /protocols/routing could not also be defined?
Clearly edit-config and copy-config allow both
subtrees to be accessed in the same operation,
so I don't understand your concern.

I have been trying to get the root node to be better defined
in the protocols that use YANG (i.e., ncx:root, Y34-04).
IMO this is a better approach than defining a YANG module
with a special container that all other modules are expected
to augment.  YANG is designed such that each vendor or SDO
is not dependent on other vendors or SDOs in order to
define data nodes.



> Tom Petch
> >
>
>

Andy


> Andy
>
> > The well-specified XPath and YANG root (/) can be
> > accessed by all protocol operations, exactly the same
> > as a node called 'device'.  The actual node name will
> > depend on the RPC function (e.g. 'data' or 'config').
> >
> > This is more than redundant however.  It introduces a "super-module"
> > into YANG that every other module is expected to augment.
> > YANG is intended to be more loosely coupled than that.
> > This introduces an extra node and namespace declaration
> > in all protocol messages, increasing message sizes.
> >
> > It also assumes all existing YANG models will get rewritten to
> > account for "/device" in all path and XPath expressions.
> > This is highly disruptive to existing deployments.
> > Also, multiple data models to edit the same thing causes lots
> > of extra complexity in the server (supporting both old
> > location and new location).
> >
> > IMO a resource directory approach is much more realistic.
> > The /device tree can contain all the organized NP containers.
> > Instead of all the actual data nodes, this tree just has pointers
> > to the real location of the resource. (like 301 Moved Permanently)
> >
> > Thanks,
> > > Acee
> > >
> > Andy
>
>