Re: [netmod] schema mount open issue #1

"Xufeng Liu" <xufeng.liu.ietf@gmail.com> Wed, 30 August 2017 13:36 UTC

Return-Path: <xufeng.liu.ietf@gmail.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 7411C133241 for <netmod@ietfa.amsl.com>; Wed, 30 Aug 2017 06:36:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 DHu30iib1IWt for <netmod@ietfa.amsl.com>; Wed, 30 Aug 2017 06:36:32 -0700 (PDT)
Received: from mail-qk0-x234.google.com (mail-qk0-x234.google.com [IPv6:2607:f8b0:400d:c09::234]) (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 A8DE81332AE for <netmod@ietf.org>; Wed, 30 Aug 2017 06:36:24 -0700 (PDT)
Received: by mail-qk0-x234.google.com with SMTP id p67so27939270qkd.2 for <netmod@ietf.org>; Wed, 30 Aug 2017 06:36:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:references:in-reply-to:subject:date:message-id :mime-version:content-transfer-encoding:thread-index :content-language; bh=/S5iFfCVMP7nepdtHkPjHyi6g/5Sau1546012w9q74Y=; b=l4DMnasy/Mpi8GJGVK0tErUAG3e1vAZqRqAFZbZUwGoRSHXrd0EZQF2Y5YAOQAIKq0 ur4xvJT+4mKMq+qvoMIVJQc8/QhWmws3lLLeJXTk1SSI2pMVeoZbvhGqv3L8Z7JHS1vH nTFyou0gGwSgjxkWmXKjlCo6t4b8R7pSXasOSJgac4M4P0eg3GNio4/L7QZk9mSHlR+0 tZFD8JAQ736wHoCIJAZ8geP4xwwVjvQmjwdKloHyyH2NKHueP7S5nUReZNEFXmu+JcQj JoxU2tqS20uVnYBqAsKHPc29d9R1EqkbITbydPpWTnuSkvhJU63RpuQad/fitEHmAhxQ 0Kyg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:references:in-reply-to:subject:date :message-id:mime-version:content-transfer-encoding:thread-index :content-language; bh=/S5iFfCVMP7nepdtHkPjHyi6g/5Sau1546012w9q74Y=; b=aup6UK1dV9mGZ6HM4+slIT8cR3DV834GBVwK6bMjYRTmjZnmUEBXNoh6v2QhBuf8qf Mj//SA8D4arJk2gkO0+j45nDdQByxtJ/0nMLrtulF1x8F2az9ifTDUdUCOAja+ClS3yr BZvmr/CoUFDJvUTArbFS5l3VI05Vqca5DivUxzYXrJWFl/uIXPlxp/pKSllFeh8XZTSv XVp8xM2LyGRIwkNzRLUMUSAsHtpmXxbXK6ACrEUHYOr0FjSDL9D5XvYf6doq2LQIWpqR iaegkaJLtk3+bexnjYgVkW4JOAdY87SU7693hIL9OS4wXoNwLZQ617e1gI3qS+AyIUIZ YVBQ==
X-Gm-Message-State: AHYfb5hEaAvnvPk05ShzTy37GA65LsJREjJsuPOxERF2bZX8nqnWb6xA elVaT6I8ED06PA==
X-Received: by 10.55.72.6 with SMTP id v6mr9755658qka.254.1504100183832; Wed, 30 Aug 2017 06:36:23 -0700 (PDT)
Received: from xliuus (wsip-98-191-72-170.dc.dc.cox.net. [98.191.72.170]) by smtp.gmail.com with ESMTPSA id g16sm3887163qkh.41.2017.08.30.06.36.22 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 30 Aug 2017 06:36:23 -0700 (PDT)
From: Xufeng Liu <xufeng.liu.ietf@gmail.com>
To: 'Lou Berger' <lberger@labn.net>, 'Martin Bjorklund' <mbj@tail-f.com>
Cc: netmod@ietf.org
References: <7c99497f-d719-0fe2-01f5-a06d53c8fc68@labn.net> <1503929779.1715.65.camel@nic.cz> <81b138c6-9941-3313-979c-61edad7819a7@labn.net> <20170829.093743.762532630259333653.mbj@tail-f.com> <647a5ef0-968a-4eb7-322e-b3862a1252bd@labn.net>
In-Reply-To: <647a5ef0-968a-4eb7-322e-b3862a1252bd@labn.net>
Date: Wed, 30 Aug 2017 09:36:22 -0400
Message-ID: <032b01d32194$f876ad80$e9640880$@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-2"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Outlook 16.0
Thread-Index: AQHxUPEv69dJWF6Of5ei10Qtp3GdWALIFXl0AoP40qwBbZrRBgFKp3geoiBcwQA=
Content-Language: en-us
x-dg-ref: PG1ldGE+PGF0IG5tPSJib2R5LnR4dCIgcD0iYzpcdXNlcnNceGxpdVxhcHBkYXRhXHJvYW1pbmdcMDlkODQ5YjYtMzJkMy00YTQwLTg1ZWUtNmI4NGJhMjllMzViXG1zZ3NcbXNnLTM0YTVhN2MwLThkODgtMTFlNy05YzI4LTE4NWUwZmUzYzQ1Y1xhbWUtdGVzdFwzNGE1YTdjMS04ZDg4LTExZTctOWMyOC0xODVlMGZlM2M0NWNib2R5LnR4dCIgc3o9IjY0NDAiIHQ9IjEzMTQ4NTczNzgxODc4ODE0OSIgaD0icmtSckppSTBlQnhBWFFEZkNHeXNCR2xITElZPSIgaWQ9IiIgYmw9IjAiIGJvPSIxIi8+PC9tZXRhPg==
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/yGQxFjw-8AQpevxAzSZR8LJclns>
Subject: Re: [netmod] schema mount open issue #1
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.22
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, 30 Aug 2017 13:36:34 -0000


> -----Original Message-----
> From: netmod [mailto:netmod-bounces@ietf.org] On Behalf Of Lou Berger
> Sent: Tuesday, August 29, 2017 8:35 AM
> To: Martin Bjorklund <mbj@tail-f.com>
> Cc: netmod@ietf.org
> Subject: Re: [netmod] schema mount open issue #1
> 
> On 08/29/2017 03:37 AM, Martin Bjorklund wrote:
> > Lou Berger <lberger@labn.net> wrote:
> >> Lada,
> >>
> >>
> >> On 8/28/2017 10:16 AM, Ladislav Lhotka wrote:
> >>> Lou Berger píše v Po 28. 08. 2017 v 09:40 -0400:
> >>>> Lada,
> >>>>
> >>>> On 8/28/2017 9:30 AM, Ladislav Lhotka wrote:
> >>>>>> Can you please take a look at it and see if we have any other
> disconnects?
> >>>>> This is really scary.
> >>>> I agree!
> >>>>
> >>>>> How can we expect poor data modellers to understand the concept if
> >>>>> we have such fundamental disconnects, after so many hours of
> >>>>> discussing it?
> >>>> This highlights why getting the text in (any) document is so
> >>>> important, and why discussions shouldn't be viewed as being closed
> >>>> until the impact on the text is agreed to!
> >>> I think many people still don't make much distinction between schema
> >>> mount (manipulation of the schema) and data mount. I still believe
> >>> we need to clearly separate these two concepts, preferably using two
> different mechanisms.
> >>
> >> Frankly, I'm focused on removing blocking issues on the current WG
> >> deliverable, i.e., schema mount.
> >> ...
> >>>> Lou
> >>>>
> >>>> PS is your view aligned with martin or our example?
> >>> If you mean shifting the XPath context node to the mount point
> >>> instance, then yes.
> >>
> >> funny, you answered yes to a choice!  I was asking if you think the
> >> mount point shows up as a node in the data tree, i.e., as shown in
> >> the example in
> >> https://tools.ietf.org/html/draft-ietf-rtgwg-ni-model-03#appendix-B.1?
> >>
> >> from my perspective and my co-authors in the RTG area using schema
> >> mount, we've never heard of a (filesystem) mount point that doesn't
> >> show in the (directory) structure and this is the mental analogue
> >> we've been assuming. Since there never was an explicit
> >> example/discussion or text to dissuade us of this
> >
> > The current text says:
> >
> >   A "container" or "list" node becomes a mount point if the
> >   "mount-point" extension (defined in the "ietf-yang-schema-mount"
> >   module) is used in its definition.
> 
> interesting, read that a few times to (now) get the gist of your intent.
> 
> >
> > But of course we should clarify this.
> >
> 
> 
> 
> >> , this disconnect was never noticed.  Certainly this needs to be
> >> explicit in the document (either way). The following change could be
> >> made to the schema mount draft (at a minimum):
> >>
> >> OLD
> >>           A mount point defines a place in the node hierarchy where
> >>           other data models may be attached. A server that implements
> >> a NEW
> >>           A mount point defines a node in a data tree under which
> >> instances of
> >>           other data models may be attached. A server that implements
> >> a
> >
> > I strongly object to letting the extension define a new data node.
> 
> > This would be a new type of data node that presumably look a lot like
> > a container,
> 
> agreed, just like a mount point looks a lot like a directory in a unix
file system.
> 
> > and you'd have to define all sorts of rules for this new node (how it
> > is encoded in XML, JSON, CBOR; how it is handled in edit-config, how
> > it is mapped to RESTCONF resources etc etc).
> 
> I'm don't see this, the rules would be the same as a container, as in
"mount
> points in data trees are encoded identically as containers".
> 
> >
> > If you thought that the extension implicitly creates a node, adding an
> > explicit container won't do any harm; it will not change the schema
> > tree from what you thought it was.
> 
> Well we could make this work, but it feels like every model that uses
schema has
> added complexity to its definition and use to perhaps avoid making some
minor
> tooling changes.  Keep in mind that any use of the mount point extension
will
> required changes in tooling.
> 
> >
> > But I think we should also restrict the mount-point extension so that
> > there cannot be more than one mount-point in a given container.
> >
> In this case, I'd go further and say that the only thing in the container
(of the
> module schema) is the mount point and a mount point extension is only
valid
> within a container. (Then the semantics are the same as we expected, just
the
> syntax is different.)
> 
[Xufeng] To me, the statement "mount-point" is confusing, because it
indicates more like an object such as "leaf", "leaf-list", or "list", rather
than a property such as "presence" or "must". It would be better to make the
name sound more towards "making the container a mount point". The following
current description on the mount-point statement does not make this better:

       description
         "The argument 'name' is a YANG identifier, i.e., it is of the
          type 'yang:yang-identifier'.
          ...
          A mount point defines a place in the node hierarchy where
          other data models may be attached.
          ...";

Added to the confusion is the history of LNE and NI models, which initially
used "leaf root", then "anydata root", and then changed to "mount-point
root". Since the beginning, the "root" has always been shown in the tree
view, just like a "leaf" (not like the "presence"). In the Sec 4 of the
current draft-ietf-netmod-schema-mount-06, there still the following tree:

     +--rw interfaces
     |  +--rw interface* [name]
     |     ...
     +--rw network-instances
        +--rw network-instance* [name]
           +--rw name
           +--rw root
              +--rw routing
                 ...

   Here, the "root" node is the mount point for the NI schema.

In a container, it is confusing syntax to use the similar substatement
syntax for both property and contained objects, but this is beyond the
point.

Thanks,
- Xufeng

> Lou
> 
> 
> >
> > /martin
> >
> >
> 
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod