Re: [netmod] explicit mount

Martin Bjorklund <mbj@tail-f.com> Wed, 24 February 2016 21:30 UTC

Return-Path: <mbj@tail-f.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 2E5F91B40F4 for <netmod@ietfa.amsl.com>; Wed, 24 Feb 2016 13:30:18 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.907
X-Spam-Level:
X-Spam-Status: No, score=-1.907 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.006, SPF_PASS=-0.001] autolearn=ham
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 FKrU8rkhRjYS for <netmod@ietfa.amsl.com>; Wed, 24 Feb 2016 13:30:12 -0800 (PST)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 4EA581B40C7 for <netmod@ietf.org>; Wed, 24 Feb 2016 13:30:12 -0800 (PST)
Received: from localhost (h-91-77.a165.priv.bahnhof.se [212.116.91.77]) by mail.tail-f.com (Postfix) with ESMTPSA id 2B85F1AE0336; Wed, 24 Feb 2016 22:30:10 +0100 (CET)
Date: Wed, 24 Feb 2016 22:30:40 +0100
Message-Id: <20160224.223040.105115912610069020.mbj@tail-f.com>
To: j.schoenwaelder@jacobs-university.de
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <20160224160933.GA17873@elstar.local>
References: <20160223.160806.696185201696745163.mbj@tail-f.com> <20160224160933.GA17873@elstar.local>
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/-0OvO_qGmWWYm1ClhGAPKQc2pNE>
Cc: netmod@ietf.org
Subject: Re: [netmod] explicit mount
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: Wed, 24 Feb 2016 21:30:18 -0000

Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> wrote:
> On Tue, Feb 23, 2016 at 04:08:06PM +0100, Martin Bjorklund wrote:
> > Hi,
> > 
> > In yesterday's meeting, Lou (I think?) mentioned a use case for mount
> > that is not documented in draft-rtgyangdt-rtgwg-device-model; the need
> > for being able to specify modules to mount directly in the schema.
> > Something like this:
> > 
> >   container root {
> >     ymnt:mount-point "lne" {
> >       ymnt:mount-module "ietf-interfaces";
> >     }
> >   }
> > 
> > It would be useful if the use case for this could be described in more
> > details.  Is it a requirement to be able to specify this in the
> > schema, or could it be done (as Chris mentioned) in the RFC text?
> > 
> > The reason I ask is that it is probably not as simple as the example
> > above.  First, you probably need to specify a revision of the module
> > to be mounted.  Or a min-revision.  Then probably a set of features
> > that must be enabled.  And so on.  It turns out that there is already
> > a proposal for specifying such a "conformance profile" - YANG Packages
> > (see draft-bierman-netmod-yang-package).  Maybe it would be better to
> > re-use packages?
> 
> We are talking schema mount, right?

Yes.

> So why would features matter?

If you want to mount a certain module, and that module has
feature-conditional subtrees, you may want to make sure that those
features are supported.  If these features are not specified in the
schema, we need to invent some mechanism for the server to advertise
them for the mounted subtree.  This is the job for the inline
ietf-yang-library, or /mount-points state data in the structural-mount
draft.

My point is that while this idea (list the module you want to be
mounted) seems simple, there are some issues to solve.  Hence I would
like to understand the use case before suggesting a solution.

> Yes,
> there might be interesting versioning issues but how are they
> different from an augmentation putting data under root? I naively
> considered such a 'static schema defined mount' the simplest case,
> then the 'augmented schema defined mount' naturally following from the
> way augmentations work:
> 
>   augment /some:root {
>     ymnt:mount-point "lne" {
>       ymnt:mount-module "ietf-interfaces";
>     }
>   }
> 
> The 'dynamic runtime defined mounts' may be most flexible but then
> they require me to read runtime data in order to adapt to the schema
> structure, which has its own set of complexities.

I agree.


/martin


> Yes, the versioning
> issues go away since I have to adapt to each implementation
> dynamically but there is surely a cost involved with that as well.
> 
> Am I missing something?
> 
> /js
> 
> -- 
> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>
>