[netmod] YANG filenames in module versioning

"Jason Sterne (Nokia)" <jason.sterne@nokia.com> Tue, 30 May 2023 15:24 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 EB424C159A24 for <netmod@ietfa.amsl.com>; Tue, 30 May 2023 08:24:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.094
X-Spam-Level:
X-Spam-Status: No, score=-7.094 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, 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=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 gmU0jAiWpked for <netmod@ietfa.amsl.com>; Tue, 30 May 2023 08:24:31 -0700 (PDT)
Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2072f.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e8a::72f]) (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 1C163C16950C for <netmod@ietf.org>; Tue, 30 May 2023 08:23:51 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M7rq/rQ2UBqytQEC3vt++GpiR4+EtwC44meOIXhOszslhhtRP8/esOIx2pn3n0LFDkYSz58Eoa9MtpzdPbue+yMNA8R7MzTGntkRHxiv8wtUsdLG2TKYLQvlRVPCyZQyNslZolaX/EdjFFnWP6E/VVGXCOp0+++JSqiNDhVf4pPSq9CYP2Q7Dzex0bA3ZgMuoGX3RRQitjDx32p/e3vLy1e27AtcT6xdbyTBcG/xSzzl6e2NRP7FlfAzOA+jJaea7zNHJA+x/rlGm+PZO/CKmF5gCjoyJeC+gSmx8ILyqsiwcHehP8L0T4i13D54totc1oCRx4OlgmK0klqGCZAF+Q==
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=yekyZPcpP/n+bbLtNOHN6Dy9NWIaFYt1Zgwzucr/Vcc=; b=MNcq5eN8nytyp87P6nVKK1gCDXxohqsw6tI9fxVzcN/io6CexJdMP6mzR1aO6P/MHodXdlh/3gJIkASDD8Z118LZ/g7eQy9MonYk7K1ZzdFMc7ojAMNKNCdvGv0bh7+IHeLPDkHSNZIANPnaoWXyyfGXEbRrLWNZh/4Gbe/8UJC+Q4Yjd19KH8xZfvLB4nmQshhnpFJ/SR9lQU3QJkQcsawAIla1iMs6qJGknFJ4ZhKWqqdQ8qmJHHMAZK3iQqs93Xil1Nii1sIs7KV+iQ8mQGQZYmuu7Y+4jfhePuNd4D1Qe3by4XWgvcKjKSdna0P07Yst7IKa6j8QZ9YuufMDrw==
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=yekyZPcpP/n+bbLtNOHN6Dy9NWIaFYt1Zgwzucr/Vcc=; b=YNC8DPg1NFwRzXwG98o66lJOS+N0quCGrOrELNkKfk04Rxo0f1DOOfJElpV6pwttVT2S44kBNdiEE9d+JbOn9XhbSsVdehTwj+/xG3giKc1cVX00ra4hnhTXX9IUb0vcJlSmmQyqywBe+d1fqDzvebVur7q1agWIG7zHAH0fAq9EPtLwdcsFfKLrGngQUvdwpRUJ6k8gy32gvyVAAFiYzFswrEU9dATHI3R0wbmFuMMaQKS+BxhNIsrXJcf8/Rg/F5KigAKd3nzdLo5X4O+OYy8gTyq6P+ZHxBVLIlxeuGO2MiQCVxq2iabnEi7RwWhf4zC506nsTcqGek4ENQ+Hug==
Received: from DM6PR08MB5084.namprd08.prod.outlook.com (2603:10b6:5:41::29) by SA1PR08MB7262.namprd08.prod.outlook.com (2603:10b6:806:18a::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6433.23; Tue, 30 May 2023 15:23:46 +0000
Received: from DM6PR08MB5084.namprd08.prod.outlook.com ([fe80::1633:c89a:4f32:6da4]) by DM6PR08MB5084.namprd08.prod.outlook.com ([fe80::1633:c89a:4f32:6da4%7]) with mapi id 15.20.6455.020; Tue, 30 May 2023 15:23:45 +0000
From: "Jason Sterne (Nokia)" <jason.sterne@nokia.com>
To: Andy Bierman <andy@yumaworks.com>, Robert Varga <nite@hq.sk>
CC: "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: YANG filenames in module versioning
Thread-Index: AdmTCUpdmyKzVHATSniYUMK0LM4/Qw==
Date: Tue, 30 May 2023 15:23:45 +0000
Message-ID: <DM6PR08MB5084AF63D4C5A93ED95F1CB69B4B9@DM6PR08MB5084.namprd08.prod.outlook.com>
References: <01000187fd8e0407-84bd7e7b-ede3-43d8-a9b3-5d4d0a915509-000000@email.amazonses.com> <af6b37a6-a439-adfc-0738-e2fc8e48b07e@hq.sk> <CABCOCHQ2eGHA-NkGNScEJ9mEbCRT0TYUGzbpsche064qagdsmw@mail.gmail.com>
In-Reply-To: <CABCOCHQ2eGHA-NkGNScEJ9mEbCRT0TYUGzbpsche064qagdsmw@mail.gmail.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_|SA1PR08MB7262:EE_
x-ms-office365-filtering-correlation-id: bc24e9b9-f9a3-4712-984c-08db6121dbb7
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: uy4aCco7NpqgZX8KdRGsjv9y2Kbs8gOCbdzP43YuQso4aH8o90qMPUC+USOXaZEzU1gYpkEZj17GEKgu53gyaKJI5usErcnsTQeket6j+hq7OmzWeG9SVm4LgGujpvqtH/X8eDB87JKgZGsCGbFNPeRGwZ0RmojfOhVPhCSasZ64slb9uEHv8W/fCb5vVJaac/756OCn88aEivOuZURyZ6H8/HUgqR7PCQf+rQQArJUHyF398jmI1FU+u3zaDmx7/ZCvwwainOBpRYaOi/JJdQ7Sdf9jWrEG4nUOqrdELA0bwqGUgB4mo3ZYUTGptwdnRc+RYqXoiG/RcrBSflqz16r65Ubbjfk+T8lHCpoavWEHiZAnkRzCwtUsXCcKLLd3OrlZ0xq1+TgbFliTIHM2A11IPOq4z0eoCiaQ3qA7BV205F+rT9+dLInK/5UwOcM+jRS8POWCpY+DkLjx8e/68XqbbbQpSflC2aUQlq05HlrKnzJ9nntS8eyzwRqZqRyvHTrfaVrSo9vZ0k+6o0xwDWaziEceJ7MAxXDHaKYXR4/G6fyNiJPbHVFyBPcKUOltNCprgXJHZ1wbHWAVY9dOh7pgWGW/DI2fYEGeHEN5RvFhkOSft51sgryCR+I2NUyJ8P4iSZScLwU+kRu38mv430mw3gX0wdQZzus4ljRxz4NEEMdLzo5+D+773CrXAsxc
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:(13230028)(4636009)(346002)(39860400002)(136003)(396003)(366004)(376002)(451199021)(4326008)(66476007)(66946007)(66446008)(66556008)(64756008)(5660300002)(76116006)(86362001)(478600001)(7696005)(41300700001)(8676002)(8936002)(52536014)(966005)(84970400001)(33656002)(110136005)(9686003)(316002)(71200400001)(26005)(66899021)(6506007)(53546011)(186003)(83380400001)(38070700005)(166002)(2906002)(55016003)(38100700002)(122000001)(82960400001); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 2nAMCdK0ZTxVPWptW3PIl9NbnD1jgj8i6Y8EE56gZJ5pAn5e/cunqdr7fg1LbZ2PC5P2zy4pz/FcK9eEGF9D7FmKZPTTSppLMXPRQC98sIXH2IbqjTAoBcbHxJpV1XchD7N2CICSAgZKaxDv56H87SCJrGHE5CUGJyc4qR74ubSDkpW4y4Chn4ZCsgxXhio9870bBkJWWgz4vuYmKmarowzOFoRPa10UHK733Ibdw97aviWz1L8LzaeLndkD2KMD4R0Pizgjc1VtES4qoWZ/yS2AhAyNuDxfpSANIZgR7sFVMsaWEr0v6dxmERiG8ZzeH+ko00rGoPj32WND2M2ty0CTbywX0QZFzfLp/cFPp6CFTZd6sjm/YCoVUroilHhU095AFYooGv2na/t00ZkKGzsdE6Ekkqu2M0Tfc5Y6nptENA5uPQOpNHreetRNaUa22lduss6yztU9vRA67EOc8topo+uwJu0rjir7ivgxKnbiUZuXfFMJJxO+xsiFRNWvulu67pyfMEJKPY7danafsHNoEvsF5fbYWioDHDpXssmxZj8W7NrKu46J4PyIa8RdLgsxV+B8S4vHSDZ6BUXNW/X/ewiEE8ATI3jXMvaaFHx8koAsiygn3vqQ9jNYhWVIz33YSLihxsU4zxNIj46KXK2kgY6+BATS0VNL8zrAJFh3xDz5iNBC4QMoc1V69IMFbaOUkCpRvUvYkYY4Vm2Z9xvBNeNvXd8keUMkeCO5/81WQQO3QwqdvQ1mhvgvxTzl5qrdjd+l5ucX1GS41+UQRBhFeyjjKnSYXWjB21AEIOjpyb00z+y1NGebKokYKJakx+Xcpo7ar6Vz8ycjnqsuf+dEhP5QKvRGbzpeMjeWs/SCQidbmvStlGQSGGBEfWEHLCq49LM5++FErbgcvzUz3uGUzmfe/f8JzfNy+9AOPChxEpSC2Ig4NDcm6/Hxnno295Yl8k4LvsDy90OOE8acf/qamTDWXehsKQqFFYJnc8y06a7y3s0PE8k5hJjzZW8pcBOBqxF6Jzhac0tN+iXYW7+9SYmJ1g0gKWb5wRykROqgoqatLFRBv/iq2BneIM7Cx8Ahkfq6dJXopCW35Pppf1BPSqCp4UFCmKidhXFg7wa5iIlABYX1iQf7pC4huWaVRK7ATUnAS78yTBNqPUYtZJYKhqfhdY2d2bwIh1D6X4sqdCfTma7HkfJBJvyZ2yoZDmPeo0JB/S7ar2Ad3aJmjozIa6Vi3LPifiDnFSSHggnfLr0IohUNU6us3yPuSVj7nuXt0x++jrwRXsP7TCKdM+e6scyaxMeThWJmPxZlrfpGOX90PaHDzns85z96ZPCTb0xXiuwAl/ESpFNnRfvFHxbGl7zdcBZ0RhLv5LDkTVfOyK0ir5MQmKn2ir/tDsUVyXKZINFAqh5wenRA7h/XyLrp0o8YDh5uMPRPWR1SYiq9TDwQ03gbDoSXA09bEBJmM7xxL2cFC2JiLV7SJv2j719FDeg+qdcPBPFOhgrFJEmdOz3dfSe7RM1D0XgLNI9yOpPA/4n+Rgn6F7dh5S+V3smEZWvRMUPNxnW0aLIpJyZlJF2EPal5Q2VSCVfrz3Qc
Content-Type: multipart/alternative; boundary="_000_DM6PR08MB5084AF63D4C5A93ED95F1CB69B4B9DM6PR08MB5084namp_"
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: bc24e9b9-f9a3-4712-984c-08db6121dbb7
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 May 2023 15:23:45.1074 (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: fxz/xc3RudP15iCYnx4HccsX+MPp0Ee6W01Pb5y91Skqy0ety3372Xe8eQjrio4cgbxQ0zm5KDpjb+EdmXNGTA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR08MB7262
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/HBQjxE9Kyih4Y-0fu9n3KTEGimE>
Subject: [netmod] YANG filenames in module versioning
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, 30 May 2023 15:24:35 -0000

(changing subject for a dedicated thread on the filename)

What the draft was mainly trying to achieve (IMO) wrt filename was to have a standard format/separator (#) when using a revision-label.

i.e. *if* anyone is to use a revision-label, then it should be done with <module-name>#<revision-label>.yang.

(and some users will indeed like to manage module versions using revision labels instead of dates – probably most over the long term)

I’m not sure that {date, label} is a required tuple to identify a version of a module. I see the “keys” more as {module-name, label} OR {module-name,date}.
(where {module-name, label} could theoretically allow multiple revisions in a single day, although for now we haven’t changed the 7950 requirement that every module has a unique date)

Jason

From: netmod <netmod-bounces@ietf.org> On Behalf Of Andy Bierman
Sent: Wednesday, May 24, 2023 8:29 PM
To: Robert Varga <nite@hq.sk>
Cc: netmod@ietf.org
Subject: Re: [netmod] Joint WGLC on "semver" and "module-versioning" drafts


CAUTION: This is an external email. Please be very careful when clicking links or opening attachments. See the URL nok.it/ext for additional information.




On Tue, May 16, 2023 at 11:10 AM Robert Varga <nite@hq.sk<mailto:nite@hq.sk>> wrote:
On 09/05/2023 00.49, Kent Watsen wrote:
> Dear NETMOD WG,
>
> This message begins a joint two-week WGLC for draft-ietf-netmod-yang-semver-11 and draft-ietf-netmod-yang-module-versioning-09
>   ending on Monday, May 22nd.  Neither draft has IPR declared.  Here are the direct links to the HTML version for these drafts:
>
>     - https://datatracker.ietf.org/doc/html/draft-ietf-netmod-yang-semver-11
>     - https://datatracker.ietf.org/doc/html/draft-ietf-netmod-yang-module-versioning-09
>
> Positive comments, e.g., "I've reviewed this document and believe it is ready for publication", are welcome!  This is useful and important, even from authors.  Objections, concerns, and suggestions are also welcomed at this time.

Hello, I have reviewed the module-versioning draft and overall it looks
fine (well, aside from the incoming pain :), but we'll cope with that in
due time).

One concern I have is with
https://datatracker.ietf.org/doc/html/draft-ietf-netmod-yang-module-versioning-09#name-file-names,
which changes file naming.

Previously the canonical file name included revision -- and now that
information is lost. While I understand the desire for descriptive
names, which are a boon for humans, the until the entire ecosystem
adopts labels, this change is either-or -- and hence tools have to pick
which metadata is more important: label or revision.

Would it be possible to define a format which contains *both* the label
and revision, so as not to pick favorites?


This is an example of an important detail that could be solved differently
if a new YANG language version was used.  In YANG 1.1 the revision-date is optional.
In YANG 1.2, both the revision-date and label could be mandatory.

It is common practice to release YANG changes in multiple release trains
on the same day.  So the {date, label} is the unique identifier for the YANG file,
not some combination of optional parts.  IMO the file name you suggest should
be the mandatory-to-implement canonical file name format for YANG 1.2.

[>>JTS:] …snipped out the comments on doing this work in YANG 1.0/1.1 vs another version of YANG…


Thanks,
Robert


Andy

_______________________________________________
netmod mailing list
netmod@ietf.org<mailto:netmod@ietf.org>
https://www.ietf.org/mailman/listinfo/netmod