Re: [netmod] Revision label in filename

Andy Bierman <andy@yumaworks.com> Sat, 09 May 2020 15:03 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 E08B73A0B27 for <netmod@ietfa.amsl.com>; Sat, 9 May 2020 08:03:49 -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, SPF_HELO_NONE=0.001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=unavailable 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 odQYaew8Tn9S for <netmod@ietfa.amsl.com>; Sat, 9 May 2020 08:03:46 -0700 (PDT)
Received: from mail-yb1-xb36.google.com (mail-yb1-xb36.google.com [IPv6:2607:f8b0:4864:20::b36]) (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 305F93A0B23 for <netmod@ietf.org>; Sat, 9 May 2020 08:03:46 -0700 (PDT)
Received: by mail-yb1-xb36.google.com with SMTP id x18so2595730ybq.8 for <netmod@ietf.org>; Sat, 09 May 2020 08:03:46 -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=Tvx8TbMjoa6+nZsyAsfFuzbi+ku5x/ydzvkFp1KDCGI=; b=R0IPSn/IRIR86ZSKWglNUFrQBl4UGgOl3+7AmNMDSkf0LOfyb2ZQy8W0CA4EXRjR7J iQpNBDZ9YDA9tUr4d0S3zqb1Y0/LN7oAnTyFXu67w5lk7j6/zastrAPg54QjIJURDv1V IThx5QHugpV1xGiEMkWlgvZB6vJchHj0QxwZOE97rFNzaReRITSjVuokCjmulSu5um+8 78+gYKUnc+5n8IQSMy2nOlhuiki8CeQU0Pir6RWXzWjjo0GDapZPuhENlBJ0gVdkcMY0 FRXmDnI9bBIR4pJyRLTGiQxB6OlOUNIXx7mOeSNpy3zGdITSe72rEUdI6GOK45gjkh5r fWfQ==
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=Tvx8TbMjoa6+nZsyAsfFuzbi+ku5x/ydzvkFp1KDCGI=; b=idPmW4k0hekNUmoAym9xr9WjLm6mS2C6tfb3BLCAV6qpvGrwPP694AE9NrLnqST9IP LEUvXnFE+TENpU9DPwhEheY/xZ+YtxDkdaQhGeo6k67xamwdaeLvg1XgVXPG2CoNgcgc RZCRQ9YK4joM1BptCPwgRB76yY9qIitTw2UrrmVtA4SYNqgDZlPxmekMXRaKqCM5MiSQ O5sULrpKccI2PIcojIBFRzjDTGk5GzL8w0XN5uC2woF34EUnPC9F9yXUa9LiH3EdkTVF m/u5Vn+tyWc6SBmeC9xn559D08wADz+3E5garWobkRrtG1uHji3DhEn/gP18fbvQft7x L9wQ==
X-Gm-Message-State: AGi0Pubpns7LyKAoXlx1iAJLkYRoEp91b18XtVNAwBYUKkRZ5y8EsfXz fGYZy798JEjv3lIvwdDXZhVJKIogSIItC0lFXb4nJQ==
X-Google-Smtp-Source: APiQypJqw3xkRjl6iCISlCFl8B+SFQ6i69WDWuRgrEzEKWb6uXh5lbzWlsN3WlMqsY+KEQqWuu+8olTYkAA2iBzeqxY=
X-Received: by 2002:a5b:74c:: with SMTP id s12mr9360303ybq.234.1589036624940; Sat, 09 May 2020 08:03:44 -0700 (PDT)
MIME-Version: 1.0
References: <E42934AA-A95D-4BC3-A9F9-F940734EA84F@cisco.com> <AM6PR07MB4520D033C8F8F32FD72F464DA0A30@AM6PR07MB4520.eurprd07.prod.outlook.com>
In-Reply-To: <AM6PR07MB4520D033C8F8F32FD72F464DA0A30@AM6PR07MB4520.eurprd07.prod.outlook.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Sat, 09 May 2020 08:03:34 -0700
Message-ID: <CABCOCHTn9VOHfkEkFeY=XyctDiMdsa7AhHZ9yS_cTrgsEJY6=w@mail.gmail.com>
To: tom petch <ietfc@btconnect.com>
Cc: "Reshad Rahman (rrahman)" <rrahman=40cisco.com@dmarc.ietf.org>, "netmod@ietf.org" <netmod@ietf.org>, Martin Björklund <mbj+ietf@4668.se>
Content-Type: multipart/alternative; boundary="00000000000090aa9e05a5386ba2"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/oYdrKwPnL8o-f30Rv1KsVoz5FNA>
Subject: Re: [netmod] Revision label in filename
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: Sat, 09 May 2020 15:03:50 -0000

On Sat, May 9, 2020 at 4:07 AM tom petch <ietfc@btconnect.com> wrote:

> From: netmod <netmod-bounces@ietf.org> on behalf of Reshad Rahman
> (rrahman) <rrahman=40cisco.com@dmarc.ietf.org>
> Sent: 08 May 2020 15:13
>
> Hi,
>
> We discussed using something along the lines of
> module-or-submodule-name['@'date]['#'revision-label].yang. Questions to the
> WG:
> 1) Is there a need for both date and revision-label or is one of them
> enough?
>
> <tp>
> One of them is quite enough and since the date is embedded in many systems
> it would be wrong to change it.  The module name is the primary identifier
> of this bundle of definitions but it was decided that as and when there was
> a change therein then the date would provide a unique identifier for a
> particular version; nothing more is needed.  Arguably the date is more
> complex than is warranted but it has worked.  Indeed that format is now
> used and understood by such as IANA and the RFC Editor.
>
>

+1

This would be a very disruptive change with little to no value.


> If you want to record more detailed semantics of the relationships between
> different versions, then put it somewhere else and leave the identifier
> alone, let the identifier be an identifier and not be overloaded with
> semantics.
>
> Tom Petch
>
>
Andy


>
>
>
>
>
>
>
> 2) If we have both, what's the impact of having "#revision-label" on
> implementations which search by date?
>
> Regards,
> Reshad.
>
> On 2020-03-27, 5:44 PM, "netmod on behalf of Reshad Rahman (rrahman)" <
> netmod-bounces@ietf.org on behalf of rrahman=40cisco.com@dmarc.ietf.org>
> wrote:
>
>     Hi,
>
>     https://github.com/netmod-wg/yang-ver-dt/issues/50
>
>             o  3.3
>
>                   In the filename of a YANG module, where it takes the
> form: module-
>                   or-submodule-name ['@' revision-label] ( '.yang' /
> '.yin' )
>
>               Should this section update 5.2 of RFC 7950?  I know that 5.2
> just
>               says "SHOULD".  But existing tools implement this SHOULD,
> and they
>               need to be updated to handle this new convention.
>
>               But I wonder if this a good idea.  It means that a tool that
> looks
>               for a module with a certain revision date cannot simply
> check the
>               filenames, but need to parse all available modules (wijust
> to find the
>
>     We agree that there is an impact on searching by date. We put this in
> to have the ability to search by revision-label, otherwise we can search
> just by date for a module which uses revision-label.
>     We had also discussed using different limiter for the label and have
> something along the lines of:
> module-or-submodule-name['@'date]['#'revision-label].yang
>     It'd seem that updating 7950 would be a good idea whichever way we go.
>
>     Regards,
>     Reshad.
>
>
>     On 2020-03-20, 5:08 PM, "netmod on behalf of Reshad Rahman (rrahman)" <
> netmod-bounces@ietf.org on behalf of rrahman=40cisco.com@dmarc.ietf.org>
> wrote:
>
>         Hi Martin,
>
>         We've opened issues to track your review comments (see below).
> Will kick off separate therads for each issue.
>
>
> https://github.com/netmod-wg/yang-ver-dt/issues?q=is%3Aissue+is%3Aopen+label%3Aupdated-mod-rev-handling
>
>         Regards,
>         Reshad.
>
>         On 2020-03-10, 3:31 PM, "netmod on behalf of Martin Björklund" <
> netmod-bounces@ietf.org on behalf of mbj+ietf@4668.se> wrote:
>
>             Hi,
>
>             Here are my review comments of
>             draft-verdt-netmod-yang-module-versioning-01.
>
>
>
>             o  3.1.1
>
>                 o  In statements that have any data definition statements
> as
>                    substatements, those data definition substatements MAY
> be
>                    reordered, as long as they do not change the ordering
> or any "rpc"
>                    "input" substatements.
>
>               I think this needs to capture that no descendant statements
> to
>               "input" can be reordered.  Same for "output" (note, "input"
> and
>               "output" in both "rpc" and "action").
>
>
>             o  3.3
>
>                 All revision labels that match the pattern for the
> "version"
>                 typedef in the ietf-yang-semver YANG module MUST be
> interpreted as
>                 YANG semantic version numbers.
>
>               I don't think this is a good idea.  Seems like a layer
> violation.
>               What if my project use another dialect of semver, that
> wouldn't be
>               possible with this rule.  I think this needs to be removed.
>
>
>             o  3.3
>
>                 Submodules MUST NOT use revision label schemes that could
> be confused
>                 with the including module's revision label scheme.
>
>               Hmm, how do I ensure that this MUST NOT is handled
> correctly?  What
>               exactly does "could be confused with" mean?
>
>
>             o  3.3
>
>                   In the filename of a YANG module, where it takes the
> form: module-
>                   or-submodule-name ['@' revision-label] ( '.yang' /
> '.yin' )
>
>               Should this section update 5.2 of RFC 7950?  I know that 5.2
> just
>               says "SHOULD".  But existing tools implement this SHOULD,
> and they
>               need to be updated to handle this new convention.
>
>               But I wonder if this a good idea.  It means that a tool that
> looks
>               for a module with a certain revision date cannot simply
> check the
>               filenames, but need to parse all available modules (wijust
> to find the
>
>
>
>             o  3.4
>
>                  leaf imperial-temperature {
>                    type int64;
>                    units "degrees Fahrenheit";
>                    status deprecated {
>                      rev:status-description
>                        "Imperial measurements are being phased out in favor
>                         of their metric equivalents.  Use
> metric-temperature
>                         instead.";
>                    }
>                    description
>                      "Temperature in degrees Fahrenheit.";
>                  }
>
>               I don't think rev:status-description is necessary / worth
> it.  This
>               can easily be written with the normal description statement
> instead:
>
>                  leaf imperial-temperature {
>                    type int64;
>                    units "degrees Fahrenheit";
>                    status deprecated;
>                    description
>                        "Imperial measurements are being phased out in favor
>                         of their metric equivalents.  Use
> metric-temperature
>                         instead.
>
>                         Temperature in degrees Fahrenheit.";
>                  }
>
>
>             o  3.5
>
>               The example modules should be legal YANG modules.  Use e.g.
>               "urn:example:module" as namespace.
>
>               Also, the modules are missing the last "}", which confuses
> the
>               "rfcstrip" tool.
>
>
>             o 4.1.1
>
>                 Alternatively, the first example could have used the
> revision label
>                 "1.0.0" instead, which selects the same set of
> revisions/versions.
>
>                 import example-module {
>                   rev:revision-or-derived 1.0.0;
>                 }
>
>               Shouldn't this be s/1.0.0/2.0.0/g ?
>
>
>             o  5
>
>               I think the module name "ietf-yl-revisions" should be
> changed to
>               "ietf-yang-library-revisions".   "yl" is not a well-known
> acronym.
>
>
>             o  5.2.2
>
>               Wouldn't it be better if the leaf
> "deprecated-nodes-implemented" and
>               "obsolete-nodes-absent" were of type "boolean" rather than
> type
>               "empty"?
>
>
>             o  7.1
>
>               The text says:
>
>                 All IETF YANG modules MUST include revision-label
> statements for all
>                 newly published YANG modules, and all newly published
> revisions of
>                 existing YANG modules.  The revision-label MUST take the
> form of a
>                 YANG semantic version number
> [I-D.verdt-netmod-yang-semver].
>
>               I strongly disagree with this new rule.  IETF modules use a
> linear
>               history, so there are no reasons to use "modified semver".
>
>               It is ok to use rev:nbc-changes if needed, though.
>
>
>             o 7.1.1
>
>               There is a missing " in:
>
>                4.  For status "obsolete", it is RECOMMENDED to keep the
> "status-
>                    description" information, from when the node had status
>                    "deprecated, which is still relevant.
>              HERE  -----------^
>
>
>             o  8
>
>               s/CODE ENDS>/<CODE ENDS>/
>
>
>             o Both YANG modules
>
>               All extensions should specify the grammar; i.e., in which
> statements
>               they can be present and which substatements they can have.
>
>
>
>             /martin
>
>             _______________________________________________
>             netmod mailing list
>             netmod@ietf.org
>             https://www.ietf.org/mailman/listinfo/netmod
>
>
>         _______________________________________________
>         netmod mailing list
>         netmod@ietf.org
>         https://www.ietf.org/mailman/listinfo/netmod
>
>
>     _______________________________________________
>     netmod mailing list
>     netmod@ietf.org
>     https://www.ietf.org/mailman/listinfo/netmod
>
>
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod
>