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

Andy Bierman <andy@yumaworks.com> Mon, 30 March 2020 22:15 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 6A8303A13EC for <netmod@ietfa.amsl.com>; Mon, 30 Mar 2020 15:15:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.013
X-Spam-Level:
X-Spam-Status: No, score=0.013 tagged_above=-999 required=5 tests=[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=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 m-Lh88kAXGQl for <netmod@ietfa.amsl.com>; Mon, 30 Mar 2020 15:15:55 -0700 (PDT)
Received: from mail-yb1-xb29.google.com (mail-yb1-xb29.google.com [IPv6:2607:f8b0:4864:20::b29]) (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 D200C3A1465 for <netmod@ietf.org>; Mon, 30 Mar 2020 15:15:42 -0700 (PDT)
Received: by mail-yb1-xb29.google.com with SMTP id h205so9987475ybg.6 for <netmod@ietf.org>; Mon, 30 Mar 2020 15:15:42 -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=Zoix8OqEFJ+N3GXRr61KY7XUHd3PrGCVtuTCBIl+Q7g=; b=F0WHjng1BmpS3MSzBO2OLxqv6J/CnH+49OA3XDViYppxm/G+YqjNoD41mLjUf/Uwcb eOwBVm4YdpBVfMh0tHWjjTuAud69s35Uln9W2Rq2zMFlO7dgVWaHFK4/gw0hTUXIOJJf YIAqZZUvM/V08Z50R7++Wa1bCsYWfonF35uxf09c6+i+0DsLd1ZHKEJco8CZLR4t9tLZ uInSmT0CxIbvG1OVamT7VNWSYM0QvyL/PYpecJ4CtQlNmhdH9FpDSDuECFJjel9uzA/q KUUNDP0VRvSbJnrWT70MgwG3WcpoV2G1OHu+1qC9SsWZoFsOMizJtQQA4dRFAlgMlTfi SY1w==
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=Zoix8OqEFJ+N3GXRr61KY7XUHd3PrGCVtuTCBIl+Q7g=; b=DswT7IU54hfWz/UFly+nNApmsq+q0hDkCuyAgOod/K1G3HI7GCK02h1QJ7t3HPz6JM KaoncWjg13LzwDey6FatuAYv2j9YJGE4uGarvf8guUChf+3ROsb1XeW4onmPcynkHAUS awzNXfbHf7tS1Z3hf5QZyYHC1LS3A42gQzt1nEvfHR0Wit9OiStngzAbnOMfCVdpnCkG X1eb9CH3gBt3ijo6jws+GFNgr55nZs2ebWs+k+zVmXHln6V2YngQHNX9rVR1/7XwFDeG OuwtFXVXy8V7aecRywAr8qDXpsQIToRnHb7DpjN2fNzuhDrRYRESbeHz6W5QlLPXtosB uuYw==
X-Gm-Message-State: ANhLgQ2ajfo7JSoXCWc81HzAIb+s9Mvbtxm4qsictWNJfPHr8SON9Mgb ADM2B2FN2I1W+q86SAzu6bZDDDZB7+b10caRChsAzw==
X-Google-Smtp-Source: ADFU+vsrkpeiMSc/xvdXrh+YD2q+0j84jkFDCqRdOzZ24rK3A+ZG4BjWOWamU/zCCudKBBP/bnPpRa7yL17ZnGn8iQU=
X-Received: by 2002:a25:7208:: with SMTP id n8mr25476305ybc.234.1585606541236; Mon, 30 Mar 2020 15:15:41 -0700 (PDT)
MIME-Version: 1.0
References: <047FB87D-37B2-41F4-86D2-B9A03050B4EB@cisco.com> <20200330.223957.1196399215343087647.id@4668.se> <DM5PR08MB2633E6B1CA925B2D6E4B3AAE9BCB0@DM5PR08MB2633.namprd08.prod.outlook.com> <20200330.235046.60166687757387667.id@4668.se> <DM5PR08MB26331E2259B8FAE739902CAD9BCB0@DM5PR08MB2633.namprd08.prod.outlook.com>
In-Reply-To: <DM5PR08MB26331E2259B8FAE739902CAD9BCB0@DM5PR08MB2633.namprd08.prod.outlook.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Mon, 30 Mar 2020 15:15:28 -0700
Message-ID: <CABCOCHSU4cffoW9Wz-UWqdvOQzp7t9LJUC_B5QS+fFBmXBtuXw@mail.gmail.com>
To: "Sterne, Jason (Nokia - CA/Ottawa)" <jason.sterne@nokia.com>
Cc: Martin Björklund <mbj+ietf@4668.se>, "netmod@ietf.org" <netmod@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000a4f11105a219cac3"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/JVrCro8D27IFUvAuTY1Ais4XaXY>
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: Mon, 30 Mar 2020 22:15:59 -0000

On Mon, Mar 30, 2020 at 2:57 PM Sterne, Jason (Nokia - CA/Ottawa) <
jason.sterne@nokia.com> wrote:

> Please see inline
>
> > -----Original Message-----
> > From: Martin Björklund <mbj+ietf@4668.se>
> > Sent: Monday, March 30, 2020 5:51 PM
> > To: Sterne, Jason (Nokia - CA/Ottawa) <jason.sterne@nokia.com>
> > Cc: rrahman@cisco.com; netmod@ietf.org
> > Subject: Re: [netmod] All IETF YANG modules MUST include revision-label
> > statements
> >
> > "Sterne, Jason (Nokia - CA/Ottawa)" <jason.sterne@nokia.com> wrote:
> > > > But it is not true.  What happened between 1.0.2M and 1.0.3M?
> > >
> > > It tells you there is an NBC change between 1.0.2M and 1.0.3M.
> >
> > No.  As you note below it says that all bets are off.  The change
> > between these two could be a spelling error fix.  Hence, Reshad's
> > statement that "The revision label allows a user to easily figure out
> > whether 2 revisions are (N)BC." is not correct.
>
> [>>JTS: ] You are correct and I made a mistake in my reply (looked too
> quickly). The M gives you one chance to indicate a NBC change in a branch.
> After that you no longer know (i.e. no worse than no revision label at all).
> it is a compromise that allows:
> - knowledge about the nature of changes on a branch that hasn't been
> poisoned yet
> - one chance to alert users that an NBC change was made on a branch
> That is useful enough to have it IMO.
>
>
Don't agree.
Also find the argument that the revision history will be incomplete not
convincing.
If a developer knows enough to add the M then they can know enough to
fill in the revision-stmt correctly.


> >
> > > The M gives an indication that a branch has been "poisoned" by an
> > > NBC change and that all bets are off from that point onwards in that
> > > branch.
> >
> >
> > /martin
>

 Andy

>
> >
> > >
> > > > -----Original Message-----
> > > > From: netmod <netmod-bounces@ietf.org> On Behalf Of Martin Björklund
> > > > Sent: Monday, March 30, 2020 4:40 PM
> > > > To: rrahman@cisco.com
> > > > Cc: netmod@ietf.org
> > > > Subject: Re: [netmod] All IETF YANG modules MUST include
> revision-label
> > > > statements
> > > >
> > > > "Reshad Rahman (rrahman)" <rrahman@cisco.com> wrote:
> > > > >
> > > > > On 2020-03-30, 2:20 PM, "Martin Björklund" <mbj+ietf@4668.se>
> wrote:
> > > > >
> > > > >     "Reshad Rahman (rrahman)" <rrahman@cisco.com> wrote:
> > > > >     > On 2020-03-28, 4:41 AM, "Martin Björklund" <mbj+ietf@4668.se
> >
> > wrote:
> > > > >     >
> > > > >     >     "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.
> > > > >     >
> > > > >     > So are you proposing we use some other revision-label scheme
> (e.g.
> > > > semver 2.0.0) for IETF modules?
> > > > >     >
> > > > >     > Or that IETF modules shouldn't use revision-labels?
> > > > >
> > > > >     That IETF shouldn't use revision labels.
> > > > >
> > > > > The revision label allows a user to easily figure out whether 2
> > > > > revisions are (N)BC.
> > > >
> > > > I think you meant "modified semver as revision label allows ..."
> > > >
> > > > But it is not true.  What happened between 1.0.2M and 1.0.3M?
> > > >
> > > >
> > > > /martin
> > > >
> > > >
> > > > > Without the label, you always have to use tooling.
> > > > >
> > > > > Regards,
> > > > > Reshad.
> > > > >
> > > > >     I am all for using rev:nbc-changes or rev:editorial-changes
> (which I
> > > > >     think should be added) in IETF modules.
> > > > >
> > > > >
> > > > >     /martin
> > > > >
> > > > >
> > > > >     >
> > > > >     > Or do you have something else in mind?
> > > > >     >
> > > > >     > Regards,
> > > > >     > Reshad.
> > > > >     >
> > > > >     >     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
> > > > >     >     >
> > > > >     >     >
> > > > >     >
> > > > >     >
> > > > >
> > > > >
> > > > _______________________________________________
> > > > 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
>