Re: [netmod] versioning procedures (RFC vs. I-D)

Andy Bierman <andy@yumaworks.com> Thu, 02 April 2020 15:28 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 B767B3A12A1 for <netmod@ietfa.amsl.com>; Thu, 2 Apr 2020 08:28:28 -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=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 AaZOCWnYk6gf for <netmod@ietfa.amsl.com>; Thu, 2 Apr 2020 08:28:26 -0700 (PDT)
Received: from mail-yb1-xb33.google.com (mail-yb1-xb33.google.com [IPv6:2607:f8b0:4864:20::b33]) (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 E4D3F3A14A8 for <netmod@ietf.org>; Thu, 2 Apr 2020 08:28:11 -0700 (PDT)
Received: by mail-yb1-xb33.google.com with SMTP id l84so2372249ybb.1 for <netmod@ietf.org>; Thu, 02 Apr 2020 08:28:11 -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=ndj95eu23E2WviYKCLTjOT0mIj6oEfLMs3NcRjY5ZV0=; b=XTxUMjcoAUUqElyXGzaOkusL2zukrTxkyvvDco9VKF3vkaBtKN/joXupsaDRXwIQrz ilNdRtOFkBImB6OQkdg+Pn4Q6ar55d3dsnscmsFu5BXqR6uh7fRc3zRjOlMMPAll7XqG SbXJRwZLo4pJ1abmdXY0wboG1nmwqgqf5kDwdJ8wANIQ2Gv4ldNUJFWgTRU7UwDUyogx qHaR+ZTAdSL+PDBm50ahnz5dzLNriYxqrz5pUct8zE9JWIVkn1efmHpsdHACq7kLF3y1 S3DrVFFtKZRHzbvqRqSLpaDBEYsnUZ0wTrESBJYRrisl3X9bCvfAkTUG/MqYNTVc/+hc nLlg==
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=ndj95eu23E2WviYKCLTjOT0mIj6oEfLMs3NcRjY5ZV0=; b=E4H+tdK5/xMTNUvF92eDfoiF6grD1EI1XRlqILZQouanJs9BCHU+kJV0kXBbaG/BPv fbiogBl/6js6UwNhPk8KT2gFpVR5zRCPQbIP263I0LksSBAxpCulOErwszgGXv2V3d7S sisWV4y07JgQTf5+kbaxLi8L5UxLDmVRdgyp6CjxJBpzGWmnFFqvlpaD16BK7gx2Xvzd 7Ev8Vich9YGF5UTVOrssi1vOEzgsLzpahXkhmU+AkTmhvXfGCPhhVzFhQ1SyRUlhdmn3 cPGeiFfFcu5qRRRg9F2J4WN4lS+ysYX2md4k+gH4WMdYmSSpmaqTAEz0vbjL0FdJ4yDg MIzQ==
X-Gm-Message-State: AGi0PuYnXk1nv6IoANfksFV9Cj5fYu+9fUIO+1WrQ2aU+SbjCAxiTDpt SaNf0Jh+yZ8kwCAcSSMF2pfhoT6P2RcezPc+T/4srBts
X-Google-Smtp-Source: APiQypKi/08ah1jR65bQBmEtUuOfhUZ/mzryc84rootGQhWBuqPx9TsUvYaQ9lRhVU83gaepYhdGBfa+JdZsMsnVUe8=
X-Received: by 2002:a25:7c2:: with SMTP id 185mr6659934ybh.44.1585841290555; Thu, 02 Apr 2020 08:28:10 -0700 (PDT)
MIME-Version: 1.0
References: <CABCOCHQWssUucRvnsi8O8+GhCHb0-xS--swf3R4q-6P3Qfq0TA@mail.gmail.com> <D63416FC-2C33-4015-BF23-51ABCD75A020@cisco.com> <CABCOCHSTnYJbB9ainkmCuBinjRZAi-wEWgQoFCrhs+m8NBAAYQ@mail.gmail.com> <50052092-0380-44C6-8AE0-1AB3C15C30B4@cisco.com> <b688d8372a1a49e8828c74b5366458c0@huawei.com> <1DE96CAC-43BC-4638-AE96-2E770CA7CE20@cisco.com> <CABCOCHRDKKmU1+BL_4RPkn4sMhjN8w20_5rHWOoBCm8PCTTi1Q@mail.gmail.com> <B9DDE091-36C7-4E83-B20C-352E3C111151@cisco.com>
In-Reply-To: <B9DDE091-36C7-4E83-B20C-352E3C111151@cisco.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Thu, 2 Apr 2020 08:27:59 -0700
Message-ID: <CABCOCHSs=AjsT73W+OOvxzA6=V-vf59-Y_96rtRyTPaEAnZB0w@mail.gmail.com>
To: "Reshad Rahman (rrahman)" <rrahman@cisco.com>
Cc: Italo Busi <Italo.Busi@huawei.com>, "Joe Clarke (jclarke)" <jclarke@cisco.com>, NetMod WG <netmod@ietf.org>
Content-Type: multipart/related; boundary="000000000000cb6df105a250727b"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/RGt83QLlAMu7eHiwRfiKsYhasD0>
Subject: Re: [netmod] versioning procedures (RFC vs. I-D)
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: Thu, 02 Apr 2020 15:28:29 -0000

On Thu, Apr 2, 2020 at 7:46 AM Reshad Rahman (rrahman) <rrahman@cisco.com>
wrote:

>
>
>
>
> *From: *'Andy Bierman' <andy@yumaworks.com>
> *Date: *Thursday, April 2, 2020 at 10:26 AM
> *To: *"Reshad Rahman (rrahman)" <rrahman@cisco.com>
> *Cc: *Italo Busi <Italo.Busi@huawei.com>om>, "Joe Clarke (jclarke)" <
> jclarke@cisco.com>gt;, NetMod WG <netmod@ietf.org>
> *Subject: *Re: [netmod] versioning procedures (RFC vs. I-D)
>
>
>
>
>
>
>
> On Thu, Apr 2, 2020 at 4:11 AM Reshad Rahman (rrahman) <rrahman@cisco.com>
> wrote:
>
> Hi,
>
>
>
> *From: *Italo Busi <Italo.Busi@huawei.com>
> *Date: *Thursday, April 2, 2020 at 5:06 AM
> *To: *"Reshad Rahman (rrahman)" <rrahman@cisco.com>om>, 'Andy Bierman' <
> andy@yumaworks.com>gt;, "Joe Clarke (jclarke)" <jclarke@cisco.com>
> *Cc: *NetMod WG <netmod@ietf.org>
> *Subject: *RE: [netmod] versioning procedures (RFC vs. I-D)
>
>
>
> Reshad,
>
>
>
> My doubt and, if I understand well also Andy’s question, is about the fact
> that before publishing an RFC-bis with e.g., 1.1.0, we will have a set of
> Internet-Drafts updating the RFC with 1.0.0
>
>
>
> What versions should be used in the YANG modules published in these
> Internet-Drafts?
>
>
>
> Think about the following scenario: -00 version provide BC changes to the
> RFC module but the -01 version provide NBC changes to what has been added
> in the -00 module (thus the -01 version is BC with the RFC 1.0.0 module but
> NBC with the -00 version module)
>
> <RR> So bis 00 would be 1.1.0 (BC with RFC module).
>
> Bis 01 should be updated according to its relationship to the RFC module
> (bis 00 doesn’t matter anymore), when RFC bis is published it won’t have
> the full history.
>
>
>
> Hope I correctly understood your question.
>
>
>
>
>
> This semver plan is not very intuitive and not sure it works.
>
>
>
> draft-00
>
>
>
>    container the-container;             version 0.1.0      OK
>
>
>
> draft-01:
>
>    container my-container;             version 0.2.0;   rules violated;
> NBC should force 1.0.0
>
>
>
> draft-02:
>
>
>
>     container my-container {           version 0.3.0; should be 1.1.0
>
>         leaf my-leaf { type int32; }
>
>     }
>
>
>
> RFC-1:
>
>
>
>     container my-container {           version 1.0.0;  should be 2.0.0
> according to NBC rules
>
>         leaf my-leaf { type uint32; }
>
>     }
>
>
>
> bis-draft-00:
>
>
>
>    container my-container {           version 1.1.0; OK
>
>         leaf my-leaf { type uint32; }
>
>         leaf another-leaf { type int32; }
>
>     }
>
>
>
> bis-draft-01:
>
>
>
>   container my-container {                  diff against RFC-1:  version
> 1.1.0 but already used; use 1.2.0?
>
>         leaf my-leaf { type uint32; }
>
>         leaf another-leaf { type uint32; }
>
>     }
>
>
>
> bis-draft-02:
>
>
>
>   container example-my-container {                  diff against RFC-1:
> version 2.0.0 but use 1.3.0 instead?
>
>         leaf my-leaf { type uint32; }
>
>         leaf another-leaf { type uint32; }
>
>     }
>
>
>
> [repeat NBC step bis-draft-02 10 times.... now up to version 12.0.0 or is
> it 1.13.0? something else?
>
>
>
> RFC-2:   publish draft-12 as RFC-2: now change the label from 1.13.0 to
> 2.0.0? or leave it 12.0.0?
>
>
>
> IMO it is very confusing that the stated rules are so inconsistent and
> are violated so many ways.
>
> There should be no revision-label at all in Internet Drafts because these
> documents are unpublished.
>
> They should only be added to the RFC version.
>
>
>
> The semver procedures are not intended to work for unpublished modules
> that are only
>
> meant for review, not for implementation. The revision-label provides only
> noise in Internet Drafts.
>
> <RR2> I think it’s useful to have a revision label in a draft because it
> indicates nature of changes (BC v/s NBC) compared to the previous published
> revision (RFC).
>
> But you are absolutely right that setting the version based on changes
> with the previous draft revision is useless and confusing.
>
>

IMO the part that is confusing is that the rules for picking the next
revision-label
are violated for the draft versions (including the special case 0.x.y
versions).
NBC changes appear to be minor changes.  The SEM in SEMVER is not useful
if the identifier does actually reflect the semantics of the label.

Comparing against the last published version also seems to violate the
rules.
Either the same label (e.g. 2.0.0 is used over and over, or new numbers are
used
based on the last draft version (2.0.0, then 2.1.0or maybe 3.0.0 - not
sure).
Using the same label for different versions of a module would be really
confusing.
It is confusing to use incremental numbers to sometimes mean "compare
against last label"
and other times mean "compare against some unspecified label in the past".
There is no way to distinguish a label for a published module and an
unpublished module.



>
> Regards,
>
> Reshad.
>
>
>
>
>

Andy


> Regards,
>
> Reshad.
>
>
>
> Thanks, Italo
>
>
>
>
>
> Andy
>
>
>
>
>
> *Italo Busi*
>
> Principal Optical Transport Network Research Engineer
>
> Huawei Technologies Co., Ltd.
>
> Tel : +39 345 4721946
>
> Email : italo.busi@huawei.com
>
>
>
> This e-mail and its attachments contain confidential information from
> HUAWEI, which is intended only for the person or entity whose address is
> listed above. Any use of the information contained herein in any way
> (including, but not limited to, total or partial disclosure, reproduction,
> or dissemination) by persons other than the intended recipient(s) is
> prohibited. If you receive this e-mail in error, please notify the sender
> by phone or email immediately and delete it!
>
>
>
> *From:* Reshad Rahman (rrahman) [mailto:rrahman@cisco.com]
> *Sent:* mercoledì 1 aprile 2020 20:13
> *To:* Andy Bierman <andy@yumaworks.com>om>; Joe Clarke (jclarke) <
> jclarke@cisco.com>
> *Cc:* NetMod WG <netmod@ietf.org>
> *Subject:* Re: [netmod] versioning procedures (RFC vs. I-D)
>
>
>
>
>
> *From: *netmod <netmod-bounces@ietf.org> on behalf of 'Andy Bierman' <
> andy@yumaworks.com>
> *Date: *Wednesday, April 1, 2020 at 2:07 PM
> *To: *"Joe Clarke (jclarke)" <jclarke@cisco.com>
> *Cc: *NetMod WG <netmod@ietf.org>
> *Subject: *Re: [netmod] versioning procedures (RFC vs. I-D)
>
>
>
>
>
>
>
> On Wed, Apr 1, 2020 at 10:39 AM Joe Clarke (jclarke) <jclarke@cisco.com>
> wrote:
>
>
>
> > On Apr 1, 2020, at 13:28, Andy Bierman <andy@yumaworks.com> wrote:
> >
> > Hi,
> >
> > I just want to confirm that all the proposed documentation procedures
> > using new extensions are limited in scope to published modules only,
> > and not applied to unpublished modules (terms defined in RFC 8407).
> >
> > IMO it would be harmful to module usability to assign revision-labels or
> > include revision-related extensions in unpublished modules (e.g.,
> Internet Drafts).
> > Consider how cluttered and confusing the client-server modules would be
> > if the 50+ NBC changes and versions were tracked through all the I-Ds.
> >
> > For IETF modules, the first usage of the revision-label
> > should be in the initial RFC, and be set to 1.0.0.
> >
> > If the RFC is ever republished then one can expect to find an updated
> > revision-label and possibly extensions tracking NBC changes.
>
> The semver scheme allocates a major version of 0 for pre-releases where
> the BC/NBC rules do not apply.  I agree that a first official RFC release
> should be 1.0.0 (from a semver revision-label standpoint).  From a design
> team standpoint, I know we mentioned the 0 versioning early on, but I don’t
> think we spent much time talking about modules under development overall.
>
>
>
>
>
> IMO it is confusing to ignore the semver rules for the special 0.x.y
> releases.
>
> There are many NBC changes made at this point which are treated as minor
> or patch changes.
>
> The procedure is really broken once you consider a WG developing any
> RFC-bis module.
>
> Now the major version is not 0 and all updates look like real releases.
>
> <RR> I don’t think that’s needed. Initial module in RFC has 1.0.0, module
> in (released) RFC-bis can go to 1.0.1, 1.1.0 or 2.0.0 depending on the
> change.
>
>
>
> Regards,
>
> Reshad.
>
>
>
> My take would align to yours that we wouldn’t clutter a module with
> development NBC tracking.
>
> Joe
>
>
>
> Andy
>
>
>
>