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

Andy Bierman <andy@yumaworks.com> Thu, 02 April 2020 16:23 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 304743A181B for <netmod@ietfa.amsl.com>; Thu, 2 Apr 2020 09:23:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.877
X-Spam-Level:
X-Spam-Status: No, score=-1.877 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_FILL_THIS_FORM_SHORT=0.01, 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 v3UX7MbGkeEW for <netmod@ietfa.amsl.com>; Thu, 2 Apr 2020 09:23:04 -0700 (PDT)
Received: from mail-yb1-xb2c.google.com (mail-yb1-xb2c.google.com [IPv6:2607:f8b0:4864:20::b2c]) (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 436783A181A for <netmod@ietf.org>; Thu, 2 Apr 2020 09:22:54 -0700 (PDT)
Received: by mail-yb1-xb2c.google.com with SMTP id x63so2478909ybx.2 for <netmod@ietf.org>; Thu, 02 Apr 2020 09:22:54 -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=6M5gCKlzamj7mTa39wTvmGOYrso9/XlXctvuy6u3kX4=; b=PSxYk4GBmKisC63rtDg3f4L8MKxq3SdeTmbrJaqoXLSNvlceXE08jPmIXOThPH3XHz 7wYMEh1xcQ2ppEYQvwSc8OJsFOENipvuCU273ZkDVTQgCP6tVI/zoneCdchdHBkVuWUc HzfmrDUa5RERJsKrvzbQ5t1hpgjoOoy7EEjzyn2LC1CR1rI7i7rtn160qHz6JTM1pFt2 YLhYwDJI7tPhNoOBIUXH+v+QmM7IqtJt7yIseDuI2j3KsohZTxcn6zp0tRfSO3YcuQWV ozioHDExiwfGFxxusil0do8g1xpcyyBs7aoOXlrlCWR5shJeq9v3yDKlTyXiQOmH07N6 IjLQ==
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=6M5gCKlzamj7mTa39wTvmGOYrso9/XlXctvuy6u3kX4=; b=EfYS96xgCLO2MJH5UFIDPZO1nr5BynSKfsRP7r+qhN0ygFbI6B6KWiEHDhq97fvjvs W093uFan5g8pl6ZyFvWpIrcGAsQwa0xcTTML5guidgL7Zqmc+RepdR+nL/DWy7WM9yKu 9acB9lE6mBqKKb5PFYW0cpdI8xwlRqD2kaBCDLKUnFkcaxyDHT5YBVWtKKeb7wEsh4xg MrzNLo1L3gV3LCMcgbwfluvs2FOQ3n0Ds3kvxF9/Tf96GEen7V6P/R61P+zoYav1EKv+ fuyuBz4f5rqJwg10jgY1Klz63ZebYmJ2WxU9xWy/N5VbktrSL5xtetaViPkrMVZmtPNf Ojvw==
X-Gm-Message-State: AGi0PuZbKsxTYiOGJKPGeSs4a7aezsnk10t4sNaNzDSbyAwvWZxdJENo PW/kgTkIn+mO0I65OiOgVsr0UNUzB8xaPkEkn5nlT+Ek
X-Google-Smtp-Source: APiQypK21SJf6vV7AirC2CarOlOFRnboV4DdHZqyLLfNFsbaAA/rbeUZSy3k3krGmmsfiIp1/uy84tLvmzn2X1BGpkA=
X-Received: by 2002:a5b:c4a:: with SMTP id d10mr6955847ybr.59.1585844572859; Thu, 02 Apr 2020 09:22:52 -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> <CABCOCHSs=AjsT73W+OOvxzA6=V-vf59-Y_96rtRyTPaEAnZB0w@mail.gmail.com> <a69215e713ac4c8dbe16948316a858b6@huawei.com>
In-Reply-To: <a69215e713ac4c8dbe16948316a858b6@huawei.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Thu, 2 Apr 2020 09:22:41 -0700
Message-ID: <CABCOCHSEyBGVEzEu9fLP_U-785dwK+zhfn134BnUYCigoGJd1w@mail.gmail.com>
To: Italo Busi <Italo.Busi@huawei.com>
Cc: "Reshad Rahman (rrahman)" <rrahman@cisco.com>, "Joe Clarke (jclarke)" <jclarke@cisco.com>, NetMod WG <netmod@ietf.org>
Content-Type: multipart/related; boundary="0000000000006f61e405a25136fb"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/IYjVSNdaLUAFibRC1qHsaOQY5NE>
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 16:23:12 -0000

On Thu, Apr 2, 2020 at 8:48 AM Italo Busi <Italo.Busi@huawei.com> wrote:

> If I understand correctly, the Reshad’s solution could lead to an history
> as:
>
> -          bis-00 being 1.1.0 (BC with the RFC module)
>
> -          bis-01 being 1.1.0 (BC with the RFC module even if NBC with
> bis-00)
>
> -          bis-02 being 2.0.0 (NBC with RFC module even if BC with bis-01)
>
> -          bis-03 being 1.1.0 (BC with RFC module but not NBC with bis-02
> because e.g., the changes in bis-02 that were NBC with RFC module have been
> removed and/or made BC with RFC module)
>
>
>

I do not see how it is useful to assign the same revision-label to
different versions,
or to use a real label for a work-in-progress.  The semantics "This might
be v1.1.0 someday"
is not useful, and easily confused with "this is v1.1.0".


Andy


The rule looks like that an I-D version represents the version that would
> be used by that module if the I-D were published as an RFC and all the old
> I-Ds have never existed.
>
>
>
> If this rule works, I do not understand why we need the 0.x.y releases. I
> think that the I-Ds with the initial draft versions of the module can be
> 1.0.0.
>
>
>
> Am I missing something?
>
>
>
> Tools could work if they are able to use the revision date to get the
> latest version of a given module/version.
>
>
>
> Thanks, Italo
>
>
>
>
>
> *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:* Andy Bierman [mailto:andy@yumaworks.com]
> *Sent:* giovedì 2 aprile 2020 17:28
> *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 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
>
>
>
>