Re: [netmod] Definitions of YANG schema and Packages (in packages draft) - Issue #74

"Sterne, Jason (Nokia - CA/Ottawa)" <jason.sterne@nokia.com> Fri, 21 January 2022 00:45 UTC

Return-Path: <jason.sterne@nokia.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 EF26C3A0B05 for <netmod@ietfa.amsl.com>; Thu, 20 Jan 2022 16:45:48 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.464
X-Spam-Level:
X-Spam-Status: No, score=-7.464 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.576, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H2=-0.001, SPF_NONE=0.001, T_KAM_HTML_FONT_INVALID=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nokia.onmicrosoft.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 klu1uHyokEM0 for <netmod@ietfa.amsl.com>; Thu, 20 Jan 2022 16:45:43 -0800 (PST)
Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2092.outbound.protection.outlook.com [40.107.93.92]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2250B3A0B0C for <netmod@ietf.org>; Thu, 20 Jan 2022 16:45:43 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ga6qKy7TlacxKa1vi1D+ZQNTE37DCtdRN/MDb40NcvXxTe/sEEBq8hsimInuZ3pXmLxsaAz1CesK5ybeXNArm9NIF8vPpJrHbBzFFSH5g8GyBWFUua121BvORIyGorGeMJXOSEn6xNbSkzQAC299ClnxULAaw8i0inkv95r5tqmT9fLNYajbVwhFQovhX4DOFdSn8Bmwi+tMelqvp+QicfBHwtrezMQbG5C5BI2pxAwn1kiX2VNCUVJlTBonSbiUCr3qGLmk6/CqgC468CO2LyNH2+t+vnTKyNEAytCJORlVYfbdPs8+au9it0unoIKQ+B8HS1P18hc7VXIXe2wrQQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Pqe70tLtAR6tpI821XBe3czyfUm96tVSY21CrFoTdXw=; b=QugJBUPecMRExshJosFQf+1+pqgtGl7lK1lYCx8mbvlDYDf8QymaVBbV6l7Tbov9gvLycv3F3IGh/y3zD6epZhnDOrn5DirRqc5/9wFSiGZhp9rFxiHc6RdvDqRqs+17lbc/8VDhHGIqeN1HZ8xZ8OXs1e00uRPjepgHcHNBQJRty6AAKj+CHjB9VZoVbyt3xy4Dzp58th07PSZq6beonocxcU1FOus5zIKE/3O8yDNph61rKmjuRYztzh7muyGM9QLVo1MetD/MfgO2qWA21Q0NiQX2MK+iZ4PZqeVL2QK6T4nQtPKiR1N9fEpAsjbAbzaxNNYWmY/2sDDCjEPaFA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.onmicrosoft.com; s=selector1-nokia-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Pqe70tLtAR6tpI821XBe3czyfUm96tVSY21CrFoTdXw=; b=cwxWqgL3HLtjN3KtQo4mlpMJR4Db9ct9jMklrw+L6m30Go9XarfGZUlAp/gLh9nnmanICVwSjIrMJ7MePrCyPkOFkk8FZgdd3vJQS+Ct9esK4valfLj2btviHw1qqbJqSheb8sThceTP1wyQsenxrHuU4IvwO+0nHBIugLGdETM=
Received: from DM6PR08MB5084.namprd08.prod.outlook.com (2603:10b6:5:41::29) by CO2PR0801MB2150.namprd08.prod.outlook.com (2603:10b6:102:b::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.10; Fri, 21 Jan 2022 00:45:39 +0000
Received: from DM6PR08MB5084.namprd08.prod.outlook.com ([fe80::d937:3404:2dfc:eb33]) by DM6PR08MB5084.namprd08.prod.outlook.com ([fe80::d937:3404:2dfc:eb33%4]) with mapi id 15.20.4909.010; Fri, 21 Jan 2022 00:45:39 +0000
From: "Sterne, Jason (Nokia - CA/Ottawa)" <jason.sterne@nokia.com>
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
CC: "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: [netmod] Definitions of YANG schema and Packages (in packages draft) - Issue #74
Thread-Index: AdgDQ/x3HOXbFQUgRey//oYRnKBy0gABhJwAADLor2ACko4AYA==
Date: Fri, 21 Jan 2022 00:45:39 +0000
Message-ID: <DM6PR08MB5084258D6265B85C305DFA749B5B9@DM6PR08MB5084.namprd08.prod.outlook.com>
References: <DM6PR08MB50849FCEE5CB4692647FEA919B4C9@DM6PR08MB5084.namprd08.prod.outlook.com> <20220106220922.jcujhjnfzydyb54c@anna> <DM6PR08MB5084C4BED9EBE5A46E2C91AC9B4D9@DM6PR08MB5084.namprd08.prod.outlook.com>
In-Reply-To: <DM6PR08MB5084C4BED9EBE5A46E2C91AC9B4D9@DM6PR08MB5084.namprd08.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nokia.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: cae19a0a-0cc3-46ac-ef70-08d9dc7758a6
x-ms-traffictypediagnostic: CO2PR0801MB2150:EE_
x-microsoft-antispam-prvs: <CO2PR0801MB2150FC46B653B6D153BF24DA9B5B9@CO2PR0801MB2150.namprd08.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: dDrbN12jmstuDFsLiIyB5Fgvih2Mx2rOyWWcogyYFtZan3An++xqGrmqxTA63uzySd1J0NTNBK4XpYiQ6hCBnY3+mpXKnLKx9jjBYDj5NSPMfh40A7SPKAQdeyqNoJc4pZFjzqbtsiCRnuleW10RlcGEOWaI8ecnpKy0IUYnP1FBiL6CqJbcyFlomVqvbt4p82eShvLOl7jWsZFQ4W+oM2Pnrro4zHmTOR72XTHtiCK4C5l//MrIlIQ1jUclhfIUZWhSYpfWxoWqig1VwyD0zMfCR9sx02Xhgw0wzSrqz1SoWqtvW5oLJoUw8U9tw09vtxdhN1SWk7keNLqxdg8CxdFAKKhr/FZH6Cehd2ORXP0ZFINGZAiBxnZCL/6dhdd1sRW1LMpMdiHgEQHwuVP/fwtsI1uKGYkXI0gOeMO0ACw7x81oVXXEnADjNnOivmQn9OLeX+8kDTIhR+pLStUYibKMkb0jziZUhJdDAYEVJYE1RLDm0hOZNuZNRM8L4Yy6ZMJXwiGTyMPyDs24dM/ti7a80ueMHFGcOCw4O9jx2wvygfJ2kmmFvSMOOnFdK6meQoEHnDbN5muMXwsB2wNS9SQ53ItLihn2RhurBYxB0tWRin22c3uyZdpiagbjSY/TnhLN1CBmSKQGCXmaeR2N/XmjaoFFyrGiXeeZJZTAzj+lyASku1jUVmuEyxQFxH5XCD09D0Ke+QFwrnqLSe2coE69MnHlxpUDUnnbtxPtrnni99TnLoWK36bhLQiM4Rge0ZrQFsmyJJrEUBAFMmkoBwguUvB7Q1oErQjBA7b3wvz5r5MZUAkKIV08rV2P2A9I
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR08MB5084.namprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(52536014)(71200400001)(122000001)(7696005)(82960400001)(166002)(9686003)(316002)(5660300002)(4326008)(86362001)(6506007)(966005)(66476007)(66556008)(64756008)(66446008)(38100700002)(66946007)(76116006)(53546011)(38070700005)(2906002)(33656002)(8936002)(55016003)(66574015)(508600001)(26005)(186003)(83380400001)(6916009)(40140700001)(8676002); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: oHPiGL0ZjLysbiPnnmWJetI8bdGKcxI1f70Z9yTKbo5vhDigw4E2xfM224m77fqmiKRn+v9Itv45AGVmT2IymKuiSWsVacPEL6r/6P9SxmQNT+KwnAAZGymKC4P/WuYyi1x0cSM8UvR0Rgcmjue+GHwXzwBZtONnpAU6geAg7hKZwJilu+OVv3CAYfA3akFLgwRreVP/oVGL6lumjsKFoU+PV8GAjvdg7DFp3M8oB0+8D/Zt5Wyey4tAhk6IclCmDlFBaO7hz6MA3tbadz+0bCiBeAYFNmjJtz8sv1b+6hbfacfOkApczbZvI71I/5ROZyhov3I19G7Ywpn2kQbb3IzIlHRyVXFxROav6Wkff6QOgFJQYCehHrPAvMYNm2lBklp7y4Dd6L00EKo9tXjMoN5GnTX+hEjAA5+lo/BdIYYX9DipL9FdLSQy+XaNd2G0x237HNPt0JCNuh4lawh9cT93qs1WBYaSFgVwbZeKixWfGNkNHz33RffynSfqp3r1IXyFQuJNbBnIi/6C2NpDxcUJKZR/7j99BbjZag1BEB1gEkKrPctNBAevlXMWtPPIwaWliReOTQi2SmYTUccP6JsNQhlIDlfUSdwQ4gL3nNBuay07RzrGf1+22GaQWChhEOUKx4xkZqk+KiQ68RgPJu7wnXcP/nvs8etIH/Vg41RCpBDf+o1XlrScVgpNkD60hy0oSaSCpF9vIu/DLQmKGRdcHP9N9xCuVcQRvRXGJxB/8SNPkB4FNirShj9oOAqaK1p0PT2t/YSNvhFCuSTyen2UELeh7U2oGfKFcwah1OqlG8IY4oSbvXCs6WF3yJpa+3U/soe2sIIWGXMXKbPuCbPs1gvwmmT3EL28Dnku6iKGutXXevvLk4+tDeM4yGDBI3FoEQ1KNyJ9h+zrTVtWGhOFffGMCLjjeQvhF1ZPgfZ5aOEneXstd0iSt2x8RbwwtdBvyt4mXkvOIEAZnZQ3IU6dvHU8IxZStUJnhDREd3FdfY+3EWo8xtGS/09rJtPAlfald5+3NL7ttT5oYy7IZuw+hv9YJc2LycrQDaFCAzKRUSk38reIihtSfI19FkwK/BO8lUC0Go969YBTBbzMYNAmQKNNoWUjN1pTsOufJZX3xvUuPEc/XUH9U0nTAdphzW1BCT7TH9vcTU/FxaoJkQDmNLGZuxnUTWl41uhjq0hanJXx+J6IuWCDPqLXqtowxABsoK2r54dALJlJieg0xQAB4W8FR8Z7TVuLAV12bEMw0Cd04Lq3mZ4i8MgMtQQTi0OhFFhtzHw9KIFMxQJ3EGhIl7gok2eow8G2Xl2OuHRS0tS6u7OuiT7jix8VGfDssWoFqs29OtNnHQaY+uiMM2fqaSMtqVEofoEB3W7HxWcnJo7XO7AO8hgkGWUN2cLc/Gbq4z20GzW10PxxhGRQDUg508lk8Cqf/142gj4eaBH/2GvjjndfsJmdiLMve/Y0bw8caF7lJBT+AIl66PwF7FbjPW8B6darc2zd27IumxTkyZSD4xgKMcR+f2SaAquYAis0BoyiBfzXq6V9O8cWShLlCty/BPedOyRWvWeMY3Jvo6EQ4QjFoCGvM/xtockgV8HC5BmF7OTtBbxiubn0fw==
Content-Type: multipart/alternative; boundary="_000_DM6PR08MB5084258D6265B85C305DFA749B5B9DM6PR08MB5084namp_"
MIME-Version: 1.0
X-OriginatorOrg: nokia.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR08MB5084.namprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cae19a0a-0cc3-46ac-ef70-08d9dc7758a6
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jan 2022 00:45:39.5721 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5d471751-9675-428d-917b-70f44f9630b0
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: qPqx2TJJiAlyWeg0h+vjWE57yVBTxXkID+QtgTuxSalyn6e2u0mRpwMIzYCeUvmok6HwjrfTE00D4GqKY/0aeg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO2PR0801MB2150
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/UPFdvscNQeruLu7koMb_WF2kJUI>
Subject: Re: [netmod] Definitions of YANG schema and Packages (in packages draft) - Issue #74
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
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, 21 Jan 2022 00:45:49 -0000

After some discussions on the weekly calls, we are going to avoid defining "YANG schema".  We'll roll the following terms into the next version of the draft:

Abstract:

   This document defines YANG packages; a versioned organizational
   structure used to manage schema and conformance of YANG modules as a
   cohesive set instead of individually.

Terminology:

   o  YANG package: a versioned organizational structure used to manage
      a set of YANG modules that collectively define a package schema.
      YANG packages are defined in Section 5.

   o  package schema: The combined set of schema nodes defined by a YANG
      package.  Package schema can be used to define datastore schema.

Rgds,
Jason

From: Sterne, Jason (Nokia - CA/Ottawa)
Sent: Friday, January 7, 2022 5:37 PM
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Cc: netmod@ietf.org
Subject: RE: [netmod] Definitions of YANG schema and Packages (in packages draft) - Issue #74


Thanks Jürgen.



That might be a good idea to be more specific (i.e. "package schema").  It would result in statements like this in the Packages draft:



YANG package: A versioned organizational structure holding a set of related YANG modules that collectively define a YANG package schema.



package schema: The combined set of schema nodes defined by a YANG package. A datastore schema can be a composition of one or more package schema.



   *  To allow YANG datastore schema to be specified in a concise way rather than…



   1.  A YANG package MAY represent a complete YANG datastore schema or only part of a YANG datastore schema with some module import dependencies missing, as described in Section 5.4.



Jason



> -----Original Message-----

> From: Jürgen Schönwälder <j.schoenwaelder@jacobs-university.de<mailto:j.schoenwaelder@jacobs-university.de>>

> Sent: Thursday, January 6, 2022 5:09 PM

> To: Sterne, Jason (Nokia - CA/Ottawa) <jason.sterne@nokia.com<mailto:jason.sterne@nokia.com>>

> Cc: netmod@ietf.org<mailto:netmod@ietf.org>

> Subject: Re: [netmod] Definitions of YANG schema and Packages (in packages

> draft) - Issue #74

>

> Perhaps it is best to avoid defining the term 'YANG schema', in

> particular if it is the same as the schema implied by a YANG package,

> which I would call a "package schema". I assume that a datastore can

> support multiple packages (not sure, but there is text about "the

> union of a set of compatible packages" in the YANG packages I-D) and

> hence a 'datastore schema' is a composition of one or more "package

> schema".

>

> Perhaps the term "YANG schema" should be left as an opaque name for

> any kind of schema, i.e., any of "datastore schema", "package schema",

> "TBD schema". I think we carefully avoided using "YANG schema" during

> the NMDA and YANG library update work. It might be good if the

> packages work also avoids allocating that term - and using "package

> schema" and 'datastore schema' may actually help to avoid confusion.

>

> /js

>

> On Thu, Jan 06, 2022 at 09:41:43PM +0000, Sterne, Jason (Nokia - CA/Ottawa)

> wrote:

> > Hi all,

> >

> > This email is related to the items (a) and (c) in Issue #74 of the YANG

> versioning work:

> > https://github.com/netmod-wg/yang-ver-dt/issues/74

> >

> > ========================================================

> > First some background:

> >

> > "YANG schema" is not defined in RFC7950 or 8342 (NMDA).

> >

> > 8342 defines the following:

> >

> >    o  schema node: A node in the schema tree.  The formal definition is

> >       provided in RFC 7950.

> >

> >    o  datastore schema: The combined set of schema nodes for all modules

> >       supported by a particular datastore, taking into consideration any

> >       deviations and enabled features for that datastore.

> >

> > 7950 defines the following:

> >

> >    o  schema node: A node in the schema tree.  One of action, container,

> >       leaf, leaf-list, list, choice, case, rpc, input, output,

> >       notification, anydata, and anyxml.

> >

> >    o  schema tree: The definition hierarchy specified within a module.

> >

> > ========================================================

> > Some current definitions in YANG Packages 02

> https://datatracker.ietf.org/doc/draft-ietf-netmod-yang-packages/

> >

> > Abstract

> >

> >    This document defines YANG packages, a versioned organizational

> >    structure holding a set of related YANG modules that collectively

> >    define a YANG schema.

> >

> > Section 1:

> >

> >    *  YANG schema:  A datastore schema, not bound to any particular

> datastore.

> >

> >    *  YANG package: An organizational structure containing a collection

> >       of YANG modules, normally defined in a YANG instance data file.  A

> >       YANG package defines a YANG schema by specifying a set of YANG

> >       modules and their revisions, other packages and their revisions,

> >       mandatory features, and deviations.  YANG packages are defined in

> >       Section 5.

> >

> > Section 2:

> >

> >    A YANG package is an organizational structure that groups a set of

> >    YANG modules together into a consistent versioned definition.

> >

> > Section 5:

> >

> >    A YANG package is a versioned organizational structure defining a set

> >    of related YANG modules, packages, features, and deviations.  A YANG

> >    package collectively defines a YANG schema.

> >

> > ========================================================

> > Proposed updates to the packages draft (changes highlighted in red)

> > - unify the short description of a package in the 4 places (don't try to include

> all details of a package in this short description)

> > - but do we need more than this short description in the abstract and

> sections 1 and 2 ?

> > - do we even need a term called "YANG Schema" ?

> >

> > Abstract

> >

> >    This document defines YANG packages: a versioned organizational

> >    structure defining a set of YANG modules, features, and deviations.

> >

> > Section 1:

> >

> >    This document also makes of the following terminology introduced in

> >    the YANG 1.1 Data Modeling Language [RFC7950]:

> >

> >    *  data node

> >

> >    *  schema node

> >

> >    In addition, this document defines the following terminology:

> >

> >   * YANG schema: The combined set of schema nodes for a set of modules,

> taking into consideration any deviations and enabled features.

> >

> >    * YANG package: A versioned organizational structure defining a set of

> YANG modules, features, and deviations.  A YANG package collectively defines

> a YANG schema.

> > - leave out "normally defined in a YANG instance data file"

> > - leave out "other packages and their revisions"

> > - leave out "submodules"

> > - leave out anything about mount points

> > - "set" vs "collection" vs "groups" vs "holding" of YANG modules:   use "set"

> of YANG modules

> >

> > Section 2:

> >

> >    A YANG package is a versioned organizational structure defining a set of

> YANG modules, features, and deviations.  For

> >    example, a YANG package could define the set of YANG modules required

> >    to implement an L2VPN service on a network device.  YANG packages can

> >    themselves refer to, and reuse, other package definitions.

> > [or add mentions of included packages and mount points here in section 2 ?

> section 1? abstract ?]

> >

> > Section 5:

> >

> >    A YANG package is a versioned organizational structure defining a set

> >    of related YANG modules, packages, features, and deviations.  A YANG

> >    package collectively defines a YANG schema.

> >

> > Jason

> >

> >

> >

>

> > _______________________________________________

> > netmod mailing list

> > netmod@ietf.org<mailto:netmod@ietf.org>

> > https://www.ietf.org/mailman/listinfo/netmod

>

>

> --

> Jürgen Schönwälder              Jacobs University Bremen gGmbH

> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany

> Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>