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

Martin Björklund <mbj+ietf@4668.se> Thu, 02 April 2020 16:51 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 A24693A07F7 for <netmod@ietfa.amsl.com>; Thu, 2 Apr 2020 09:51:46 -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=DtuijE9E; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=HBRiF73b
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 K-ujLBUsOHvA for <netmod@ietfa.amsl.com>; Thu, 2 Apr 2020 09:51:44 -0700 (PDT)
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C0DEA3A07F5 for <netmod@ietf.org>; Thu, 2 Apr 2020 09:51:44 -0700 (PDT)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id E35A45C0193; Thu, 2 Apr 2020 12:51:43 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Thu, 02 Apr 2020 12:51:43 -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= Pzv5c6KTLl4umiWHzszYbA/sptbjdhSiYUjn/iLJGjo=; b=DtuijE9Er0Z/mozh XHvPxA4j8mRU8HWDQ8m7rcl6juduP3MAZPKAK8Pv/PpmCeJXseLTqrL08FSdTvCd 0OA1SQFm7mZtARB/UlFWmfgIyzwo/6j/0NAipnQJ/FrhzR6WIptHQI/E6hK562Kc n9JV9rgvrw82fmVwughJpNw4xIDVp4uRk8Ie+V2RhmTuVSE5O/TZZc26KhYCMo1C 4ffhlLAtlp5BHxSkDypzSFsbCcw05wiyQHJ12HU9G0PY90sRjmgDHc+KDAu4uBLp cpCxQkQOoNoadaeFdsmNR0EmEajlrgadpG49fukGVx/RK5h2/P97BdgUYfPVydck rbaRjQ==
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=Pzv5c6KTLl4umiWHzszYbA/sptbjdhSiYUjn/iLJG jo=; b=HBRiF73bPY1vJqqILsL1TGG5P7Q6f8Vhx2fkXxcQlztq7IbP8uFaiE/T6 3TaR5uNEbJ2OXcbk8i7BsrJGwy3PJ1uss0PGqm5XxCQ8EbP/XemEZMKRWraGe261 bXleewmqHUa0XA0xYoUGRrxdbeY1qWjEIS7E5TRffgZZH0RXjLRAwKvzg07cZs86 pfpR9E24X9n5eHG+F9ebzi7BAFfoD4uH8qwvt8le+D99OTnXsI7mm/foJ4VLufaf veAsnaWXv0or7regSoKGTwqY+7xuGQcTT9jShZ6amqoJc1GOnRAA5+7Tn9U8KY8T 3N0vm7kzVqRlO2p2cPPk6vYOHa49w==
X-ME-Sender: <xms:HxiGXujzWjsxtu-FjtfHGzaFNh2iz5p5fQdmMyaTZCQMVirgqvVC6A>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduhedrtdeggdellecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhepfffkvffuhfgjfhfogggtgfesthgsre dtredtjeenucfhrhhomhepofgrrhhtihhnuceujhpnrhhklhhunhguuceomhgsjhdoihgv thhfseegieeikedrshgvqeenucfkphepudehkedrudejgedrgedrgeegnecuvehluhhsth gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgsjhdoihgvthhfseeg ieeikedrshgv
X-ME-Proxy: <xmx:HxiGXngLT-RuOBiGDe1H0V66aXZ32TFPbXY4CJ167I66qWlOwi5sNw> <xmx:HxiGXrbO0kWdHD6YcQ6lbiPzI9oI2A4CjiY3EhptuPPS4E1P280YMw> <xmx:HxiGXgBWYNGvG9YerFjL3V3nOqnQsHS_Ha6zC0Hntz9nEOXJ4tlKQg> <xmx:HxiGXtCnta9J5-EQ_xVPWilZNrHDP-HX02zjx_koEQlY83fo7yovew>
Received: from localhost (unknown [158.174.4.44]) by mail.messagingengine.com (Postfix) with ESMTPA id 965AE328006B; Thu, 2 Apr 2020 12:51:42 -0400 (EDT)
Date: Thu, 02 Apr 2020 18:51:41 +0200
Message-Id: <20200402.185141.761854093872914710.id@4668.se>
To: andy@yumaworks.com
Cc: rrahman@cisco.com, netmod@ietf.org, Italo.Busi@huawei.com
From: Martin Björklund <mbj+ietf@4668.se>
In-Reply-To: <CABCOCHQYhqt3Zt80-BOvMh2yTpStMxXKYKQbq+mmEJMmHoMcLg@mail.gmail.com>
References: <CABCOCHRDKKmU1+BL_4RPkn4sMhjN8w20_5rHWOoBCm8PCTTi1Q@mail.gmail.com> <B9DDE091-36C7-4E83-B20C-352E3C111151@cisco.com> <CABCOCHQYhqt3Zt80-BOvMh2yTpStMxXKYKQbq+mmEJMmHoMcLg@mail.gmail.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/aPNLbCbUCI792ol-_qE69SfbcSs>
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:51:47 -0000

Andy Bierman <andy@yumaworks.com> wrote:
> Hi,
> 
> I agree that a revision-label could be useful in an I-D but not to indicate
> NBC changes (because it doesn't).
> The rules need to be clear and simple with no exceptions.
> 
>  1) Special version 0.x.y contains NO NBC information
>      Major version = 0 means the module has no published version
> 
>  2) First published version is 1.0.0
> 
>  3) The revision-label in an unpublished module has a special form which
> simply identifies
>       the source of the development and the iteration of the
> work-in-progress.
>       You can't really pick the next published label until the module is
> ready.
> 
> >From my example:
> 
> draft-00:   0.1.0
> 
> draft-01:   0.2.0
> 
> draft-02:   0.3.0
> 
> RFC-1:    1.0.0
> 
> bis-draft-00:   1.0.0+1

If this was normal semver, it would be:

bis-draft-00:   2.0.0-1
bis-draft-01:   2.0.0-2

etc.  ("+" and "-" have special meaning in semver).

One problem though is that when the -bis work starts, it might not be
clear if the end result (published RFC) will be NBC or BC.  And this
might change back and forth during development of the I-D.

I think it quite clear that such a label should not be used in I-Ds.


/martin


> 
> bis-draft-02:   1.0.0+3
> 
> [repeat NBC step bis-draft-02 10 times]  1.0.0+4 .. 1.0.0+13
> 
> RFC-2:  2.0.0   (in general: 1.0.1 or 1.1.0 or 2.0.0)
> 
> The BC vs. NBC distinction is not relevant for a work-in-progress.
> We have seen many times in this WG where a NBC change was made
> and then later undone.  There is no value in tracking the module during
> development.
> 
> 
> Andy
> 
> 
> 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>, "Joe Clarke (jclarke)" <
> > jclarke@cisco.com>, 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>, 'Andy Bierman' <
> > andy@yumaworks.com>, "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.
> >
> >
> >
> > Regards,
> >
> > Reshad.
> >
> >
> >
> >
> >
> > 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>; 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
> >
> >
> >
> >