Re: [netmod] schema-mount pre09 branch
Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> Tue, 06 February 2018 14:17 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 6AB3C12E042 for <netmod@ietfa.amsl.com>; Tue, 6 Feb 2018 06:17:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.909
X-Spam-Level:
X-Spam-Status: No, score=-1.909 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, T_RP_MATCHES_RCVD=-0.01, URIBL_BLOCKED=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 MWzaizAhZeSB for <netmod@ietfa.amsl.com>; Tue, 6 Feb 2018 06:17:00 -0800 (PST)
Received: from atlas5.jacobs-university.de (atlas5.jacobs-university.de [212.201.44.20]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5D6F0126B72 for <netmod@ietf.org>; Tue, 6 Feb 2018 06:17:00 -0800 (PST)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas5.jacobs-university.de (Postfix) with ESMTP id 30283F91; Tue, 6 Feb 2018 15:16:59 +0100 (CET)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas5.jacobs-university.de ([10.70.0.217]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10032) with ESMTP id Vb9QAUdYYCgW; Tue, 6 Feb 2018 15:16:56 +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 atlas5.jacobs-university.de (Postfix) with ESMTPS; Tue, 6 Feb 2018 15:16:59 +0100 (CET)
Received: from localhost (demetrius3.jacobs-university.de [212.201.44.48]) by hermes.jacobs-university.de (Postfix) with ESMTP id 15F4620149; Tue, 6 Feb 2018 15:16:59 +0100 (CET)
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 VOTy1vIdYJj8; Tue, 6 Feb 2018 15:16:58 +0100 (CET)
Received: from elstar.local (unknown [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id D708320147; Tue, 6 Feb 2018 15:16:57 +0100 (CET)
Received: by elstar.local (Postfix, from userid 501) id 08827423A4AD; Tue, 6 Feb 2018 15:16:55 +0100 (CET)
Date: Tue, 06 Feb 2018 15:16:55 +0100
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: Martin Bjorklund <mbj@tail-f.com>
Cc: kwatsen@juniper.net, netmod@ietf.org
Message-ID: <20180206141655.6iast3lbhubk6rk5@elstar.local>
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Mail-Followup-To: Martin Bjorklund <mbj@tail-f.com>, kwatsen@juniper.net, netmod@ietf.org
References: <53639272-C297-4757-A225-E1DAE123CBFB@juniper.net> <20180206083344.o5vqjwwtkq7awrxy@elstar.local> <20180206.101949.156510094898094470.mbj@tail-f.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20180206.101949.156510094898094470.mbj@tail-f.com>
User-Agent: NeoMutt/20171215
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/r_Z692LgUxLi6Ud-tIp9UKODJjI>
Subject: Re: [netmod] schema-mount pre09 branch
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: Tue, 06 Feb 2018 14:17:03 -0000
On Tue, Feb 06, 2018 at 10:19:49AM +0100, Martin Bjorklund wrote: > Hi Juergen, > > Thanks for your review, comments inline. > > Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> wrote: > > On Wed, Jan 31, 2018 at 09:36:07PM +0000, Kent Watsen wrote: > > > > > > The authors created a "pre09" branch on GitHub a few weeks back. On this branch, they completed a full update of the draft. While waiting for details on how to proceed with regards to a SM-bis, we thought it would be helpful to make this text available now so that the technical parts can be discussed. With this in mind, can folks please have a quick look and post any technical comments they have? > > > > > > > I have reviewed draft-ietf-netmod-schema-mount-pre-09 that I fetched > > today from GitHub. Here are my comments: > > > > * Perhaps the abstract can be improved. The single sentence that we > > have is not even quite correct. > > > > This document defines a mechanism to combine YANG modules into the > > schema defined in other YANG modules. > > > > According to YL bis, a datastore has a schema, which consists of a > > set of YANG modules. The terminology used in RFC 7950 is 'schema > > node' and 'schema tree'. Perhaps this sentence can be rewritten to > > better explain the purpose of this document. > > Maybe something along the lines of: > > This document defines a mechanism to extend a datastore schema with > other schemas. > > It is still a bit terse... One question here is: Does the datastore schema include the mounted schema tree or not? We can side step this question by writing: This document defines a mechanism to extend a YANG schema tree with other schema trees. This is still terse but I think in terms of terminology this is clear and correct. > > * Definition of inline schema: > > > > o inline schema: a mounted schema whose definition is provided as > > part of the mounted data, using YANG library > > [I-D.ietf-netconf-rfc7895bis]. > > > > I am not sure 'as part of the mounted data, using YANG library' is > > a good definition. Which YANG library? I think what this term means > > is a mount point specific YANG library, not the master server's > > YANG library. > > > > This is also why I was largely confused about the inline case; the > > schema used by the mountpoint is not defined inline from the master > > server's point of view, from which the document is written. From > > the master server's point of view, the 'inline schema' is actually > > the opposite, it is an 'external schema' since I have to pull the > > schema information from an external source; > > No this is not quite correct. It is "inline" from the master's point > of view, in the sense of "inline in the data tree", as opposed to > "part of the (augmented) yang-library schema definition". This means its inline from the viewpoint of the mounted data, it is external from the viewpoint of the master. You are swapping the viewpoint here. > And it is *not* external. The client still fetches this data from the > "master" server; and how the master server handles this is an > implementation detail (or possibly standardized in the future - *one* > use case is peer mount in which case the data is fetched from another > system, but again, this is just one example). It is external from the viewpoint of the master servers YANG library. The schema sits in a different YANG library instantiation. I have to fetch this separately. This makes it kind of external for me. > > * YANG library has a drawing of the underlying conceptual model. It > > may help to agree on how schema mount is extending the model. Here > > is a drawing that I created for myself: > > > > +-----------+ > > | datastore | > > +-----------+ > > | > > | has a > > V > > +-----------+ +--------+ +------------+ > > | datastore | union of | module | consists of | modules + | > > .----->| schema |----------->| set |--------------->| submodules | > > | +-----------+ +--------+ +------------+ > > | | > > | | has > > | v > > | +-----------+ > > '------| mount |------> external YANG library > > uses | points | uses schema reference > > +-----------+ > > > > Note that this makes drawing makes my struggle with the term > > 'inline' even more obvious. > > I like the drawing, but I don't see the problem with the terms. Maybe > just b/c I'm used to them. I think we can include this figure but > s/external/inline/ Inline suggests to me that the schema details are reported inline of this YANG library instantiation, i.e. the opposite of today's "inline" case. In today's "inline" case, I have to fetch a different YANG library instance and look things up there. I find it very confusing to call this "inline" and the inline case "use-schema". I understand the resistance to change terms at this point in time but then the figure makes it somewhat obvious why "inline" confused me a lot since I look at things from the master server's perspective, i.e., from the master server's yang library perspective. > > * Where is the schema defined in the external aka 'inline' case? > > The current text says: > > > > In case 1, the mounted schema is determined at run time: every > > instance of the mount point that exists in the parent tree MUST > > contain a copy of YANG library data [I-D.ietf-netconf-rfc7895bis] > > that defines the mounted schema exactly as for a top-level data > > model. A client is expected to retrieve this data from the instance > > tree, possibly after creating the mount point. Instances of the same > > mount point MAY use different mounted schemas. > > > > I think this does not work for datastores except the operational > > datastore. In fact, I think the model must be that if /foo is an > > external 'inline' mountpoint, then the /foo instance in the > > operational state datastore must include a YANG library > > instantiation in which a client can find the schema definition for > > /foo in any datastore where /foo is supported. In other words, if > > /foo is config true and a client wants to know how the /foo schema > > in <running>, then the client has to fetch the YANG library residing > > under /foo in <operational> in order to obtain the schema > > information for the <running> datastore. The text does not say any > > of this. > > I agree. We can write: > > A client is expected to retrieve this data from the instance > tree in <operational>, > > and possibly add your example. Better but I would prefer to have a very clear description how the client resolves "inline" schemas by consulting other instantiations of the YANG library - and how this works with NMDA datastores. An example likely helps. > > * Data model > > > > The model is augmenting /yanglib:yang-library/yanglib:schema. In > > the case where I had two different schemas defined for say the > > operational state datastore and conventional datastores, this > > implies that I have to duplicate the schema-mounts specific > > definitions even in the likely case where the schema mounts are > > identical in both datastores. > > Yes, but you can define a sinlge module-set and refer to it from both > schemas. Well, the modules supported by the two datastore schemas can be different so I have to have two schema definitions... /js -- Juergen Schoenwaelder Jacobs University Bremen gGmbH Phone: +49 421 200 3587 Campus Ring 1 | 28759 Bremen | Germany Fax: +49 421 200 3103 <https://www.jacobs-university.de/>
- [netmod] schema-mount pre09 branch Kent Watsen
- Re: [netmod] schema-mount pre09 branch Juergen Schoenwaelder
- Re: [netmod] schema-mount pre09 branch Martin Bjorklund
- Re: [netmod] schema-mount pre09 branch Robert Wilton
- Re: [netmod] schema-mount pre09 branch Robert Wilton
- Re: [netmod] schema-mount pre09 branch Martin Bjorklund
- Re: [netmod] schema-mount pre09 branch Juergen Schoenwaelder
- Re: [netmod] schema-mount pre09 branch Robert Wilton
- Re: [netmod] schema-mount pre09 branch Robert Wilton
- Re: [netmod] schema-mount pre09 branch Juergen Schoenwaelder
- Re: [netmod] schema-mount pre09 branch Martin Bjorklund
- Re: [netmod] schema-mount pre09 branch Juergen Schoenwaelder
- Re: [netmod] schema-mount pre09 branch Ladislav Lhotka
- Re: [netmod] schema-mount pre09 branch Robert Wilton
- Re: [netmod] schema-mount pre09 branch Ladislav Lhotka
- Re: [netmod] schema-mount pre09 branch Martin Bjorklund
- Re: [netmod] schema-mount pre09 branch Ladislav Lhotka