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

Robert Wilton <rwilton@cisco.com> Thu, 22 February 2018 17:15 UTC

Return-Path: <rwilton@cisco.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 3F08112D878 for <netmod@ietfa.amsl.com>; Thu, 22 Feb 2018 09:15:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.51
X-Spam-Level:
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: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
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 IKscrbiL8e9s for <netmod@ietfa.amsl.com>; Thu, 22 Feb 2018 09:15:24 -0800 (PST)
Received: from aer-iport-2.cisco.com (aer-iport-2.cisco.com [173.38.203.52]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3EEFA12D879 for <netmod@ietf.org>; Thu, 22 Feb 2018 09:15:24 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=7128; q=dns/txt; s=iport; t=1519319724; x=1520529324; h=subject:to:references:from:message-id:date:mime-version: in-reply-to:content-transfer-encoding; bh=czqBTapjqHVVHkPJNhvHJ30kXHcm/bInnqXSR2f+mrw=; b=B/THitgmEUws6unjA5tQ0wp4N1C/gvc3Pqo5BlRv1Z8I/iKAeK4qMJkl S1cd5kYUXZlVKMaRKd3muZEyyv8S9o/2bES9CC5C57rDK5doyzf0NLQj2 XmQg6I5GpF2/U40wmHdDjS3Kic4ej93XDFThzvabhdsXFFRJvmLt/mkdj 8=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0B/AQD/+Y5a/xbLJq1SChkBAQEBAQEBA?= =?us-ascii?q?QEBAQEHAQEBAQGENXAog2iLGY5YCyeBFphkChgLhEJPAoMGFAECAQEBAQEBAms?= =?us-ascii?q?ohSQBAQQBASEECwEFNhsJAg4KAgImAgInMAYBDAYCAQEXiggQjROddIFtOoUAg?= =?us-ascii?q?3aCFwEBAQEBAQEBAgEBAQEBAQEBAQEBGAWBD4QKg36BZykMgnmDMAEBgUYLAQE?= =?us-ascii?q?egxeCZQEEklaRaQmWDow5iAuQDYgdgTw2IoFRMxoIGxU6gkOEdkE3inGCPgEBA?= =?us-ascii?q?Q?=
X-IronPort-AV: E=Sophos;i="5.47,378,1515456000"; d="scan'208";a="2231248"
Received: from aer-iport-nat.cisco.com (HELO aer-core-1.cisco.com) ([173.38.203.22]) by aer-iport-2.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 Feb 2018 17:15:20 +0000
Received: from [10.63.23.131] (dhcp-ensft1-uk-vla370-10-63-23-131.cisco.com [10.63.23.131]) by aer-core-1.cisco.com (8.14.5/8.14.5) with ESMTP id w1MHFKsA019332; Thu, 22 Feb 2018 17:15:20 GMT
To: Lou Berger <lberger@labn.net>, NetMod WG <netmod@ietf.org>
References: <090b951e-8627-183b-6fe1-ae46da5a90bc@labn.net>
From: Robert Wilton <rwilton@cisco.com>
Message-ID: <195c3186-25ce-3019-1eda-34096fbc8de3@cisco.com>
Date: Thu, 22 Feb 2018 17:15:20 +0000
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0
MIME-Version: 1.0
In-Reply-To: <090b951e-8627-183b-6fe1-ae46da5a90bc@labn.net>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/8PZsxJ91YdFchsMRhaqZRR40ygo>
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: Thu, 22 Feb 2018 17:15:31 -0000

Hi Lou,

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

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.

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