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

"Sterne, Jason (Nokia - CA/Ottawa)" <jason.sterne@nokia.com> Thu, 06 January 2022 21:41 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 6B6B13A16F9 for <netmod@ietfa.amsl.com>; Thu, 6 Jan 2022 13:41:54 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.474
X-Spam-Level:
X-Spam-Status: No, score=-2.474 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_MSPIKE_H2=-0.001, SPF_NONE=0.001, 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 hYLV_FcJ4Fq5 for <netmod@ietfa.amsl.com>; Thu, 6 Jan 2022 13:41:50 -0800 (PST)
Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2108.outbound.protection.outlook.com [40.107.220.108]) (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 E6E893A16F8 for <netmod@ietf.org>; Thu, 6 Jan 2022 13:41:49 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=k1TSmNqm+3IeqjglTjDnpvtwemfT7RuKpBcynUrLT7R784GnWRXnI9bhumNyy6uaFLvoWapiISNp64iqJWI+vsCLTQQhcjqDwffscNl3SJFbDq74HrJprQtIE0g94D0gkdmL1f8S6e1sbia8Zrxgp/jQi3BRCv7kAvhUdp38pngFvJuL+K5Xd7TP9c4z1kjPgZW4yn7tb9ivPs1sv+tUWdUUGatnH50UIIcsDRRVdAZ0DxE6r3Re5wlaFaDTHSC/rQrua6TAE5pZRaqslAfXeJU75RRXnfhPrWCEbW1ycgfU34euX4D1MG6yOXPwtqXtC3Jh0NPf0UaTQMmn6zJDNg==
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=9Fnd4CC1uw/Ozf3if2yHKjqGzrBCTylCJ5oj8uIrGak=; b=QoQc8ZaOAxX39aGpPoQdtLJ0MeRQ5gNIWFkW73hRToEXj7sp/oasCOHp0RGaHgGBghufI1BTT3E4yU0R0EyiuNn9Q4MZ+96a7kHxk8fO+94V9bHiMTPUnjq4Yy1D6kPHDWlnpjLUX9JBSoWkJV0qMIOFVBOmDE4IMHLwH7zLztzC13kF/N4uBJmBnsPrTOomxf7kjo1SSbJHfZDHomzvSvg1TFXgi9fGA1I1rW1C+TByfhX5iECP94OBGC8nfOlXhsJ8D7iRrX0r4JyvR6zb5FqO7l1v7qS7/zPuJgeGX/QiXf7y2EaPM5tfUdLSPKyg+KzUNpv0O8MPui26dJkTqg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nokia.com; dmarc=pass action=none header.from=nokia.com; dkim=pass header.d=nokia.com; 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=9Fnd4CC1uw/Ozf3if2yHKjqGzrBCTylCJ5oj8uIrGak=; b=Al6tpQ0RdFCA+akC3Ml2b6MSiK7ZUll3xY3E9zuWJDCMWYEyzJgFhsdLUSSaVNum+JVPvYqHCxsMovAtouOaNHpjwCSnWo7FsKfzXReypxZCzXtCcA49eQZr14jJN+amAwiil8XbQs3Qk+xhrR/wSKCR+nLD4pmy5NdBBHIA4DA=
Received: from DM6PR08MB5084.namprd08.prod.outlook.com (2603:10b6:5:41::29) by DM6PR08MB4234.namprd08.prod.outlook.com (2603:10b6:5:a3::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.7; Thu, 6 Jan 2022 21:41:44 +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.4867.009; Thu, 6 Jan 2022 21:41:44 +0000
From: "Sterne, Jason (Nokia - CA/Ottawa)" <jason.sterne@nokia.com>
To: "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: Definitions of YANG schema and Packages (in packages draft) - Issue #74
Thread-Index: AdgDQ/x3HOXbFQUgRey//oYRnKBy0g==
Date: Thu, 06 Jan 2022 21:41:43 +0000
Message-ID: <DM6PR08MB50849FCEE5CB4692647FEA919B4C9@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: 4b1a3e12-263f-456d-aeaa-08d9d15d553a
x-ms-traffictypediagnostic: DM6PR08MB4234:EE_
x-microsoft-antispam-prvs: <DM6PR08MB42344EAE79324E1373F102909B4C9@DM6PR08MB4234.namprd08.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: qrV6F6WK0msiT1aLSRjvCz3NCQYPblLiFGhEkp07+qZb9Fgxp5+xsO50ab/7SxKc404P484AEdxLXxtEvl7+P/yVeqkwrpBe4qlW6kzMHqWFMUIbJLBi+MMhNZsv1Re3eBq0/dUGJD8nC2/JZcKyXFUNv0qUoBnvZrtJCt0Q/EIKtouNkTGDCC/UB6wtoMMspdn736gG2NDJu1lEbAvoNDkL37RESJa3jlhRspwAu4y7ogPqD0aaZ/xNEUtvqhQ5Z/yxMcce4899HveXTVOXctIdtJM5ngpS4VhafyGc2ElY6Scu1Su43te9YcH/gyfUSId/k4ncc/3hIAL9Ineh2QL7SAAwgP/nLq9oQ0U6RvAYBctkPzR7INAUeZiIYAkeBU273KBE+6+NRIhOw01ObfbI+2N/XqPaw/E3RK0TimQap+SPcXEDK6r6+Sun+Ot7jvb9gxY77GdfaIfTmf9Prt6tmNMs1D0+asYrktW1ipYL/7R5aiYhWBAYke6r26YUSZRzZmh+H50qx4bwgGRLE/72RaevMWiE588E0ZMpEHdoLrU6T2HJEGE2kukUdGPBeCxfIT98aO0N9V86Zzzzu4jcHqB0NRHeFLOXV0oDn0rbeYQySZEw/H43S19oPzuSH/fn/pFi5r2lBjUz1pB3xitACXeUPYQNo+JHWpe4531SwpxypSlX2D4C5SAM63Uzv4pHLvuydDR67MpdbaJPh/vgk5AtKZcAHxIGq5V28zpvUHMpi9MKQBiqkD7rF8QZaAwAMkTfeoEOjI3kly3kJ/haesjvGQBw3FikC52yv00MXKC/B20fCQo3mAJzR8AhMifgW5a1qaglweVHnh7iRw==
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)(508600001)(9686003)(8676002)(71200400001)(83380400001)(38070700005)(33656002)(26005)(2906002)(66476007)(86362001)(7696005)(122000001)(38100700002)(6506007)(5660300002)(55016003)(186003)(52536014)(8936002)(76116006)(66946007)(82960400001)(66446008)(6916009)(66556008)(64756008)(966005)(316002); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: /vtiDaf+geKk7xc6CuysBobwDsLqKnrCifPRIwKfDJLrhuIcb0qWJMSCe6d82Rs2IyQ1BcUDu0rS6YP3aWAlkqhakZLSnrWpxfF9T3FwIcBh5s55mga4VyFZ75FA+XbpzgqtcZfqy+Pld6OZ2oL7ULTJK4nSlSsV4rwZg4VarGVJpmqdVEruYjPuaQxSh8Jvbv7JTsSk/3hokgc7yz9cz+gFFw7G+ONmwp3gZY4ixtRVH1pxC/Dgr3Pr6KAqYIGInp8mBVJ0+PdYSQkzzPsQz0lu/vQYTLjIG6/Fjx/IEVPxxgfqnWdqmk/F5LuTwq2Qp2jaNPOgezTfjnwagWVLIx27Z/CtIqz4VruzggbAxLDqr9Wzpan0iU1UTsvbVhGVsip6TbIJysZIAE8I485KH1/butmQqUG2oFOM9oXKRAVXkUlxmlwPDA/h8Mhfjnt4uY/a7qDvA4InghoOchiHqGTgUa3j2g9VchxV6hQ7gbL9g0ppagfdnwBUusFestFgCpkGqvxF4rEOd9xrq0nomnqKYrslP3g679pL2O5GiSwX4U+jF0CSs8LokWJIi/mOct/tWOCCnvzJdDp1Lib7EORtSfy7+vUquQY635oZCNF1RxbuomabvX5mXJ+C1nyhaZS8NlSXSWy0gZO/YIC6wTdrWx686LajZ2SnHpvEbt+3w7hYJtmsdQ10Kz/Gtzp0fwpyPF6RQHYnML0TQi6chnfA3HUEzo9IWfShxvyrmqaGg8poHJEUOKcLeCO+9WxUzlma3al6a4tGDYQ5gffOMrfcf1Q+LKfqYyQyRu3/Vlmq/KCDU6VznvBLR/aY43WketgsoFkVZ/Ros6lotU5Sl92RQTdvZ+Dzz8FsZq9NiApa3vz+g8HIulR/o4uYua3hEPlPVgE6pD8B7mJCErPiduUwR2EK3Y35QqFEVZmrFK6doyXqYFJ4460VX036T8RIgO7/v1O1zelWKrisCXPBGqYtcQFH2d/h0VtAqW5yFIbs4BqsD9Mel/GF6i9UvFtDF4GSUDeyWh20ogFKVhl/uavJz/WnZTcj4jxhN2V6A7peyZ99r/Z3fdLoy6dL/9GHHkEY+DNyghnXTo5gZk1KGWUvaBR+EItUzWBalu+Fjv6OUQe580Ywl8wemWig6agpMGs6+bq6WXbcpXxcWHcDqzkNAt4PJAyhey9vcZppI5tZiwWWuxYqjroIXREv6CkUYmR/h0jbgYO5Ipt50FGIPprJu2TYEL0XCoodbviG/GoxXyi19JczpE6LEFmIMlIHo1lqeesnhsGsEWUNGy4r1ijAIrmcK2kqbEROCPRRivBGWsAt0urPqHzX/15zrgsIkkPdzO3b3UUUW9uULHkHkY/F/pEJvofGe7wSQtDqSiETOtp0vTY8SfnJXGMhKB2VDKSgLN2Klmb8V3eubecEL5B2tOD48BTeWIiDy6O5Q1YxmCQHfLHhJzU0X9IU8sZoWX+PsJzaG54TTS+SvgCT0dkFLLlweGtTMZ7HBmayIi9Ydrl9a44asyDXAPL2NzU2YKsoCieuyOsTOf7GkC6yvgjYeXqqWN+y67LH/oeSpvtWZw694XxJtEribTk8dwdkshoVmsFxRTYvI6EMNIzvxw==
Content-Type: multipart/alternative; boundary="_000_DM6PR08MB50849FCEE5CB4692647FEA919B4C9DM6PR08MB5084namp_"
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: 4b1a3e12-263f-456d-aeaa-08d9d15d553a
X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Jan 2022 21:41:43.9833 (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: IbDVZl+JSIdgIoDwnpJAVCVGSs9qBIkcxz6gazJRpWXBAsxizCiO/aZHc0f7XJW9Jvv8xFQcDJELfZGPPIn84A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR08MB4234
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/MPUIo_l3PNvTeRTUr0fsQ3Ih1Qg>
Subject: [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: Thu, 06 Jan 2022 21:41:55 -0000

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