Re: [netmod] schema-mount pre09 branch

Robert Wilton <> Tue, 06 February 2018 14:39 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id B333712D7EF for <>; Tue, 6 Feb 2018 06:39:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -14.51
X-Spam-Status: No, score=-14.51 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id Yere6TLR4nGJ for <>; Tue, 6 Feb 2018 06:39:30 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 0C4A512D7EC for <>; Tue, 6 Feb 2018 06:39:29 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=6064; q=dns/txt; s=iport; t=1517927970; x=1519137570; h=subject:to:cc:references:from:message-id:date: mime-version:in-reply-to:content-transfer-encoding; bh=WximwF15Fjoy4vMlHYXVo1T3xp0BhajHxR4PiqKKwl0=; b=lhlqtjU9u1WX6JzKv65t6AG570aC7JhLy8CC4TatHIVp/UAo3IeqizG+ g/NTOKxuZutvPfAKLZ2W+bMcZSCRZFuylL2HeGeIbyfPeeGWpaDxJJ4o3 IHSnuXdzveIGgT7KPcSLlP/9fsRF2kA67bE2KZwVpCwGlH4DuNsiZIvdN A=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0BzAQDKvHla/xbLJq1cGQEBAQEBAQEBA?= =?us-ascii?q?QEBAQcBAQEBAYQ3cCiDZYsYjz+ZYAoYBoROTwKDNBQBAQEBAQEBAQJrKIUjAQE?= =?us-ascii?q?BAwEBASEPAQU2CwULCw4KAgImAgInMAYNBgIBAReKEggQtjCCJ4UAg3yBeAEBA?= =?us-ascii?q?QEBAQEBAQEBAQEBAQEBAQEBARgFgQ+DW4NsgWgpgwWDLwEBAhmBQIMtgmUFkku?= =?us-ascii?q?RY4gajVqCHoYng3Mmh16LDIJlgXiIF4E8NiI/gREzGggbFT2CRoR3QTcBAQGPF?= =?us-ascii?q?wEBAQ?=
X-IronPort-AV: E=Sophos;i="5.46,469,1511827200"; d="scan'208";a="1895792"
Received: from (HELO ([]) by with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Feb 2018 14:39:28 +0000
Received: from [] ( []) by (8.14.5/8.14.5) with ESMTP id w16EdRDC009689; Tue, 6 Feb 2018 14:39:27 GMT
To: Martin Bjorklund <>
References: <> <> <>
From: Robert Wilton <>
Message-ID: <>
Date: Tue, 6 Feb 2018 14:39:27 +0000
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2
MIME-Version: 1.0
In-Reply-To: <>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US
Archived-At: <>
Subject: Re: [netmod] schema-mount pre09 branch
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: NETMOD WG list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 06 Feb 2018 14:39:33 -0000

Hi Martin,

On 06/02/2018 14:00, Martin Bjorklund wrote:
> Hi,
> Thanks for your comments, see inline.
> Robert Wilton <> wrote:
>> Hi,
>> Some comments on the pre-09 version, particularly the data model.
>> 1) I still don't get why this draft is called "YANG Schema Mount"
>> rather than "YANG Mount", since to me this implies that it *only* the
>> schema that is being made available, and by implication not the
>> instance data.  I.e. I can see what schema a VM is using, but I cannot
>> access the instance data of that VM.
>> I understand the scope of the draft (and I'm not trying to change that
>> at all), and agree that it doesn't specify any protocol for how to
>> remotely mount data (e.g. peer mount).  But my understanding of the
>> solution here is that it doesn't just mount the schema.  I think that
>> it also always makes the mounted instance data available using the
>> regular NETCONF/RESTCONF operations right?  Which sounds like it is
>> doing more than just mounting the schema!
> Once you have a mounted schema, even in the inline case, a server
> might be just a single normal server with no extra VMs or anything;
> you just have a nested schema.  Such a server would allow you to use
> normal edit-config to add mounted data, and it would just affect that
> single server's database and instrumentation.
OK.  So, it is not just the schema that is available, but also the 
instance data associated with that schema.

> The point is that schema mount says nothing about *how* things are
> instantiated.
I agree.

But I think that is also consistent with how the term "mount" is used 
from its Unix heritage.

I.e. just because some data is mounted doesn't imply that it is remote.  
E.g. if I look at my Linux VM's /etc/mtab I see a dozen mount points, 
only one of which I would class as being remote (from the perspective of 
the VM).

Whereas, to me the term "schema mount" implies that it is only the 
schema that are being mounted.  Why would there be instance data 
available if the only thing that is being mounted is the schema?

> Peer mount, OTOH, attaches instance-specific meaning to its mount
> points - if you try to write to peer mounted data the server will act
> as a "proxy" and write to the remote server.  (ok, current peer mount
> is defined to be read-only, but you get my point).
Yes, OK.  But I don't think that the term "YANG Mount" implies "Peer mount".

Extending the filesystem analogy further, I think that YANG mount tell 
you the mounted path, whether it is read/write, and where to find the 
schema.  It doesn't specify what protocol is being used to access that 
data.  E.g. in future I could imagine that peer mount might want to 
augment the mount-point/inline to indicate further properties about the 
mount point.  But this would seem to be somewhat odd if what it is 
augmenting is a "YANG schema mount" rather than just a "YANG mount".

>> 2) Regarding the YANG Data Model:
>> (i) Should "schema-mounts" just be "mounts", since it is already under
>> the "schema" container.
> I don't have a strong opinion on this.
>> (ii) Should "parent-references" be part of the "use-schema" container,
>> or should then be part of a schema directly.  E.g. should schema-mount
>> augment yanglib:schema with both a "mounts" container and a
>> "parent-reference" leaflist.
> This would mean the same parent-references for all mount points in a
> schema, as opposed to per-mount-point parent-references as we have
> today.  Lada, what's your opinion on this?
>> (iii) Do we definitely need the namespace list?  Shouldn't the
>> prefixes/namespaces be resolved against the implemented modules in the
>> referenced schema, or is this not sufficient?  If this is not
>> sufficient, I wonder if it would be helpful for the draft to describe
>> this.
> It is not sufficient b/c the only prefixes available from the
> implemented modules are the prefixes in the modules themselves, and
> they aren't necessarily unique.
OK.  So would another choice could be to rather than having the 
namespace map from  prefix to namespace, instead have it as a map from 
prefix to module name (which is resolved against the implemented modules 
in the parent schema(s))?

The URI would still be available form the module entry in the parent 
schema (if required).  I'm just wondering whether this would make the 
binding feel a bit less XML encoding specific.


>> (iv) I agree with Juergen that "inline" is a confusing term because it
>> is meaning that the mounted schema is available inline in the instance
>> data tree, not that it is inline in the schema tree.
> /martin
>> Thanks,
>> Rob
>> On 31/01/2018 21:36, Kent Watsen wrote:
>>> All,
>>> 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?
>>> The "txt" version of the draft:
>>> rfcdiff against the current -08 draft:
>>> Since rfc7895bis obsoletes RFC 7895, the
>>> server-must-implement-rfc7895bis requirement is no surprise, right?
>>> Thanks,
>>> Kent // shepherd
>>> _______________________________________________
>>> netmod mailing list
>>> .
> .