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

Jürgen Schönwälder <j.schoenwaelder@jacobs-university.de> Thu, 06 January 2022 22:09 UTC

Return-Path: <J.Schoenwaelder@jacobs-university.de>
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 4DCA03A0115 for <netmod@ietfa.amsl.com>; Thu, 6 Jan 2022 14:09:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-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=jacobsuniversity.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 QbR0a9nxhNmo for <netmod@ietfa.amsl.com>; Thu, 6 Jan 2022 14:09:34 -0800 (PST)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2082.outbound.protection.outlook.com [40.107.22.82]) (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 7ABA53A0113 for <netmod@ietf.org>; Thu, 6 Jan 2022 14:09:32 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hEIZOheZIG+xUuIVeVd6HcZtvn/NTqriYwsmpbVPDesIRgSf5pEe7fqvCdb0081EkJjEtYbDCzFs2Zshw4tYielp6lSxmRLu7l5jNoWtRNYX30EK6zAsOICJfGyq1eLZajagMry0lEXIgtxh0X+WJdH8myfQAj+FspnKHSBkaCIyEVl5ZZukIy87hjwljCEm/yJS5ceesCjB2aXpDkJiQFQgVqVXu0Uy7V3cFTe6BnRxIyYSceXvijDfYa5Su6OclIH43p0LhsyDRfEcUwANs6wQRCJ3GoHfacq2jIsuXyK2HhhriL5wO2RRRM9qxzvunm4csOt1Y6fJUtKrCk+BkA==
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=om+wVP45tylxZp8FEpJeWYlhIdG6eLR+FNR73BvJQ0s=; b=m0KblB6opLiZAFyRS+sl1Y6abbHhZN9fDybBDlNAdMDKOG53qdcUXE5ClyVfirReVzgmxKkmIp7+RUY0APdqG7ZenPmaObJ/0qm9tMwCNNqaJRdGMQv6ML83kiU3uLAIu6bvKNi68oqu5Nt1bBSd0mBbPA/TgUmLZFbOFds9htWPBXwVyl6HoldLrT/A4LIvjV1V+V+p+o8ZcIPYnT4wu/287m6ab9gZ7zCmgkA2n9zZigFyKCBn4HsumLWNrDvZnAwz8tuSQC333km+NZPR3G9ICb5wrfBQA4zpv7DbH/lOymA6HumGVhcAXqZ+GEwBIc/U5gdFXMsjtuuEUtTzjA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=jacobs-university.de; dmarc=pass action=none header.from=jacobs-university.de; dkim=pass header.d=jacobs-university.de; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jacobsuniversity.onmicrosoft.com; s=selector2-jacobsuniversity-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=om+wVP45tylxZp8FEpJeWYlhIdG6eLR+FNR73BvJQ0s=; b=DrQx8hSUuFNhnqg4p9S6Y6W9gqFqsf3KoCJn8HpnRVTVPy26006AxKnb1t6aVqZziRVn/Ec4K5O6LdI2MIeGtUl1ufKX9MRbVfIXUMm+u3hq9cuJip3Ov5FqgJWr6PGiWnkJIEzuwXkxD6QKwhyv0eXF0OrwIaohdz8ttQGL708=
Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=jacobs-university.de;
Received: from AM0P190MB0641.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:194::23) by AM9P190MB1187.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:264::19) 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 22:09:27 +0000
Received: from AM0P190MB0641.EURP190.PROD.OUTLOOK.COM ([fe80::f12d:e975:556d:30f8]) by AM0P190MB0641.EURP190.PROD.OUTLOOK.COM ([fe80::f12d:e975:556d:30f8%3]) with mapi id 15.20.4867.010; Thu, 6 Jan 2022 22:09:22 +0000
Date: Thu, 06 Jan 2022 23:09:22 +0100
From: Jürgen Schönwälder <j.schoenwaelder@jacobs-university.de>
To: "Sterne, Jason (Nokia - CA/Ottawa)" <jason.sterne@nokia.com>
Cc: "netmod@ietf.org" <netmod@ietf.org>
Message-ID: <20220106220922.jcujhjnfzydyb54c@anna>
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Mail-Followup-To: "Sterne, Jason (Nokia - CA/Ottawa)" <jason.sterne@nokia.com>, "netmod@ietf.org" <netmod@ietf.org>
References: <DM6PR08MB50849FCEE5CB4692647FEA919B4C9@DM6PR08MB5084.namprd08.prod.outlook.com>
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <DM6PR08MB50849FCEE5CB4692647FEA919B4C9@DM6PR08MB5084.namprd08.prod.outlook.com>
X-ClientProxiedBy: AM0PR06CA0116.eurprd06.prod.outlook.com (2603:10a6:208:ab::21) To AM0P190MB0641.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:194::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 84e02bde-a12e-40ad-2601-08d9d16131d1
X-MS-TrafficTypeDiagnostic: AM9P190MB1187:EE_
X-Microsoft-Antispam-PRVS: <AM9P190MB11875FC5B8A38E4577AB94F8DE4C9@AM9P190MB1187.EURP190.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: Ai0g0c0hJlKBDygLIUmYHAgeM/qnoAXLz2LvQl5cPaAhX6eTNZGyOK/kvGw/TiXoLhM5j+oAo2eH60xlZ+ZsSE2Ibl9Kv3VcMxMVz3VC/9LuC30tP60nKABJNN/lABWt/6bOuKXMK0hNbCAUcAlOeE3lk/Kl2tabOr7lvka7OJGsiKeibi6T7ulFOn8XNWut8h2ZbJvn3Nx/SEB5RbRkJ82mQBHs7ncrzf78Y1nH6S/Dl8wJrhGew54JC5eBwzfMHdKlq6iRnGtzZVLB239PnfvVmetR7wMJfACK8cqzdvcggi9hbGdLvc/MI8Rh2+jJJKJ9POfvt+GB9s6iJ66+3gnAcXHEVr9CP7cFHvOv2uUq61zfutg6LW9vE+v2fyZ6GvZ7o6e8fjAz6Xi1/pAKjwOHWDzKHXmpZf1V/2TRBmCMX3G1Z5ZqhXGuQsFNhr9m8vghLGzUix33+70lK0Xo4n9+/4x//J/hdzaJ3T4nCCdmr2eQIxdOp8dI98IiveaFv8OMSkIxMtNBDk2se8cMsDyS3HXDl+nwC5GwDdxJcCyZq+DWXdGXsYqgMXcYz3f3+5XEXBRgarQI9DAD+eYzxbZJ8mPNHThLb/GYBfSXtutMUmbAjp20y/7SyI7gyS4zrGm3fcVc81ZRyZs7r2HB2WKySN/zhcmqUzM+2yq9h8EUReGD8KAOEU+YauqeC6dYCXHA1k/xT6b3iW09hrqYqoFp8QEZ0D58nqiGdqHbIgm+YgPBw/6xLfiNPpAlyyB4hkpMqmFUU150EpvdK7r+TJV5vemYCUL1yXeieO9X4H6MgztCHaJnEdPqjpTauEet
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0P190MB0641.EURP190.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(7916004)(366004)(296002)(508600001)(786003)(38100700002)(40140700001)(38350700002)(316002)(6506007)(6512007)(86362001)(85202003)(8676002)(8936002)(85182001)(3450700001)(52116002)(2906002)(186003)(966005)(6486002)(26005)(33716001)(5660300002)(83380400001)(66946007)(4326008)(66476007)(66556008)(66574015)(1076003)(6916009)(9686003); DIR:OUT; SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: ms872EME7PPS9dLYveKA6i63eXR37EQVUrJKiTIuu5LeChIc+EPSQB+pbghUWoyQoxiP5muGU4vFTCZpCBPkqbpFuueWw1foLyspJi4vXsn1URUJUpPOd9aG/pYqf4RHwqJYybyUXtFK3NE0XCznX8WyGU6g/ey9EEBlKLXaaTrF+bMxhSE6fDN7U99hQw/5l5bvdA/60v1HjioQnz2u8tx6LZf65u9+s2VBf2mlZIss0dFSpUQXXPK6DTIhgFevO5POIYPciAbhjWEAheGikotA+FPOTRSYuiG8wF1vhp0eJ7V9AfYQXwvTUK0Ah/Z6LsIE3fY6k3GDILqILU/qa4AsYAnY4GtHcKDLo0TFsxVISyHp//P3RnC54txFbjdxEwKtu+KkK7eDKMxyONc1oYM2kperGtZnbNV+RRpfWBivHtmK6BgDEKDwR7RMWRby1ZIPRROx86TKqSdsuc35JZE+OFTBaGQfxvhgdo5oFTkLJv31Ks4tMc01JtiaUTAnmOpSUcQvR63m3cViJ6y1gKyF6Wto/d5sSOptu0bIMmH7+TvTzXtGGMDZyigL8YZ1VQc/B9snF1BeQEQt11n5EDlIcq1hjhiei1E7wN1b9ul78MGyWxaMxrXhkimcg22IzAe7gkO3ZAeeZoO2sf2fdLv2aVZRwf+9zBo7ARRxJ94M4nPmaPiUzeUO952eJEvMHeL0iqmUYSB0uoAhSf3LzKMmdc3JxFiBYzmPR8mdPvMwdKYG5hUD8pyNndjnuSaPLoutBxIy1ql0lxYOqlrPz+E1gEpHrEYi5Omvn6Q7AuW/VKYHQsjbpwbdrAI7hk0juDK2Whqa/fn6rCP6e4HxH83S2zTurc39Y+i5jYGaojL5xj8pM0mxO8mGbWrEAK8HZyoEnD1KSgEttbT/hjhkZMbmrNx1o1umpJLLQfgkDbBesZAjH44PZkO+CUexeJqP887C2XfU0WvXMm0Yf6XMrTbrUCNgeKzrhqTzQtH2OX0yK7Jg7frA3Tl2NzYArks9ia70PnW8FhdVDosQn1l0c1/Z3Z91H17yS0F6hDgwqbgnuGhmHT1e8TOZirGbdbIRY1cesytMnjFwGShIFzxFN2oPoMWVfSJFc4elyZ7s+pX+S2/gc6u0YG6BC+q6gJUA5hDAJysgqRuXFKz9Ch3K3T0vjLCqOh1Tpb0Pi+WMGvhPogzs+KwG1aRp6BxnzRVGkoZv88ZjVOPoRL+eGw2CLy/QMy5NxE1q/EFfHDy/AGBdQXWdRshDdmdtO2/kSuK9qLbsR+TAUi7xfhUylB+1U/Kc8ZxspRv+w5XKCMevgX7GROfJT71Jlshw5TXY7osfvgysnoz0fm3akWNCd/lWH8ZCjVmp8TwA6HQW2GuHHlqrGHmZqOH5fWGciRwOdMyKI25PX5oA90bKf0C+9QT+XAnBU+5RkwZqNGJ9pxSfprE3td33lShdCUXdlnwnsY1z4fvCqjM04wWPxrQ+J1bHrh1YQEGqoBbcnImngdPQgYU5FR9hCBFAoeTumzNHTvklDXSft43hBhn4uuEFSUaqULN6A6+QM62IiYF38oHv1pEOf2s5jZGSw2Q45jKO4xkGfzNtefEG9plTiyybicIfIgjhjcb/MLdmsB1GFmFnu6AK8qy0fye/t+CMVbBxQ3S9dJOhxkcG1of4/irKdeAsUupOMJFv15124eHY1acXL1o=
X-OriginatorOrg: jacobs-university.de
X-MS-Exchange-CrossTenant-Network-Message-Id: 84e02bde-a12e-40ad-2601-08d9d16131d1
X-MS-Exchange-CrossTenant-AuthSource: AM0P190MB0641.EURP190.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jan 2022 22:09:22.9489 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f78e973e-5c0b-4ab8-bbd7-9887c95a8ebd
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zSDP0/wcucPOnGPHJZ3qF8EpiVZ2ciyJC7L5xEXaK/k/IUqBkIjYLSEb8TdF1w0xz0Psm5ZtIkHul0o96ND/w9Ui4G/5HtTeG5j7892PR7g=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9P190MB1187
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/nem_XTskfKAG5Tvf48H50O5px80>
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: Thu, 06 Jan 2022 22:09:39 -0000

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
> 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/>