Re: [netmod] All IETF YANG modules MUST include revision-label statements

Martin Björklund <mbj+ietf@4668.se> Sat, 28 March 2020 08:41 UTC

Return-Path: <mbj+ietf@4668.se>
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 6570E3A053E for <netmod@ietfa.amsl.com>; Sat, 28 Mar 2020 01:41:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.099
X-Spam-Level:
X-Spam-Status: No, score=-0.099 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, PDS_NAKED_TO_NUMERO=1.999, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=4668.se header.b=0ls03prZ; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=TT/piykm
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 0CJvKrnoB7-z for <netmod@ietfa.amsl.com>; Sat, 28 Mar 2020 01:41:25 -0700 (PDT)
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B19EC3A0418 for <netmod@ietf.org>; Sat, 28 Mar 2020 01:41:25 -0700 (PDT)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id 1A1955C02A8; Sat, 28 Mar 2020 04:41:25 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Sat, 28 Mar 2020 04:41:25 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=4668.se; h=date :message-id:to:cc:subject:from:in-reply-to:references :mime-version:content-type:content-transfer-encoding; s=fm1; bh= PNlJ01GIhvBbBuIn50vEuBmCP3pzSIfC0W39J1v2qoE=; b=0ls03prZCHIr1BAa MzfiE49a+OYwt5pE7BCscaQKNwQAGUmP3WElJELhEFxX71/PSksIif4B/X2niDnd kO1eyDnIhCrE0A1dKeHT91H5cyjrz6gRv/TiyYeI5i6X8cLoX9+rg25HLzbCkh6L avviKrG6kxwmnsbGoriZ6DqoWPMkgmXrn/0N+MiquekFeWoCPtub3ESmmXAyNkPK prWameR37ECJriWwqjZNxB6rl/0M0RuUZ6Hop+yshk+8481bTm5OrIyiULk6cqt8 SOxEfqDT2MKktLatWNP9BRnAGLVYYr+CErERQeS0oAHLhPuEWd7nPMrXKKm0OCmM NUyeVA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; bh=PNlJ01GIhvBbBuIn50vEuBmCP3pzSIfC0W39J1v2q oE=; b=TT/piykmivX85SpjFHGpMcbilWTJ/+wOIkAsuJn99Zpey3FZVot7g5kJS r4ox8XUZgoorcB43vNS5baXPhTwwg3N7DVT3wBkRe/s0r6fHZrMZIhog3ivW3KiJ KGYiVnhvHazVAlHGw1v2eK4j1cbhylY+JuKCROCuZHzGgYt5KfR/xanJ8bDCVSKH HC7xvdQC7O36+qwWTQV+5T5YT0sx8IZluwfzNuC92H8R7YJh88ModBnQs2GuP+um jRbSB+d0Xq903Yx5szZ/SijjEgOeLa1zaAvncovgSiuNnnOaFricji2Hm9no1m4t OWuljHomeHVFFY3xI3O6K1deCGx/A==
X-ME-Sender: <xms:tA1_XrIFttafTLKYvPxqvGQZBEjaIDHtzb5rsdLRFOBQrstYhsjcqA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedugedrudeitddguddukecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecunecujfgurhepfffkvffuhfgjfhfogggtgfesth gsredtredtjeenucfhrhhomhepofgrrhhtihhnuceujhpnrhhklhhunhguuceomhgsjhdo ihgvthhfseegieeikedrshgvqeenucffohhmrghinhepghhithhhuhgsrdgtohhmpdhivg htfhdrohhrghenucfkphepudehhedrgedruddtfedruddvnecuvehluhhsthgvrhfuihii vgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgsjhdoihgvthhfseegieeikedrsh gv
X-ME-Proxy: <xmx:tA1_XjZO2zHrv8aBlPCuZtS4-vo8yII3McUCV-YNSPEtHrMIye0NrA> <xmx:tA1_Xuu9F_J9vfsTgmjf_P7Jy3vxMiiEGXCLi19HKRmzg-8KkmvV8w> <xmx:tA1_XosIYFZ6ARytFKUoge_pV0mkojdaJ12YyAR39uSV9o6dRy8cYA> <xmx:tQ1_XsVnX_1izHhxlG3kS4HbQvkCnKyjjW1959IiRMA0NdQlqsYprg>
Received: from localhost (unknown [155.4.103.12]) by mail.messagingengine.com (Postfix) with ESMTPA id 0D13E306C676; Sat, 28 Mar 2020 04:41:23 -0400 (EDT)
Date: Sat, 28 Mar 2020 09:41:21 +0100
Message-Id: <20200328.094121.1160081114435152145.id@4668.se>
To: rrahman@cisco.com
Cc: netmod@ietf.org
From: Martin Björklund <mbj+ietf@4668.se>
In-Reply-To: <75CFDBD9-143C-407A-B7C3-26CEC51E229C@cisco.com>
References: <75CFDBD9-143C-407A-B7C3-26CEC51E229C@cisco.com>
X-Mailer: Mew version 6.8 on Emacs 26.3
Mime-Version: 1.0
Content-Type: Text/Plain; charset="utf-8"
Content-Transfer-Encoding: base64
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/BM8Le4g8MRpW39lWfVnSm_4QtTE>
Subject: Re: [netmod] All IETF YANG modules MUST include revision-label statements
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, 28 Mar 2020 08:41:28 -0000

"Reshad Rahman (rrahman)" <rrahman@cisco.com> wrote:
> Hi,
> 
> https://github.com/netmod-wg/yang-ver-dt/issues/45
> 
>         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.
> 
> We believe some IETF models may not follow linear history, this was
> brought up (I think) for IDR. Modified semver allows for non-linear
> history and also doesn't preclude linear history. So even if we end up
> having no IETF modules using branching, modified semver still works.

With the clarifiactions and updates in
draft-verdt-netmod-yang-module-versioning, non-linear versioning
works without modified semver.  So there is no technical reason to use
modified semver in IETF modules.

I can reluctantly accept that modified smever is published as
Experimental.  But that doesn't mean that IETF modules should use it.


/martin


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