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

Andy Bierman <andy@yumaworks.com> Tue, 01 June 2021 19:51 UTC

Return-Path: <andy@yumaworks.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 D45C23A2524 for <netmod@ietfa.amsl.com>; Tue, 1 Jun 2021 12:51:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.887
X-Spam-Level:
X-Spam-Status: No, score=-1.887 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.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 t71ST0hSYzBu for <netmod@ietfa.amsl.com>; Tue, 1 Jun 2021 12:51:22 -0700 (PDT)
Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com [IPv6:2a00:1450:4864:20::135]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A7B863A2525 for <netmod@ietf.org>; Tue, 1 Jun 2021 12:51:21 -0700 (PDT)
Received: by mail-lf1-x135.google.com with SMTP id x38so23636716lfa.10 for <netmod@ietf.org>; Tue, 01 Jun 2021 12:51:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=alLOhl38nmIBnV0eP/XKKackKXJfrWj1Jf5zSZN1fVc=; b=CYWbVhVlt1fa7Amc/z7IkkkuMWL8zv/ZyMUTnsEr366PkAMxDHBbsqAZkYm031EO/9 b2f75d+yFphoHXaJwN4PQT9IbX+NbANZbvm/eoKWtgZBK/pJrP8VRciNWAEkgiIQrKML 41bhiYvTOhNWk/2ExBwAMsrUO4BCxNMNQ2zvUvcOLaZchTpSG2ZFbNgAG8F2B7yoM6+h j33V2ZTZ3tHyLN9L2huYLd3mrKbGUD2nWU5Xpc/QDdaaSyqZsQxgSz59ffmNkNUKsp9u BPRpr0+aZgAWYM1VN/fsMMdH1p1Wfpi4HQXVhlM+FhZYgEwrEc/CwqDnj7wV9hod3PM0 lLAQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=alLOhl38nmIBnV0eP/XKKackKXJfrWj1Jf5zSZN1fVc=; b=CB4VSC36WpijUA6kt4xLcDLEsibG2qux6tB/BO7ESiM5TItrTPlsBcuyXvtHK6h2SX gDRpp8rpaVi2W0OcTJPIwgffWVE+dNTtOarKmodlz3fK3X+kcprGLZc4nqEzf7s1kYHu cMJQJpqKV9kvNzl53Vmw75v0/9db+ZEzzkRESeOSB8Iqxyw7z++Gqhz+ISHRHum/Y83u kocy0qTKbXhiYbvCJ2AI2uZM0EWOwKqPgAJ0b6jdmC4bkvdVxu158AfTKRhD1WelLe45 vHdZ0wsgflIOYskb1BM+8frzNrZXyrqGn44c2jdbJ12+fqWo/qnwYW3u42V5ff+sSWL3 uOUQ==
X-Gm-Message-State: AOAM531ldGhYLFiIB58Hhh3voHilBTsNWYsZaiRWaFQhpNPHKQU9krgz ur2oNJibGbHYBNC96oFRxdB6ADtVFJeSjYPuIRZpnQ==
X-Google-Smtp-Source: ABdhPJwfyiK3Gf+vbGxRf3YAfPRnTsV29r2pabxNUlR9ttfMl41c3hAy9w+PHICmP3UiB9DJsL1S7TIGKRYBRhAkNgk=
X-Received: by 2002:ac2:548d:: with SMTP id t13mr6208046lfk.568.1622577077815; Tue, 01 Jun 2021 12:51:17 -0700 (PDT)
MIME-Version: 1.0
References: <DM6PR08MB5084CAC59121591A4ACC7B029B3E9@DM6PR08MB5084.namprd08.prod.outlook.com> <CABCOCHQq3C4Roej0f96=y9OgRrNbWYozTYK9JgHgXwiSC7VNQA@mail.gmail.com> <614a0780b8ca4030a3d6b02897977c38@huawei.com>
In-Reply-To: <614a0780b8ca4030a3d6b02897977c38@huawei.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Tue, 01 Jun 2021 12:51:06 -0700
Message-ID: <CABCOCHRJb67DQS4=TdGU=Zq3EQ_66MWNtOPNG+tKgHJR9W1YqQ@mail.gmail.com>
To: Italo Busi <Italo.Busi@huawei.com>
Cc: "Sterne, Jason (Nokia - CA/Ottawa)" <jason.sterne@nokia.com>, "netmod@ietf.org" <netmod@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000058307e05c3b9aaf4"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/btiIClvdveKxlF1ChRLxEE3guA4>
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:51:27 -0000

On Tue, Jun 1, 2021 at 12:31 PM Italo Busi <Italo.Busi@huawei.com> wrote:

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

I will never be convinced that it is a feature for every platform to have a
different copy
of all the YANG modules, with the same names and revision dates.  This
strategy is
not helpful to client developers because they cannot easily reuse code
across server platforms.

I agree that a revision-label helps in the case where "foo@datestring" is
only unique
within a certain proprietary context (like per-platform variants).

I do not agree it was the intent in RFC 7950 to support such a requirement.


Andy


>
>
> 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> 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
> https://www.ietf.org/mailman/listinfo/netmod
>
>