Re: [netmod] [Netconf] Alternative YANG library structure for 7895bis
Robert Wilton <rwilton@cisco.com> Wed, 15 November 2017 17:29 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 6FE8C127241 for <netmod@ietfa.amsl.com>; Wed, 15 Nov 2017 09:29:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.519
X-Spam-Level:
X-Spam-Status: No, score=-14.519 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, 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 s5zZVsZ7xfpi for <netmod@ietfa.amsl.com>; Wed, 15 Nov 2017 09:29:29 -0800 (PST)
Received: from alln-iport-5.cisco.com (alln-iport-5.cisco.com [173.37.142.92]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EC31E126CD8 for <netmod@ietf.org>; Wed, 15 Nov 2017 09:29:28 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=28169; q=dns/txt; s=iport; t=1510766968; x=1511976568; h=subject:to:references:from:message-id:date:mime-version: in-reply-to; bh=sThAUiTYlU5aAZYpnp3a1/Jv7VSXGlwBoQ9rfs3TINs=; b=ObNW+GOH5h/zBXQO3pp+9ezD9TbNpTfxxzkSFknDikAqs7YBtGgSf4Y/ 1j54n/khL3him3XuHOmEF59prgH/TPQyrkz8LeOjANrtAPIt6Vlk7vjjA vWjE3Jd0TvDlppAtwe3jojAv41pOyP2t0HCSUc1zvyr89+nIF5EhxPasr 4=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0AMAQDMeAxa/4wNJK1dGQEBAQEBAQEBAQEBAQcBAQEBAYJEcmRuJ4N/ih+PIIFXJpZdEIIBChgBCoRJTwKFDj8YAQEBAQEBAQEBayiFHwEBBAEBIQRHGwkCGCAKAgInMAYBDAYCAQEXigkQiyudaIFtOiaKbQEBAQEBAQEBAQEBAQEBAQEBAQEBARgFgzSCB4FVgWkpC4FpgQ2EZQESAQmDK4JjBYo0hz2BE48zlQaCFYYKg2CHRY46h3SBOR84QkFxNCEIHRVJgmSEbDQ2iVuCNQEBAQ
X-IronPort-AV: E=Sophos; i="5.44,399,1505779200"; d="scan'208,217"; a="31348139"
Received: from alln-core-7.cisco.com ([173.36.13.140]) by alln-iport-5.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 15 Nov 2017 17:29:27 +0000
Received: from [10.24.103.1] ([10.24.103.1]) by alln-core-7.cisco.com (8.14.5/8.14.5) with ESMTP id vAFHTQUU031879; Wed, 15 Nov 2017 17:29:26 GMT
To: Vladimir Vassilev <vladimir@transpacket.com>, "netmod@ietf.org" <netmod@ietf.org>
References: <e35fe233-af5b-58f2-35e4-901eb7eea454@cisco.com> <75e91419-9436-d1b7-29f6-02e3ff4ff86d@transpacket.com>
From: Robert Wilton <rwilton@cisco.com>
Message-ID: <668cc9e1-c006-ce25-1473-549bc0b71a7d@cisco.com>
Date: Thu, 16 Nov 2017 01:29:25 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0
MIME-Version: 1.0
In-Reply-To: <75e91419-9436-d1b7-29f6-02e3ff4ff86d@transpacket.com>
Content-Type: multipart/alternative; boundary="------------ACEDF0DCD72BF670F763C3CB"
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/0aL3j5Y_63libZrnVOirCyVJy1E>
Subject: Re: [netmod] [Netconf] Alternative YANG library structure for 7895bis
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: Wed, 15 Nov 2017 17:29:32 -0000
I don't think that this is really a good idea. You would end up returning server metadata in addition to the configuration. I still think that the YANG library proposal is the best solution. Thanks, Rob On 16/11/2017 01:21, Vladimir Vassilev wrote: > Hello, > > I have a proposal based on <get-data> that provides an elegant > solution to consider as a 3rd option. It is based on keeping exactly > the same model as in RFC 7895 and using <get-data> RPC to retrieve > datastore specific yang-library instance data in a similar way one > would use <get-data> to retrieve the datastore contents. In addition a > top level config=false container e.g. /datastores with list of > supported datastores that does not need to be part of the yang-library > module: > > module: ietf-datastores > +--ro datastores > | +--ro datastore* [name] > | +--ro name identityref > > Vladimir > > On 11/09/2017 05:51 PM, Robert Wilton wrote: >> >> Hi, >> >> Given some of the feedback related to the complexity of the YANG >> library bis structure, we have come up with two other possible >> structures for the YANG library data: >> >> (1) A simplified structure to make YANG library meet the NMDA >> requirements, but that is closer to the existing YANG library >> structure, and arguably simpler. >> (2) An enhanced version of the structure (1) above, that is also >> extended to allow the structure to be reused for schema-mount via an >> augmentation. >> >> For reference, at the end of this email, I have also included the >> tree diagram of the existing YANG library, and the current YANG >> library bis draft (draft-ietf-netconf-rfc7895bis-02) version. >> >> Considering the two new YANG library structures: >> >> ------------------------ >> >> *(1) A simplified structure to make YANG library meet the NMDA >> requirements, but that is closer to the existing YANG library structure.* >> >> The main changes are: >> (i) Split "implemented modules" and "import-only-modules" into two >> separate lists, making the most important list (i.e. implemented >> modules) keyed by module name only and hence easier to reference. >> (ii) Assume modules are implemented in all datastores by default >> (with a "not-implemented-in" leaflist of datastores that a module is >> not implemented in). >> (iii) Assume that features are implemented in all datastores by >> default (with a "not-implemented-in" leaflist of datastores that a >> feature is not implemented in). >> (iv) Deleted module-sets. >> (v) Datastores are now just a list of supported datastores (that >> could potentially be extended with further per datastore properties >> in future). >> >> Manually generated tree output for proposed YANG library: >> >> module: ietf-yang-library >> +--ro yang-library >> +--ro modules >> | +--ro module* [name] >> | | +--ro name yang:yang-identifier >> | | +--ro revision? revision-identifier >> | | +--ro schema? inet:uri >> | | +--ro namespace inet:uri >> | | +--ro submodule* [name] >> | | | +--ro name yang:yang-identifier >> | | | +--ro revision? yang:yang-identifier >> | | | +--ro schema? inet:uri >> | | +--ro not-implemented-in* >> | | | -> /yang-library/datastore/name >> | | +--ro feature* [name] >> | | | +--ro name yang:yang-identifier >> | | | +--ro not-implemented-in* >> | | | -> /yang-library/datastore/name >> | | +--ro deviation* >> | | -> ../name >> | | >> | +--ro import-only-module* [name revision] >> | +--ro name yang:yang-identifier >> | +--ro revision union >> | +--ro schema? inet:uri >> | +--ro namespace inet:uri >> | +--ro submodule* [name] >> | +--ro name yang:yang-identifier >> | +--ro revision yang:revision-identifier >> | +--ro schema? inet:uri >> +--ro datastore* [name] // Allows future per datastore properties. >> | +--ro name identityref >> +--ro checksum string >> >> ------------------------------ >> >> *(2) An enhanced version of the structure (1) above, that is extended >> to allow the structure to be reused for schema-mount via an >> augmentation.* >> >> This is similar to the structure above, except that the "the set of >> modules" is contained in a list of named schema (e.g. similar to the >> schema mount draft), allowing this structure to be re-used for schema >> mount. >> >> Schema mount would be expected to augment yang-library to add in the >> additional schema mount information. In the tree diagram, I have >> shown the schema-mount mount-point augmentation, but not including >> namespaces yet. >> >> Every server would be required to provide at least one schema in the >> schema list, and the primary schema for the device would always be >> given the name "primary". >> >> module: ietf-yang-library >> +--ro yang-library >> +--ro schema* [name] >> | +--ro name string >> | +--ro checksum string >> | +--ro module* [name] >> | | +--ro name yang:yang-identifier >> | | +--ro revision? yang:revision-identifier >> | | +--ro schema? inet:uri >> | | +--ro namespace inet:uri >> | | +--ro submodule* [name] >> | | | +--ro name yang:yang-identifier >> | | | +--ro revision? yang:yang-identifier >> | | | +--ro schema? inet:uri >> | | +--ro not-implemented-in* >> | | | -> /yang-library/datastore/name >> | | +--ro feature* [name] >> | | | +--ro name yang:yang-identifier >> | | | +--ro not-implemented-in* >> | | | -> /yang-library/datastore/name >> | | +--ro deviation* >> | | | -> ../name >> | | +- schema-mount:mount-point* [label] >> | | +--ro label yang:yang-identifier >> | | +--ro config? boolean >> | | +--ro (schema-ref) >> | | +--:(inline) >> | | | +--ro inline? empty >> | | +--:(use-schema) >> | | +--ro use-schema* [name] >> | | +--ro name >> | | | -> /yang-library/schema/name >> | | +--ro parent-reference* yang:xpath1.0 >> | | >> | +--ro import-only-module* [name revision] >> | +--ro name yang:yang-identifier >> | +--ro revision union >> | +--ro schema? inet:uri >> | +--ro namespace inet:uri >> | +--ro submodule* [name] >> | +--ro name yang:yang-identifier >> | +--ro revision yang:revision-identifier >> | +--ro schema? inet:uri >> +--ro datastore* [name] // Allows future per datastore properties. >> | +--ro name identityref >> +--ro checksum string >> >> Please can you provide comments on these structures, in particular: >> >> Is this version better (i.e. simpler) that the version currently in >> draft-ietf-netconf-rfc7895bis-02 (below)? >> >> Should we try and make the structure extensible for schema-mount via >> augmentation (i.e. version (2)), or is it better that schema-mount >> has its own separate subtree? >> >> For reference only I have included the existing YANG library and YANG >> library bis draft tree diagrams. >> >> Thanks, >> Rob >> >> >> ----------------------------- >> >> *** FOR REFERENCE ONLY *** >> >> (3) The current YANG library structure in YANG library bis >> (draft-ietf-netconf-rfc7895bis-02) >> >> module: ietf-yang-library >> +--ro yang-library >> +--ro modules >> | +--ro module* [id] >> | +--ro id string >> | +--ro name yang:yang-identifier >> | +--ro revision? revision-identifier >> | +--ro schema? inet:uri >> | +--ro namespace inet:uri >> | +--ro feature* yang:yang-identifier >> | +--ro deviation* [module] >> | | +--ro module -> ../../id >> | +--ro conformance-type enumeration >> | +--ro submodule* [name] >> | +--ro name yang:yang-identifier >> | +--ro revision? revision-identifier >> | +--ro schema? inet:uri >> +--ro module-sets >> | +--ro module-set* [id] >> | +--ro id string >> | +--ro module* -> ../../../modules/module/id >> +--ro datastores >> | +--ro datastore* [name] >> | +--ro name identityref >> | +--ro module-set >> | -> ../../../module-sets/module-set/id >> +--ro checksum string >> >> ----------------------------- >> >> *** FOR REFERENCE ONLY *** >> >> (4) The current YANG library structure (RFC 7895) >> >> +--ro modules-state >> +--ro module-set-id string >> +--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 >> >> >> >> _______________________________________________ >> Netconf mailing list >> Netconf@ietf.org >> https://www.ietf.org/mailman/listinfo/netconf >
- Re: [netmod] [Netconf] Alternative YANG library s… Vladimir Vassilev
- Re: [netmod] [Netconf] Alternative YANG library s… Robert Wilton
- Re: [netmod] [Netconf] Alternative YANG library s… Vladimir Vassilev
- Re: [netmod] [Netconf] Alternative YANG library s… Martin Bjorklund
- Re: [netmod] [Netconf] Alternative YANG library s… Vladimir Vassilev
- Re: [netmod] [Netconf] Alternative YANG library s… Vladimir Vassilev
- Re: [netmod] [Netconf] Alternative YANG library s… Robert Wilton
- Re: [netmod] [Netconf] Alternative YANG library s… Andy Bierman
- Re: [netmod] [Netconf] Alternative YANG library s… Robert Wilton
- Re: [netmod] [Netconf] Alternative YANG library s… Andy Bierman
- Re: [netmod] [Netconf] Alternative YANG library s… Robert Wilton
- Re: [netmod] [Netconf] Alternative YANG library s… Martin Bjorklund
- Re: [netmod] [Netconf] Alternative YANG library s… Vladimir Vassilev
- Re: [netmod] [Netconf] Alternative YANG library s… Martin Bjorklund
- Re: [netmod] [Netconf] Alternative YANG library s… Juergen Schoenwaelder
- Re: [netmod] [Netconf] Alternative YANG library s… Vladimir Vassilev
- Re: [netmod] [Netconf] Alternative YANG library s… Juergen Schoenwaelder
- Re: [netmod] [Netconf] Alternative YANG library s… Ladislav Lhotka
- Re: [netmod] [Netconf] Alternative YANG library s… Kent Watsen
- Re: [netmod] [Netconf] Alternative YANG library s… Andy Bierman
- Re: [netmod] [Netconf] Alternative YANG library s… Vladimir Vassilev
- Re: [netmod] [Netconf] Alternative YANG library s… Juergen Schoenwaelder
- Re: [netmod] [Netconf] Alternative YANG library s… Robert Wilton
- Re: [netmod] [Netconf] Alternative YANG library s… Robert Wilton
- Re: [netmod] [Netconf] Alternative YANG library s… Vladimir Vassilev
- Re: [netmod] [Netconf] Alternative YANG library s… Juergen Schoenwaelder
- Re: [netmod] [Netconf] Alternative YANG library s… Robert Wilton
- Re: [netmod] [Netconf] Alternative YANG library s… Andy Bierman
- Re: [netmod] [Netconf] Alternative YANG library s… Vladimir Vassilev
- Re: [netmod] [Netconf] Alternative YANG library s… Juergen Schoenwaelder
- Re: [netmod] [Netconf] Alternative YANG library s… Martin Bjorklund
- Re: [netmod] [Netconf] Alternative YANG library s… Vladimir Vassilev
- Re: [netmod] [Netconf] Alternative YANG library s… Martin Bjorklund
- Re: [netmod] [Netconf] Alternative YANG library s… Vladimir Vassilev
- Re: [netmod] [Netconf] Alternative YANG library s… Juergen Schoenwaelder
- Re: [netmod] [Netconf] Alternative YANG library s… Vladimir Vassilev
- Re: [netmod] [Netconf] Alternative YANG library s… Robert Wilton
- Re: [netmod] [Netconf] Alternative YANG library s… Andy Bierman