Re: [netmod] Proposal for minimalist full NMDA support in schema mount

Ladislav Lhotka <lhotka@nic.cz> Fri, 23 February 2018 14:55 UTC

Return-Path: <lhotka@nic.cz>
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 42DA6127058 for <netmod@ietfa.amsl.com>; Fri, 23 Feb 2018 06:55:36 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9] 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 FCIAvlgK-y2F for <netmod@ietfa.amsl.com>; Fri, 23 Feb 2018 06:55:33 -0800 (PST)
Received: from trail.lhotka.name (trail.lhotka.name [77.48.224.143]) by ietfa.amsl.com (Postfix) with ESMTP id 023F9124D6C for <netmod@ietf.org>; Fri, 23 Feb 2018 06:55:33 -0800 (PST)
Received: by trail.lhotka.name (Postfix, from userid 109) id 5FC341820412; Fri, 23 Feb 2018 15:52:41 +0100 (CET)
Received: from localhost (nat-2.nic.cz [217.31.205.2]) by trail.lhotka.name (Postfix) with ESMTPSA id 1D71218203F6; Fri, 23 Feb 2018 15:52:38 +0100 (CET)
From: Ladislav Lhotka <lhotka@nic.cz>
To: Robert Wilton <rwilton@cisco.com>, Lou Berger <lberger@labn.net>, NetMod WG <netmod@ietf.org>
In-Reply-To: <195c3186-25ce-3019-1eda-34096fbc8de3@cisco.com>
References: <090b951e-8627-183b-6fe1-ae46da5a90bc@labn.net> <195c3186-25ce-3019-1eda-34096fbc8de3@cisco.com>
Mail-Followup-To: Robert Wilton <rwilton@cisco.com>, Lou Berger <lberger@labn.net>, NetMod WG <netmod@ietf.org>
Date: Fri, 23 Feb 2018 15:55:28 +0100
Message-ID: <87a7vzycv3.fsf@nic.cz>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/hNHWyGUtvSJAvtU8jqDOXlhM5EQ>
Subject: Re: [netmod] Proposal for minimalist full NMDA support in schema mount
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: Fri, 23 Feb 2018 14:55:36 -0000

Robert Wilton <rwilton@cisco.com> writes:

> Hi Lou,
>
> I think that this solution is inferior to the model presented in
> pre-09.

If the choice is between pre-09 and Lou's new proposal, then I strongly
prefer pre-09.

That said, I must also add that I am still not happy with pre-09: I
believe the "schema-ref" choice is an unnecessary complication - the
"inline" mounts needn't interact at all with the YANG library of the
parent tree.

>
> I would prefer that we publish pre09 instead, potentially including the 
> -08 model in the appendix if that helps progress the document in a more 
> expedient fashion.

I don't agree with including such an appendix, it would only confuse the
readers.

Lada

>
> Thanks,
> Rob
>
>
> On 22/02/2018 16:18, Lou Berger wrote:
>> Hi,
>>
>> (I have a bunch of different roles WRT this work.  This mail is being 
>> sent as an individual - as chair, I fully support the previous chair 
>> statements on this draft.)
>>
>> Chris and I have come up with a proposal on how to provide full NMDA 
>> as part the existing schema-mount module.  Our motivation was to 
>> enable full NMDA support with *minimal* change to the model and 
>> disruption to the LC'ed work.  The key NMDA limitation, with -08, that 
>> we are aiming to address is the ability to support different mounted 
>> schema in different datastores for non-inline mount points. (See more 
>> detailed description below if interested full nuances of limitations 
>> of -08)
>>
>> What we came up with was  to simply add a (leaf)list to identify in 
>> which datastores a
>> schema-mount schema is valid/present. This is somewhat similar to 
>> YL-bis schema/module-set. Specifically we're proposing (see below for 
>> full tree below):
>>
>>            +--ro schema* [name]
>>               +--ro name           string
>> ADD          +--ro datastore*    ds:datastore-ref {revised-datastores}
>>
>> This approach has the advantages of supporting different mounted 
>> schema in different DSes, working with both NMDA and non-NMDA 
>> implementations, supporting all of the extensively discussed features 
>> of schema mount (including recursive mounts), and having minor/scoped 
>> impact on all dependent work.  The main downside is that it isn't the 
>> most optimal/compact solution possible if we were to base this work on 
>> YL-bis/pre09 draft.  Of course -08 isn't necessarily optimal from all 
>> perspectives, but it is what was agreed to as sufficient by those who 
>> contribute to the WG discussion.
>>
>> In short, we see this as a solution to  addresses the raised last call 
>> issue with the minimal impact on -08 and dependent work -- which is 
>> what is appropriate given where we are in the process.
>>
>> So our/my question really is:
>>
>>     Is this a solution that you/all can live with?
>>
>> Note: optimization, design preference and perfect alignment with use 
>> or YL-bis are not part of our question as we both don't think that is 
>> the right question given where we are in the WG process.
>>
>> Lou (with ideas developed with Chris, and chair hat off)
>>
>> ======
>> Details -- for those who want
>> ======
>> As background, my understanding/view is that the -08 version of the 
>> both NMDA and non-NMDA supporting implementations, but there are 
>> limitations in its NMDA applicability. Used with Yang Library, 
>> [rfc7895], only non-NMDA implementations can be supported.  When used 
>> with the revised Yang Library defined in 
>> [I.D.ietf-netconf-rfc7895bis-],  NMDA implementations  can be 
>> supported with certain limitations. Specifically, this document 
>> requires use of the now deprecated module-list grouping, and the same 
>> schema represented in schema list of the Schema Mount module MUST be 
>> used in all datastores.  Inline type mount points, which don't use the 
>> schema list,  can support different schema in different data stores 
>> not by instantiating the [I.D.ietf-netconf-rfc7895bis-] version of 
>> YANG library under the inline mount point.
>>
>>     module: ietf-yang-schema-mount
>>         +--ro schema-mounts
>>            +--ro namespace* [prefix]
>>            |  +--ro prefix    yang:yang-identifier
>>            |  +--ro uri?      inet:uri
>>            +--ro mount-point* [module name]
>>            |  +--ro module        yang:yang-identifier
>>            |  +--ro name          yang:yang-identifier
>>            |  +--ro config?       boolean
>>            |  +--ro (schema-ref)?
>>            |     +--:(inline)
>>            |     |  +--ro inline?       empty
>>            |     +--:(use-schema)
>>            |        +--ro use-schema* [name]
>>            |           +--ro name
>>            |           |       -> /schema-mounts/schema/name
>>            |           +--ro parent-reference*   yang:xpath1.0
>>            +--ro schema* [name]
>>               +--ro name           string
>> ADD          +--ro datastore*    ds:datastore-ref {revised-datastores}
>>               +--ro module* [name revision]
>>               |  +--ro name                yang:yang-identifier
>>               |  +--ro revision            union
>>               |  +--ro schema?             inet:uri
>>               |  +--ro namespace           inet:uri
>>               |  +--ro feature*            yang:yang-identifier
>>               |  +--ro deviation* [name revision]
>>               |  |  +--ro name        yang:yang-identifier
>>               |  |  +--ro revision    union
>>               |  +--ro conformance-type    enumeration
>>               |  +--ro submodule* [name revision]
>>               |     +--ro name        yang:yang-identifier
>>               |     +--ro revision    union
>>               |     +--ro schema?     inet:uri
>>               +--ro mount-point* [module name]
>>                  +--ro module        yang:yang-identifier
>>                  +--ro name          yang:yang-identifier
>>                  +--ro config?       boolean
>>                  +--ro (schema-ref)?
>>                     +--:(inline)
>>                     |  +--ro inline?       empty
>>                     +--:(use-schema)
>>                        +--ro use-schema* [name]
>>                           +--ro name
>>                           |       -> /schema-mounts/schema/name
>>                           +--ro parent-reference*   yang:xpath1.0
>>
>> We would expect that the revised-datastores feature would be used
>> (perhaps required) for any implementation that supports ietf-datastores
>> and yl-bis.
>>
>>
>>
>> _______________________________________________
>> netmod mailing list
>> netmod@ietf.org
>> https://www.ietf.org/mailman/listinfo/netmod
>
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod

-- 
Ladislav Lhotka
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67