Re: [netmod] compact versus iterative representation of the overall schema

Martin Bjorklund <mbj@tail-f.com> Tue, 24 May 2016 10:24 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 46A2512DCCF for <netmod@ietfa.amsl.com>; Tue, 24 May 2016 03:24:58 -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 pZcIG-3Nojmu for <netmod@ietfa.amsl.com>; Tue, 24 May 2016 03:24:56 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 8F06F12B014 for <netmod@ietf.org>; Tue, 24 May 2016 03:24:56 -0700 (PDT)
Received: from localhost (unknown [173.38.220.52]) by mail.tail-f.com (Postfix) with ESMTPSA id A27C41AE043B; Tue, 24 May 2016 12:24:30 +0200 (CEST)
Date: Tue, 24 May 2016 12:24:51 +0200
Message-Id: <20160524.122451.316337046466834553.mbj@tail-f.com>
To: lhotka@nic.cz
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <22C4E267-E883-4909-A824-DB742B9F63A4@nic.cz>
References: <m2y48q96f4.fsf@nic.cz> <5742F7FB.4040803@labn.net> <22C4E267-E883-4909-A824-DB742B9F63A4@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/7AWebchD3yHSLCznliuBDXKmBxE>
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 10:24:58 -0000

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

BTW, in this case, it is not obvious that the top-level server knows
anything about the data models mounted by C...


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