[netmod] Updated Content of Module Versioning - T8 (recommended-min for imports)

"Jason Sterne (Nokia)" <jason.sterne@nokia.com> Wed, 25 October 2023 18: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 EC198C180DD1 for <netmod@ietfa.amsl.com>; Wed, 25 Oct 2023 11:41:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.106
X-Spam-Level:
X-Spam-Status: No, score=-2.106 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=nokia.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jXIS38OhRJNU for <netmod@ietfa.amsl.com>; Wed, 25 Oct 2023 11:41:23 -0700 (PDT)
Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2130.outbound.protection.outlook.com [40.107.244.130]) (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 27CB2C180DD2 for <netmod@ietf.org>; Wed, 25 Oct 2023 11:41:22 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Vg/I4350nOP49o4Ya5NDRyO1BQZElxtl0ukJr1JZ9Wpny3nBOIFVd9SNVpOcFq/HLsOhfGX/JsKfm7dNk+JwrDSOA8yjPg+FUzay+A+NaBG2OZp6QfwEVhNL8fGjxDIrRafDu7C+7n2NvMOPNqOnQOBrylqe7mfXVBEjNAgAlZ2oTtwBEn13UHonwoYygVKCI8sRGd3U0Q0m3M/+d5OA7j6UdjtN8KoLixJtLvx1R0VyJldRa1ye2VW3WVNObmrrPwEFXdSCVvSsctl5gEg0aV1iPsA1BgtFisDqRyugjL9HV1SYoxlTfiegiuE4XSskwi2OL0j74fLbkVkQUt4pIw==
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=zA+t88+6tmfpaRVZ3nqGTkN54tJ4ZNvURQtr0Y25jLA=; b=alsdiiNcUT6gzDEgu6kkuiT6KWPCFPowpM51kn6/BxeWYXuxBM7Oi0a3tZbh8HEDzI7eLkGBd5ZAUOU0ab2c1vtry+iIuxsZnb2Me8MvOuZirjVvwPOiCUdxkA9nL9CQHcnfo+5gYMdUHiyf/ZPdN5ptVjwtRrElQ2zeRv+AiXvyli3XTvZUVuH31tC+PsghwDMa2jCusNBgd7LvtVHFF8Ol0U+t3SbwusCaRghOhznsrMwpdbMj9Xkq4T48GfR2FEaCn+TjqhuhaTMuchKuu04QT6wZef5MjEfBrP0xk+Lp+xcZivKn4GHcSnkyiM7j9/e20dxI/MCZ56YPbfbT5g==
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.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zA+t88+6tmfpaRVZ3nqGTkN54tJ4ZNvURQtr0Y25jLA=; b=Oyo5NApRrPxRp3PDzZynSgOEAo5lwHPn2jt9l6MM+Ec6C2D2oXAzlUeysI5C4kpDT824IHynXm1ZMA8zPnmebx+SIlPDyYqP/KlG19F7rCq99bhoBKoxoP0aINoGD4/4eysSDNtImtrTVQkbqDPrXTRgDJQbIM5Qir//FDbqZSmoOuJ4QcHKCdY0LQxZg0uXDMFK5cinLtYjuFMVyL5CRail2v+O4hKFRXfzCg0ouN/s7D1vjmDCYjkU/aOFTKVf6FCyYB60HKiMBGC9DVwCXaLw+hPu5vtoJjzExbxzKEm1XSkTiMpK3kRGhMlmP6WLSXPDjwWHoooxwQeFbcps0g==
Received: from DM6PR08MB5084.namprd08.prod.outlook.com (2603:10b6:5:41::29) by CH3PR08MB8823.namprd08.prod.outlook.com (2603:10b6:610:1a2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.33; Wed, 25 Oct 2023 18:41:19 +0000
Received: from DM6PR08MB5084.namprd08.prod.outlook.com ([fe80::6f8f:a6f0:6e58:40fa]) by DM6PR08MB5084.namprd08.prod.outlook.com ([fe80::6f8f:a6f0:6e58:40fa%4]) with mapi id 15.20.6907.032; Wed, 25 Oct 2023 18:41:19 +0000
From: "Jason Sterne (Nokia)" <jason.sterne@nokia.com>
To: "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: Updated Content of Module Versioning - T8 (recommended-min for imports)
Thread-Index: AQHaB3LYqkvogyUV2UuKLTnWhXeE3Q==
Date: Wed, 25 Oct 2023 18:41:19 +0000
Message-ID: <DM6PR08MB50849A7A2F50322C9C374E0D9BDEA@DM6PR08MB5084.namprd08.prod.outlook.com>
References: <DM6PR08MB508483A98537B82190016B0B9BDFA@DM6PR08MB5084.namprd08.prod.outlook.com>
In-Reply-To: <DM6PR08MB508483A98537B82190016B0B9BDFA@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-traffictypediagnostic: DM6PR08MB5084:EE_|CH3PR08MB8823:EE_
x-ms-office365-filtering-correlation-id: 7c8c51e0-c31b-4747-7f77-08dbd589fada
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: Ct/Nhkj1wVdi8hDy4sqPeH87LbOyvb3ua3J20sOHF5GqqvmwPA80xFmhUzXgsGJiUFuRT7UCpxMxWTB7x1zoik/NzJDBuok3ehX8v8uM2qAqWRt714uqwNuZjqTok0ckkWdv8EsiSwXjZPotqcO1ieHKIH8YbX0ae7QbYpKWNDnnweDQ43CpkHX60DZnKg90f8G+p2tr24V9/jal1ixi8Bc9unjmlCsvW3MRRRjScc5gFvysgjuikVs1ta8Upgjz9CMjSNRCN/aDZQsXt6PukvScPUvmHt57oj2lZucHBfJ7FdGnJlV7PewUBpFH08Yr66OIyuCsHHl1n+rh1F6VUC75+DBJnsFhpMs/bfJNrRRVZCvsfQd1U6jaidROEm4MaBXwfkZ3IjZ5yieFl5gQZkbBAjlq8Av1l4SNXnYilUF4BkOcH5InmZj/IDgG8F2JxEyflwBtoIA0gegkkBYCegQxIqV2coIsIUPrfl2UdhiU0vny13UTosEe6O0VVxb5cRp2JcrARKvaczrpTBm9P0feA7zg+cvh5f2Jd86Z4AQfNNZ/4B017jO4fj2Ap8uYbJcZBVWB+BquBCLOjKeRVYYdCpKs6LHJudm3U550VnI=
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:(13230031)(346002)(136003)(366004)(39860400002)(376002)(396003)(230922051799003)(451199024)(186009)(1800799009)(64100799003)(38070700009)(166002)(52536014)(38100700002)(2906002)(55016003)(41300700001)(5660300002)(15650500001)(86362001)(33656002)(316002)(8936002)(8676002)(26005)(71200400001)(6506007)(7696005)(6916009)(66446008)(66476007)(122000001)(76116006)(66556008)(478600001)(64756008)(66946007)(83380400001)(9686003)(966005)(53546011)(82960400001); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: k0x/vA0+jYeEsDJF1MzJtW0ar+oksp17sB8RwofRfBsbplpBVKeQoOV9HNnE5jTOcTfKYtnp05/BNZdLlgUJqzfNVdPqWU0MtDd/Go6jrqkh2Pi5qlzJd3dThMtUzOhnpQFl1beTesAjPYP4EbYA7NW5xiKUsyMEcZxDHjiSSSa9upSW63iOEjBc/N0wM0qbPLml/RpqsMdcLiNZUqOZrhj/h1eCa6w3+utALJsaWn+g7AaWftMpjR/R1UH9hCptbPORIZLVAq344BXP1B4rVZb4r2zKZ1uTWDmyNjC+kmnKDPk83KF/ffnRrWENEenUov19LfzFIEGALnDCfSw8plXAM7FZhglTXB0+bzrgYVkJ5/GGHcpAIzbPRz7kK3mw1tM6/ItKd+ZULBpGT16wiI/vNyu0DDDKuGhEtc1H/WMPCz1HCD/e3C8SfZta1JBE3pf8smwsSUgo30PDJyMWMbRrNpIddw6W8g9M62GOOKqvxfI/8U9TiCxzBdP8Gf9GyB22286Nyk4uTLyXkRTdwXnnifJOV9mbVoLRMFJA2A0T7i44sg3cT9yPllnWbs3nk4sOw1wVFqikDnqul/X747gonrCi+Wcr9T7T/8fdlmfnz5JOdtB1J3JFLW8EGSbspzQb8deFaY+zKAQ5t0ajcQAqvCRhkaSelmsicdqA7oK6eGWwCNYUtauKt08y2c1V5xPESEScdFKCA6b4hn/ByKaQqbDI0q/Cfh8TW3TJ0GHF9l4qKwqAgNcK2bTsgPEUBiW9+0R8nuRqGBqQqDB2V2jA6iCFbvxgZ+TH9vdLcmLlquCUIsdp4zSfeXn4tTfQ/4WGvIoHEoEU06ZyXiHk2B41SLeBi/gP2W4LcxLfyN3y4P2Zps8i1/xzJp0xx2+v1dFqNX8QR+FsOLIw7X5nt+leM0ddyxqXlSR2cQaAJAlS0xUfTESNZqCFNGQNiBTM/aixqzjYx/xOTaAeJ8tOVLsJreIt29J6MGwJKyKVEk1JQSazGH10nhOjJcx4BSOTbJCl9jxdWCd8tfxJzkGmUjjTnE234DodO5iokHwB/HMXxoiiQvv5nbamN6/mUBIwLvgn9pBEJVVsEY30lrwd2GQvoAxTXmSEZZmuDn79sOyMuqpxrwSy1Rn1ncao7kAjgaPmvnu6+drUpLM1lFriJnQOldPfd7RAibT6oT0Q+p9xyS27+GW83RTfAELDWlPna9O17wdy8j1n6zwmA3yoXfRxdimT8AQXJ7GZoB6P2yT4wlGV6J3EUEEja0K9XOuGQvDoqbdDEPzIgzdgz3eXwegEXVMTJQl9GfKcUPADWQkN2TT2kxQY4x8Bqiua63pJQoD6+rMxrmp2AnlyGOW8MAdgVYSnL2l/d/YdM7u/wYd6Fe+wxfkbE2eG0co8hSAk695Nkhg1NdUWlDYSUODVN5cTfVrV0gCSjvBL1xEGOLOWuXYwU6zOycxd/pq0wUK3eLm+ZnQkBwen9R3siD/4EF2dJ4dHSCXvgZIvkPVdazRxWBMAvwKVT5uEDBNjuHgdwA/2b1RjFL8GOn+gFdoWUU6pw+4XFVHxsg/poPi0Xih0qMIkRvfeZAQhW4SNOmDp
Content-Type: multipart/alternative; boundary="_000_DM6PR08MB50849A7A2F50322C9C374E0D9BDEADM6PR08MB5084namp_"
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: 7c8c51e0-c31b-4747-7f77-08dbd589fada
X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Oct 2023 18:41:19.8627 (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: VvIn+Peis/yxY9mZRqXMF87w0XHMNFbC7CpXR5mxMNrAgNFlhN7bo+LnJIqk6/wOUoW5H4WnriaGmAvf//SPtw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR08MB8823
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/HcJLfJL-adDd52iDrkGgDA1QSJY>
Subject: [netmod] Updated Content of Module Versioning - T8 (recommended-min for imports)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.39
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, 25 Oct 2023 18:41:27 -0000

Hi all,

Starting a dedicated thread for T8 recommended-min for imports

These are my own personal opinions (not those of the authors/contributors).

It has been discussed before that import by a specific revision is somewhat broken (not recommended). It is mentioned in section 2.5 of the versioning requirements draft: https://www.ietf.org/archive/id/draft-ietf-netmod-yang-versioning-reqs-08.html#name-no-good-way-to-specify-whic

Based on previous WG LC discussions, we already changed from a revision-or-derived extension (that did affect conformance & what a tool could/should use), to a weaker recommended-min in order to avoid further changes to the YANG language & conformance rules.  The recommended-min is pretty much purely a documentation tag that helps users of the modules understand what versions of imports might be best to use (e.g. when supporting multiple modules in a server, or constructing a "package" of modules that work together).

We could instead just say to put this information into a description field in the module. But it is helpful if the field is broken out (i.e. structured data) and more easily machine readable.

So I'd like to see this stay as part of Module Versioning but be renamed to recommended-min-date.  Then in YANG Semver we should add recommended-min-semver-label.

Jason


From: netmod <netmod-bounces@ietf.org> On Behalf Of Jason Sterne (Nokia)
Sent: Tuesday, October 24, 2023 9:58 AM
To: netmod@ietf.org
Subject: [netmod] Updated Content of Module Versioning

Hello NETMOD WG,

The YANG versioning authors and weekly call group members have been discussing the next steps for the versioning drafts.

We'd propose that the first step is to converge on what aspects of the current Module Versioning draft should be retained, and which parts should be removed. We can then work towards a final call on an updated version with this revised scope.

Below is a summary of the main topics in the Module Versioning draft. We've divided the items T1-T10 into 2 groups:
A) Baseline content of Module Versioning
B) Items which need more WG discussion

In addition to whatever discussions happen on this email list, we have also created a hedgedoc where you can register your preference for items T7-T10. It would be much appreciated if you can put your opinion in the hedgedoc here:
https://notes.ietf.org/CdKrT5kVSF6qbnRSY4KeSA?both


GROUP A (Baseline content of Module Vesioning)
-----------------------------------------------------------------
Based on resolution of WG LC comments and subsequent discussions, and some feedback to reduce complexity and content in the Module Versioning draft, here is a summary of items that will and won't be part of the next update of the Module Versioning draft (also referred to as "this draft" below).

T1. The "ver:non-backwards-compatible" annotation (Sec 3.2):
Retained. This top level (module level) extension (which can be ignored by tools that don't understand it) is critical to include so that module readers and tools can know when NBC changes have occurred.

T2. Updated rules of what is NBC: (Sect 3.1.1, 3.1.2)
Retained. These are updates/clarifications (i.e., changes) to the RFC 7950 rules that are appropriate and helpful:
(i) "status obsolete"
  - This draft changes RFC 7950 so that marking a data node as obsolete is an NBC change because it can break clients.
(ii) "extensions"
  - This draft changes the RFC 7950 rules to allow extensions to define the backwards compatibility considerations for the extension itself.  The existing RFC 7950 rules only allow extensions to be added, not changed or removed.
(iii) "import by revision-date"
  - This draft changes the RFC 7950 rules to allow the revision date of an import-statement to be changed/added/removed.  The imported module must be versioned separately (i.e., by a YANG package/library defining the schema).
(iv)  "whitespace":
  - This draft clarifies the existing RFC 7950 behaviour that changing insignificant whitespace is classified as a backwards compatible change

T3. revision-label-scheme extension (Sec 3.4.2)
Removed. Based on WG LC discussions we will go back to a single versioning scheme for YANG modules, and hence the revision-label-scheme extension will be removed from this draft.

T4. revision-label extension (Sec 3.4)
Removed. Related to T3 above, given that a single versioning scheme is sufficient, the revision-label extension will be moved to the YANG Semver draft, and removed from Module Versioning.

T5. Resolving ambiguous imports in YANG library (Sec 5.1)
Removed. This will be removed from Module Versioning (could be considered in YANG Next, although that is many years away).  Note, RFC 7950, section 5.6.5, paragraph 5 does consistently define how to build the schema.  The change in the draft was to always prioritise an implemented module over the most recent implemented *or* import-only revision. But this will be removed.

T6. Advertisement for how deprecated & obsolete nodes are handled (Sec 5.2.2)
Retained. This information is important for clients to be able to accurately construct the schema and hence it is retained in Module Versioning.

GROUP B (Needs WG discussion)
-------------------------------------------
For these items we don't have consensus within the WG - they need more discussion and input.

It is recommended to go back and look at the NETMOD emails on these topics (from the WG LC discussions).

Please add your name beside your preferred option in the poll: https://notes.ietf.org/CdKrT5kVSF6qbnRSY4KeSA?both

T7. filename changes (Sec 3.4.1)
The authors/contributors are leaning towards suggesting that this moved change be moved to YANG Next consideration.  However, there isn't complete consensus, with concerns that the vendors will each define their own incompatible file naming schemes for YANG modules that use version numbers.  If we retain this work then this would likely move to the YANG Semver draft.
[See hedgedoc poll T7]

T8. recommended-min for imports (Sec 4)
The WG seems to be somewhat split on how urgent this is, and there isn't consensus amongst authors/contributors for retaining this work or deferring it. One option is to keep it, but renamed as recommended-min-date.
[See hedgedoc poll T8]

T9. Versioning of YANG instance data (Sec 6)
There wasn't any consensus among the authors/contributors as to whether this should be retained or deferred to a new version of the YANG instance data document.
[See hedgedoc poll T9]

T10. Do *all* whitespace changes (including whitespace between statements) require a new revision to be published? Sec 3.1, last paragraph.
The authors/contributors are somewhat split on whether to retain this.  The advantage of keeping this is that it makes it very easy to check (i.e., via a simple text diff tool) whether two modules pertaining to be the same version are in fact the same.  It should also mean that it is easy to generate a hash-based fingerprint of a module revision.  The alternative gives more flexibility to users to reformat modules (e.g., for different line-lengths), but complicates the check to ensure that a YANG module revision hasn't been changed or makes it slightly more expensive to generate a hash since the module formatting would need to be normalized first.
[See hedgedoc poll T10]

Jason (he/him)