Re: [netmod] YANG revision dates unique in module ?

Italo Busi <Italo.Busi@huawei.com> Tue, 01 June 2021 19:31 UTC

Return-Path: <Italo.Busi@huawei.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 70E633A2495 for <netmod@ietfa.amsl.com>; Tue, 1 Jun 2021 12:31:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 o-6WNX31luH9 for <netmod@ietfa.amsl.com>; Tue, 1 Jun 2021 12:31:17 -0700 (PDT)
Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 80F953A2499 for <netmod@ietf.org>; Tue, 1 Jun 2021 12:31:17 -0700 (PDT)
Received: from fraeml709-chm.china.huawei.com (unknown [172.18.147.201]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4Fvhth19DZz6P40h; Wed, 2 Jun 2021 03:24:44 +0800 (CST)
Received: from fraeml715-chm.china.huawei.com (10.206.15.34) by fraeml709-chm.china.huawei.com (10.206.15.37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Tue, 1 Jun 2021 21:31:13 +0200
Received: from fraeml715-chm.china.huawei.com ([10.206.15.34]) by fraeml715-chm.china.huawei.com ([10.206.15.34]) with mapi id 15.01.2176.012; Tue, 1 Jun 2021 21:31:13 +0200
From: Italo Busi <Italo.Busi@huawei.com>
To: 'Andy Bierman' <andy@yumaworks.com>, "Sterne, Jason (Nokia - CA/Ottawa)" <jason.sterne@nokia.com>
CC: "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: [netmod] YANG revision dates unique in module ?
Thread-Index: AQHXVxhsezsIj7lHy0yd2lBkuPNQYar/h3vg
Date: Tue, 01 Jun 2021 19:31:13 +0000
Message-ID: <614a0780b8ca4030a3d6b02897977c38@huawei.com>
References: <DM6PR08MB5084CAC59121591A4ACC7B029B3E9@DM6PR08MB5084.namprd08.prod.outlook.com> <CABCOCHQq3C4Roej0f96=y9OgRrNbWYozTYK9JgHgXwiSC7VNQA@mail.gmail.com>
In-Reply-To: <CABCOCHQq3C4Roej0f96=y9OgRrNbWYozTYK9JgHgXwiSC7VNQA@mail.gmail.com>
Accept-Language: it-IT, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.47.88.123]
Content-Type: multipart/alternative; boundary="_000_614a0780b8ca4030a3d6b02897977c38huaweicom_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/Q0p5DFAraLdaZk3aImlKvdpVwHE>
Subject: Re: [netmod] YANG revision dates unique in module ?
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: Tue, 01 Jun 2021 19:31:23 -0000

I recall I raised a similar question in one of the previous meetings (in the context of the YANG file naming) and the answer I have got is that the revision-date is still required to be unique for a given YANG module

IMHO, this requirement was very reasonable for a linear module development (as per current RFC7950) but it would impose an unnecessary and error-prone process for parallel model development which is enabled by the use of revision labels

For example, let’s consider a case where, after releases 1.0.0, 1.1.0 and 1.2.0 have been published, a bug is discovered from R1.0.0  and therefore three bug-fixing releases (1.0.1, 1.1.1 and 1.2.1) needs to be published  “almost” at the same time with the same bug fix

The requirement for unique revision-date makes this impossible and the developer needs to publish these three released in three different days

IMHO, most of the people will not follow this rule and publish these three releases “almost” at the same time

The revision-date uniqueness requirement can be relaxed if a module revision is announced as "foo#revision-label" instead of as "foo@datestring"

Italo

From: Andy Bierman [mailto:andy@yumaworks.com]
Sent: martedì 1 giugno 2021 16:42
To: Sterne, Jason (Nokia - CA/Ottawa) <jason.sterne@nokia.com>
Cc: netmod@ietf.org
Subject: Re: [netmod] YANG revision dates unique in module ?



On Tue, Jun 1, 2021 at 6:36 AM Sterne, Jason (Nokia - CA/Ottawa) <jason.sterne@nokia.com<mailto:jason.sterne@nokia.com>> wrote:
Hi all,

In our YANG versioning work we are proposing that a revision-label is unique and the revision history of a module must not contain the same revision-label twice.

We're debating whether we should state the same rule for revision *date* as well.

RFC7950 doesn't seem to explicitly say that revision date must not be duplicated in the revision history.

This issue came up recently in an OpenConfig discussion here:
Updates to OpenConfig types modules. · openconfig/public@f20ed84 (github.com)<https://github.com/openconfig/public/commit/f20ed8411a6fc1f55c9debed55c852ea4ffef5bb#commitcomment-51076470>

Was it the intention of RFC7950 that a revision history should never have the same revision date twice ?

It seems that way.
How would the duplicates be distinguished within a server?
The server cannot advertise "foo@datestring" twice.
Import-by-revision cannot identify the 2 revisions with the same date.


Andy


I think it is somewhat inferred from various drafts that describe how a module name + revision date uniquely identifies a module revision. But it doesn't seem to be explicitly stated in RFC7950.

If we disallow duplicate revision dates, that makes the module-name+date tuple unique, but it does mean that authors can't produce 2 versions of a module in the same day. In theory we *could* do something like this:
- require unique revision-labels
- allow duplicate revision dates

But in that case, only the module-name+revision-label can be the unique identifier for a revision.

Jason

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