Re: [netmod] Revision labels for submodules

Martin Björklund <mbj+ietf@4668.se> Sat, 09 May 2020 15:53 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 744753A0B40 for <netmod@ietfa.amsl.com>; Sat, 9 May 2020 08:53:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.921
X-Spam-Level:
X-Spam-Status: No, score=-0.921 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.177, 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=NXdMJJJA; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=TV+FsR/c
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 dxWitmQp7cGe for <netmod@ietfa.amsl.com>; Sat, 9 May 2020 08:53:42 -0700 (PDT)
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 789013A0B3E for <netmod@ietf.org>; Sat, 9 May 2020 08:53:42 -0700 (PDT)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id BE6BC5C005D; Sat, 9 May 2020 11:53:41 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Sat, 09 May 2020 11:53:41 -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= JxVzUAP61uGQpxo6fHnkGyGBQa7Kt9DYD2px7VyTZy0=; b=NXdMJJJAhAg8vpzM O+6KqfH1RrCvdhe0pyr9kth+zb1ixS3L+t7gMQuvD30Q/qOl8dcGJkE7Z1U8PKzC vWoBkrHiOd3FZl0uj+nu7fSZwKPPISFK2vUIn3pkPkOMz4gQAQVwaybuJADD8EIh HW1X6ZVbsnBinLLhyU9AArtadTAHI+Vykxa0bxb9SvrcixH9ZEHFR+K5qTxdSB/3 WQONUc8FbUAli2OtqpfEdAnbdZEnvNhFIbqOa5kuqEr6cK3crbzByy5uvec/5ODW bDmXVYSf9/7akt7bPxjCIwpM3TZ4FflNPJRieZRL1IQLn+V8FnhxTkw0mPjcgYDG ZYk1JQ==
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=JxVzUAP61uGQpxo6fHnkGyGBQa7Kt9DYD2px7VyTZ y0=; b=TV+FsR/c3q/H6/EOUbRogUlhLkN/MJuKmEDSYhosaM+Lk37U1F7BsupCO qKDMg/aP025849qL0VlIVjGEIfXDF8EISraZ8TLO3Y/KrSQzfq+Ld9VsYia7cl9h rAttWK/35lHhP0IENx/4nck9BnKg9DsQV16QIMRCTiWBavqZhPoA1GvzFx5YwlfV 3rE+hyRKamDWDucjCctjPOd2Up4T/uQ57ZWLZ+Ye/YamFH5lNiCaidcEzRSgJzdM uPgU4YDnw0R6lSRxJVNcja/MYSgdbrsNGg11ncK/GGO0zIO13hUJZzt42BeMcPmQ miWPxUF8uPRXYQ1YX/uwpnFr+XTkg==
X-ME-Sender: <xms:BdK2Xg7cETpGvBqVG66jsSITHyUbqZc5MvK3a7NQqR0U9kq7B5NjRA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduhedrkeehgdelfecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhepfffkvffuhfgjfhfogggtgfesthgsre dtredtjeenucfhrhhomhepofgrrhhtihhnuceujhpnrhhklhhunhguuceomhgsjhdoihgv thhfseegieeikedrshgvqeenucggtffrrghtthgvrhhnpeevueeuvdegjedvieffudfhfe fhueevleejveeuhfeivdduhfduleefgfdvheefteenucffohhmrghinhepghhithhhuhgs rdgtohhmpdhivghtfhdrohhrghenucfkphepudehkedrudejgedrgedrgeegnecuvehluh hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgsjhdoihgvthhf seegieeikedrshgv
X-ME-Proxy: <xmx:BdK2XspWYx5hF7ItqwadjrNDE18KEDWeedk2zlS1pgsaat2Lmg_Yaw> <xmx:BdK2XuU_IGssvmEWioM25wBs9Y9MKAMWy98j5h-fbM1nyt5Z1nE5LQ> <xmx:BdK2Xr5Lh69mTC5CL3O1hmZivo3eSA-qdbscECSzATVZ4WY0C7GFcQ> <xmx:BdK2Xp508IoGdxNkNQti4iPNc2JX5vtHrcLDrQoWgt14yN0Pmboueg>
Received: from localhost (unknown [158.174.4.44]) by mail.messagingengine.com (Postfix) with ESMTPA id 8D79B306623E; Sat, 9 May 2020 11:53:40 -0400 (EDT)
Date: Sat, 09 May 2020 17:53:37 +0200
Message-Id: <20200509.175337.1668899395924812873.id@4668.se>
To: rrahman@cisco.com
Cc: netmod@ietf.org, jason.sterne@nokia.com
From: Martin Björklund <mbj+ietf@4668.se>
In-Reply-To: <B692BC98-AA66-4E12-9EF5-516FFCF04F33@cisco.com>
References: <8D4A99E4-93D3-495C-9B46-26C61BBABAA7@cisco.com> <20200508.231215.893859438588129498.id@4668.se> <B692BC98-AA66-4E12-9EF5-516FFCF04F33@cisco.com>
X-Mailer: Mew version 6.8 on Emacs 25.2
Mime-Version: 1.0
Content-Type: Text/Plain; charset="utf-8"
Content-Transfer-Encoding: base64
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/6maAhyRffcLrRq5XvFJaaPF5NqA>
Subject: Re: [netmod] Revision labels for submodules
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:53:45 -0000

"Reshad Rahman (rrahman)" <rrahman@cisco.com> wrote:
> Hi,
> 
> On 2020-05-08, 5:12 PM, "Martin Björklund" <mbj+ietf@4668.se> wrote:
> 
>     Hi,
>     
>     "Reshad Rahman (rrahman)" <rrahman@cisco.com> wrote:
>     > Hi,
>     > 
>     > This came up during this week's meeting. We briefly discussed whether
>     > there's a need to version sub-modules or can we restrict versioning to
>     > modules only. We would like to hear from the WG on this, especially
>     > those with experience managing sub-modules.
>     
>     Yes I think this is needed.  At tail-f, there are several modules with
>     many submodules.  These modules always use include by revision, and
>     always the main module is always uddated when any submodule is
>     updated.  It doens't make much sense IMO to not use include by
>     revision.
>     
>     > For completeness, below is an update from Jason in github:
>     > My initial reaction is that we should not preclude the use of revision
>     > label with a submodule. Submodules have their own version today. The
>     > trick is to define (or explicitly say it is out of scope) whether a
>     > module version must change if any underlying submodule versions
>     > change. That gets difficult if you consider simply moving a leaf from
>     > one sub-module to another (without changing anything else about it -
>     > its context, etc).
>     
>     Why would this be difficult?  The revision date is updated on any
>     editorial change (see 7.1.9 of RFC 7950).  So if a leaf gets moved
>     from submodule A to submodule B, then their revisions are udpated, and
>     hence the module's include-by revision is udpated, and hence the
>     module's revision ois updated.
>     
> I think what Jason meant is that by moving a leaf between submodules,
> it's possible the module's schema didn't change.
> So yes revision date is updated, but you can't blindly update the
> revision-label.

Why not?


/martin


> 
> Regards,
> Reshad.
> 
>     /martin
>     
>     
>     
>     > 
>     > 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/49
>     >     
>     >             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?
>     >     
>     >     Good point. What was meant by that the label space for modules and
>     >     sub-modules are orthogonal.  e.g. the sub-module and module both have
>     >     the same label, it shouldn't be inferred that the 2 are related.
>     >     We'll change/clarify the text.
>     >     
>     >     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
>     >     
>     > 
>     
>