Re: [netmod] compact versus iterative representation of the overall schema
Martin Bjorklund <mbj@tail-f.com> Tue, 24 May 2016 12:52 UTC
Return-Path: <mbj@tail-f.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 8C03712D6F7 for <netmod@ietfa.amsl.com>; Tue, 24 May 2016 05:52:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.327
X-Spam-Level:
X-Spam-Status: No, score=-3.327 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-1.426, SPF_PASS=-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 S2VP47m7PPS9 for <netmod@ietfa.amsl.com>; Tue, 24 May 2016 05:52:13 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id C1C1E12D6FA for <netmod@ietf.org>; Tue, 24 May 2016 05:52:06 -0700 (PDT)
Received: from localhost (unknown [173.38.220.52]) by mail.tail-f.com (Postfix) with ESMTPSA id F13F41AE018A; Tue, 24 May 2016 14:52:04 +0200 (CEST)
Date: Tue, 24 May 2016 14:52:25 +0200
Message-Id: <20160524.145225.1049539486912684674.mbj@tail-f.com>
To: lhotka@nic.cz
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <m260u3mxrx.fsf@birdie.labs.nic.cz>
References: <22C4E267-E883-4909-A824-DB742B9F63A4@nic.cz> <20160524.122451.316337046466834553.mbj@tail-f.com> <m260u3mxrx.fsf@birdie.labs.nic.cz>
X-Mailer: Mew version 6.5 on Emacs 24.3 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/netmod/tyJ0EgBgX1Nl5gpXgk3QF00U6-g>
Cc: netmod@ietf.org
Subject: Re: [netmod] compact versus iterative representation of the overall schema
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.17
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, 24 May 2016 12:52:14 -0000
Ladislav Lhotka <lhotka@nic.cz> wrote: > Martin Bjorklund <mbj@tail-f.com> writes: > > > Ladislav Lhotka <lhotka@nic.cz> wrote: > >> > >> > On 23 May 2016, at 14:30, Lou Berger <lberger@labn.net> wrote: > >> > > >> > Hi Lada, > >> > I looks like no one really jumped on this one -- so better late than > >> > never ... > >> > > >> > When looking at the question below, we should consider the uses cases. > >> > I'm particularity interested (as a contributor) in the use case of > >> > nested mounts (NIs mounted within LNEs), as well as the case if models > >> > that will only permit mounting of specific other models vs generically > >> > mounting any model. > >> > > >> > On 4/6/2016 10:07 AM, Ladislav Lhotka wrote: > >> >> Hi, > >> >> > >> >> with a schema mount mechanism in place, there are two different > >> >> options > >> >> for constructing the overall schema (their combinations are possible, > >> >> too): > >> >> > >> >> 1. Define schema mount as an extension of YANG library so that it > >> >> defines YANG modules, revisions, features and deviations as before but > >> >> also the way how they are combined into a hierarchical structure of > >> >> schemas. > >> > > >> > I think this only makes sense if this is scoped in some way. For > >> > example, with LNEs, the parent/host server may not have visibility > >> > into > >> > the mounted models, (see draft-rtgyangdt-rtgwg-lne-model). And even > >> > if > >> > >> As I understand it, schema-mount is about accessing the LNE models > >> from the parent/host management interface. I believe the real question > >> is whether we want to allow the schema to dynamically change at run > >> time and possibly throw in new modules that the client never heard > >> of. #2 can do it while #1 can't. I am not sure though whether the LNE > >> model really requires something like this. > >> > >> > does, you have to consider the cases of mounted models contained > >> > within > >> > mounted models. > >> > >> This is possible either way, provided that the complete schema is > >> known upfront. > > > > I don't think I have seen a concrete proposal for such a compact > > YSDL was such a proposal. > > > format that can handle the case where different instances of a list > > with a mount point have different modules mounted, and some of them > > have mounted models within the mounted models. > > > > As a concrete example, suppose we have the model > > example-network-manager from Appendix B in > > draft-ietf-netmod-schema-mount-01: > > > > +--rw managed-devices > > +--rw device* [name] > > +--rw name string > > +--rw transport > > +--rw root yangmnt:mount-point managed-device > > > > Now, let's assume that two devices exist, A and B: > > > > A implements: ietf-interfaces, example-netowrk-manager > > B implements: ietf-system > > > > In A, there is a managed-device C which implements ietf-interfaces and > > ietf-ip. > > > > What would this look like in the compact form? > > The module "example-network-manager" would be modified as follows: > > +--rw managed-devices > +--rw device* [name] > +--rw name string > +--rw transport > +--rw (root) > +--:(A) > +--:(B) > +--:(C) But A, B and C are device names (instances). Also, C would be: /managed-devices/device[name="A"]/root/managed-devices/device[name="C"] > And then: > > { > "ietf-ysdl:schemas": { > "top-schema": "host", > "schema": [ > { > "name": "host", > "yang-modules": [ "example-logical-devices" ], > "subschema": [ > { > "root": > "/example-network-manager:managed-devices/device/root/A", Can the root contain instance information? /martin > "schemas": [ "schema-A" ] > } > { > "root": > "/example-network-manager:managed-devices/device/root/B", > "schemas": [ "schema-B" ] > } > ] > }, > { > "name": "schema-A", > "yang-modules": [ > "ietf-interfaces", > "example-network-manager" > ], > "subschema": [ > { > "root": > "/example-network-manager:managed-devices/device/root/C", > "schemas": [ "schema-C" ] > } > ] > }, > { > "name": "schema-B", > "yang-modules": [ "ietf-system" ] > }, > { > "name": "schema-C", > "yang-modules": [ > "ietf-interfaces", > "ietf-ip" > ] > } > ] > } > } > > As long as all modules comprising the schema and their possible > arrangement is known in advance, it should flexible enough. And as I > said, I'd prefer to address this case in schema-mount because the model > of trust between the server and client isn't changed in any way. > > > > > BTW, in this case, it is not obvious that the top-level server knows > > anything about the data models mounted by C... > > But then the top-level server cannot possibly serve data for C. > > Lada > > > > > > > /martin > > > > > > > > > >> > >> > > >> >> > >> >> 2. Apart from YANG Library data, the server just specifies the mount > >> >> points. A client of an NM protocol is expected to fetch a new instance > >> >> of YANG library and/or subordinate mount points as state data from a > >> >> well-known location under each mount point. > >> > > >> > I think this depends on the use case. For LNEs, I think this is > >> > right. > >> > For some of the other possible use cases being discussed only a > >> > specific > >> > model can be mounted. > >> > >> I guess I need some example scenarios demonstrating that #1 cannot be > >> used for LNE. > > > > -- > Ladislav Lhotka, CZ.NIC Labs > PGP Key ID: E74E8C0C >
- [netmod] compact versus iterative representation … Ladislav Lhotka
- Re: [netmod] compact versus iterative representat… Lou Berger
- Re: [netmod] compact versus iterative representat… Ladislav Lhotka
- Re: [netmod] compact versus iterative representat… Lou Berger
- Re: [netmod] compact versus iterative representat… Ladislav Lhotka
- Re: [netmod] compact versus iterative representat… Martin Bjorklund
- Re: [netmod] compact versus iterative representat… Martin Bjorklund
- Re: [netmod] compact versus iterative representat… Ladislav Lhotka
- Re: [netmod] compact versus iterative representat… Ladislav Lhotka
- Re: [netmod] compact versus iterative representat… Martin Bjorklund
- Re: [netmod] compact versus iterative representat… Ladislav Lhotka