[netmod] YANG Versioning: filename recommendations for YANG Semver

"Jason Sterne (Nokia)" <jason.sterne@nokia.com> Tue, 02 April 2024 13:55 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 1D154C14F6BD for <netmod@ietfa.amsl.com>; Tue, 2 Apr 2024 06:55:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.828
X-Spam-Level:
X-Spam-Status: No, score=-0.828 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.08, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_BL_SPAMCOP_NET=1.347, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=no 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 JG-XVLAOnDOq for <netmod@ietfa.amsl.com>; Tue, 2 Apr 2024 06:55:35 -0700 (PDT)
Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2091.outbound.protection.outlook.com [40.107.244.91]) (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 57B07C14F681 for <netmod@ietf.org>; Tue, 2 Apr 2024 06:55:35 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Kt33urEvCZ1rSdYeQzqyJUW4lgORZib95Tzf4c9mh8Tt7Xj5JxSjZnAVGZ2QxRODs37jZvUARkrznMyakoOhwrb+6c+cHGDgxpK6pT/VW8BfMGTwdHzLg4ZK/yv4IERYi+r+/EFsRl3Z3JuGS0eG2zd0dZQ517d8P/wMslqxZligjqAP6LzoFIv+GoaE8GeSaPIXQPMLYaimV+lfwztJPJuyWZET5f5CHMZF/UbdbDlkgZDPesAXwJmC6EEldIdanXaoHN469K3VMxNbcV1imzb5Pjh7gZRFvqDFNNkMBAkb5VwuDsEGX2xL1FvRR6SB0XhbQZuEGgshxqRScpCwYA==
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=Pz5LEPxAdaQz8LkjuW09dl3w4Wph0gMHX3C5mESTSHA=; b=hn5GYCFYCeTg2Q5zEGC8x9AUNJFjOi3d1IOAbJhi78wuOBPrIIgddDgvs894kuscRlmMnVPqsGbOzyN1NgPdlAkCLDOENPZ7PsiVltUVs235sqEy2EEUcssKME6EwbXunvDLyqZECn8Fzcgsz+PTAsdA1CM/FWIFofod1YjRw7MhPZerg52DnT3/cv6pCXhsoTxTkEb0jy3HmT+1MiKe7j8y6TR6xzhby3HwAfNeIkLs5OunXxWC/SukNcb6J6dGv86sq3hHLJfqbBRGnxq3K+PC7Ak3qiBxmxAKTT7x3rF0EFHw9lA6XGlr+h0kzBZjzVYN5U+O6E3tbY0sQYf1Tg==
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=Pz5LEPxAdaQz8LkjuW09dl3w4Wph0gMHX3C5mESTSHA=; b=xPl18cqwtFYQ/tdiDKMAMz4r5kO8KxmFdFet4tKhT3yPumKMENorh0dfbCKdtO+cecRMAbWUitBC0WAR0NamsX82g1IlctfiydSEzuFEz2YwsqZrZGOVp13VuiaN02j/695xZFQoMGrzBTKXoUnSUVK1G2Q+AEs1gjebVykbHMaTMJetrA6BvEfLWGpA83lySq+vHIhZp7svN+5S8o1Tbc1PN+k39Y9Y5tcTuLnitQqEtrvZy5axL+SYchbmYw2KfRbNp57SIfTHTnds8v+P9VCQB1o3pbK2s96JkDiXM7iJklWb5KwULLsLBm81WkSFkdmFfsmvqPh2e5m/GUP12Q==
Received: from SN6PR08MB4847.namprd08.prod.outlook.com (2603:10b6:805:6b::12) by SJ0PR08MB7717.namprd08.prod.outlook.com (2603:10b6:a03:3d9::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Tue, 2 Apr 2024 13:55:32 +0000
Received: from SN6PR08MB4847.namprd08.prod.outlook.com ([fe80::3b22:f1b2:178c:f6c8]) by SN6PR08MB4847.namprd08.prod.outlook.com ([fe80::3b22:f1b2:178c:f6c8%7]) with mapi id 15.20.7409.042; Tue, 2 Apr 2024 13:55:31 +0000
From: "Jason Sterne (Nokia)" <jason.sterne@nokia.com>
To: "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: YANG Versioning: filename recommendations for YANG Semver
Thread-Index: AdqFBUJlrL/RLaABSDKs//Tefhbsew==
Date: Tue, 02 Apr 2024 13:55:30 +0000
Message-ID: <SN6PR08MB484796C238E42AD91D29FA5F9B3E2@SN6PR08MB4847.namprd08.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SN6PR08MB4847:EE_|SJ0PR08MB7717:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: /T3PCZOKL3eklSWQT/bRACZrNj7jIbzi6lQAYCB1A/Xxh9x4nBpebIU5VfiC+3sB2tvOmEz0aBui29ATF+EGNmv7CZsj/e6NGDVxv8OQ4cDOOEPB8r68lPx4UCD50vNYMM6sDaSmA4913SVIJ1NXZG+XOEX0N17rSeI1yscgrxTrMWxaTjej8TOFZeW3mtUmFjRj6cDi/XLY3ZJPGGdm1Hroz/29CteIcryqDK5h+OvxgM23w5oZQ/YJnLegdCM5Qth8v84GY3Oro4c/5NlPybMel/9opd/12zHWnSACnqPaqTt6UqTzMzWjWWrLWBb0zKyOsXEEtK1WdIz95F9YRg/5UhhDJxxCkRsqT16BThVMVErd68wH0DngnvP3rYYLdAb92WChTUffFNiP6BIa4sN1Czqj5KYzlvfKXrQ58+M9zuknCpGAAZaQrNxj8kecHfhlk7oNEdx/3zf6PlacXK9cB+CxpLFgg7+JaSqQlmZdpgM07U//EOd5K5ByyPOxgKC4h2L/QFSkDrpQ34hL8rdwvg8XRzG79ld0s9LsqF/yHhrbcSVduTuPa+rWq623sGdWSUe96npszfW+X3lkUhOB2/NfkcL103oIPUCYnog=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR08MB4847.namprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366007)(376005)(1800799015); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: AW/ImYWmsrbSP+SopY8wr9CrsbRPin66tUiXcRdJ0qHYtRp4MfqKYZxoT7FqVC1T2TiWD9T4SFRzjpIJrULOBAAj8ast8oMPQ85h80pjH2d/QJYTeK6nNx5nf+AkOsWL91tzQquhh8nBuk9vIxno7Or3hZd37q/GEqXRzZRL7xbyLHZUNwU0/8VxGBAupttG2PBXoZ9u+wYOl8aXbdIxVJdMwI/Qo5cn72oVvBDjeThTQ5yZPyEZnWNSSPGz2UKnZEZ5wEQyjLudux75ym6vW4tafvIgdeIXCi/tAsQdkfSPp4H7aK+3sYiGH1N3hhuXFwrCwqVdF5O9qBe1kjF5jvS35wvut362MgTTXD3qqiLSYI+jDqevZbeZXDQe5mjKBBUoOckbX0EZ4E1vYMxsveDYBayZbuSawa4f3beTd8zbeFM42E//DJA5pGi2OJ69Nxj24Jme5gNB3lSGnmjTVRrMCF2SLQZ37rlJdhcbgO0MTpuXkTmahBnIQynGN+Xv/8rDUaKmjYcOm6eiQmhcly2PEspHVHzXGELuF1xI46uk6TxKJQYeb7xlDwZfx8x9OaIjf14I0Py4xmT/wpcXJwYWesYzXfXOagq4X07J8Ut/RLt4/iEwXCjZCjVSKc0/xULnZjdDcbDQllTgCM2rf3vBMFGJiBi8AtM2IUYq5ByEVq3ZVPA0Vjz731c5F19v5RkBZZPsZnWST66kzzxKsNqpfljgWai9lbDCkb8imE+zL1oImc1zSWv5XgB8u0wsPTJ3oio+Ki2w3z8Vp4uu1M3qS9mBUHy4eu6jNVBY+JFLBYAEg8KfK8S78PB40j+Iht8FebjyQEO2IMwgOxBU4wTOB8IU/DF7T64Ffsv086fHk7zRJ7faC3cW8kro9AhB8LJ46OAeSjDUiSamBtz/AhGobZ84tgf9BD8hT387jrKvaD75wro7vl6Uq53UnCFjsii76nGi+uFREeIgk+29py3BipO5+6ix32ok2nq5LaWZiXdBpgpRO7x3q91Ex1eF6kBk9wwWCdcGDm/0C/mcY+D93C7JynL3+3iZOOpQwp0GUQVydi8a9x36CSJQetiE504UOzdQd7R7Nmy89cZBleBKpK2TSvf4XYKYTlceGn8vm6lEXtxDjPqYUCYuLOcOF8MFKjPTBlqu6674/AXJKYpjy0pbTViKL5FA5sH9NM+3q6TOL3KW7IPFhPiN+KFwFSFexwTiD47DWlrgmZpR6n2Mglgd/xFopDKRVz2tPAkBt94nytDT3VbBIvIA2Osfd+AhTYte7rZJLZseW8NK51mboPlU2i3cihbsm5FpWUMPSxTbrBb7c2yQW/wxnOBh/Nb8/xZu3Zc+4OI0LXi6br1LvPm2YNJ6m3BBg+W3SaZzTgSHPA/WQx9/rIooV6reFgPBK3O4xLMbmSD0snkqZzZ9Bf9Yyn4Fhf2T0AHq9gSy0T59gE8oi2UvNu+gRabLlIjY0CYRzl4N0OcC3bNdSnQr/1+K98g70yP5bXQ9kTFqvt21rqubZYr5OAa5Xce/QRuuIhMFmGskqeHu6UyW4O7zA80InMXqFijzNijwKPFc56Bf/FsHcgWy5ebL3hph
Content-Type: multipart/alternative; boundary="_000_SN6PR08MB484796C238E42AD91D29FA5F9B3E2SN6PR08MB4847namp_"
MIME-Version: 1.0
X-OriginatorOrg: nokia.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SN6PR08MB4847.namprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9c1a9f62-c830-44b9-f7a5-08dc531c8f8c
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Apr 2024 13:55:31.1818 (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: vYFwV1PVCWhkuLnaY7xtARthNGMfWynj3qHK09AjZeDm7gA0sXGprgWhyjOzga5xZ2ylATcLhI+yhZ15eFtPSQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR08MB7717
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/7rYIhvdPfxpS0GHIav7xkRzmywM>
Subject: [netmod] YANG Versioning: filename recommendations for YANG Semver
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: Tue, 02 Apr 2024 13:55:39 -0000

Hello NETMOD WG,

At IETF 119, during the YANG Versioning discussions, there was a suggestion to raise the filename issue again as one last issue to resolve before going to last call.

Version 10 of Module Versioning had the following content that was subsequently removed in version 11:
https://datatracker.ietf.org/doc/html/draft-ietf-netmod-yang-module-versioning-10#name-file-names

3.4.1.  File names

   This section updates [RFC7950] section 5.2, [RFC6020] section 5.2 and
   [RFC8407] section 3.2

   If a revision has an associated revision label, then it is
   RECOMMENDED that the name of the file for that revision be of the
   form:

     module-or-submodule-name ['#' revision-label] ( '.yang' / '.yin' )

       E.g., acme-router-module#2.0.3.yang

   YANG module (or submodule) files may be identified using either the
   revision-date (as per [RFC8407] section 3.2) or the revision label.

At least one major implementation is already using YANG Semver in filenames, and the IETF 119 attendees raised the concern that if we don't specify a desired filename format, then an de-facto standard will likely occur. Or perhaps we'll end up with multiple competing approaches to having a YANG Semver in a filename.

There are a number of advantages of having the key version identifier in the filename (hence why it is recommended in RFC 7950 and RFC 8407). Resolving the new 'recommended-min' extensions in Module Versioning and YANG Semver would also be easier if the YANG Semver is right in the filename.

In the IETF 118 Hackathon, Per demonstrated that modifying pyang to handle the additional filename format was a fairly trivial change. But it still may take other tool authors time to update other tools.

Some potential issues for us to consider & discuss as a WG:

  1.  Should we mention anything about potential use of symlinks (e.g. instead of having 2 copies of a module with two different filenames, one with revision date, the other with YANG Semver, just have one of them symlink to the other?)
  2.  The YANG Semver draft mandates that IETF YANG modules have a YANG Semver. Do we also need to recommend/mandate something specific about filenames for IETF YANG modules (e.g. in the CODE BEGINS line in RFCs)?
  3.  Will most tools that haven't been modified yet to recognize the new filename format simply interpret the #X.Y.Z as part of the module name? Will they complain that the filename doesn't match the module name?
  4.  Will some tools & processes fail because of the "#" (i.e. consider it a comment marker and chop off the chars that follow)?

Another possible approach is something along these lines:
*If* you are going to put a YANG Semver into a module filename, then you MUST use this format:   <name>#<yang semver>.yang

That doesn't preclude having both a revision date format and a YANG Semver format, but doesn't specifically suggest to use one or the other. Then perhaps YANG-NEXT could mandate the YANG Semver filename format?

So the big questions are:

  *   Whether to include this filename convention in the YANG Semver draft?
  *   How strong a recommendation/mandate should it be?

Jason (he/him)