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

Andy Bierman <andy@yumaworks.com> Thu, 02 April 2020 18:22 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 00D343A114D for <netmod@ietfa.amsl.com>; Thu, 2 Apr 2020 11:22:40 -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 erWj35gpTb-4 for <netmod@ietfa.amsl.com>; Thu, 2 Apr 2020 11:22:36 -0700 (PDT)
Received: from mail-yb1-xb30.google.com (mail-yb1-xb30.google.com [IPv6:2607:f8b0:4864:20::b30]) (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 96F0C3A1144 for <netmod@ietf.org>; Thu, 2 Apr 2020 11:22:36 -0700 (PDT)
Received: by mail-yb1-xb30.google.com with SMTP id n2so2685268ybg.4 for <netmod@ietf.org>; Thu, 02 Apr 2020 11:22:36 -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=lhBUTuvkCMk83ORstytRC3D6RyEJiwBtBRcvJhz64uw=; b=bS9FcA8fr+evTTP4ZgawrsRT0mcgdJzXhHOsRggRCb88VEdfAHZde1wFJ3S/EG+gpI 7N7Wp/8gKcEIXz7n0s/AuDJkynrwBn8Gl+P7ACcqCKows57X1JE3r7AmLcMT/kjltJ93 0C+GvCweCqpLDOB93b1VPepSKbe/xqVVbN4TG4YQeDfNCHvkNAmfo6Zw5A9l+WcwvMrT L5Q4Hj2UzKvXyZ9Az+9+BiSwY/itjDy9hnneYh3BfDC0y4vXjS3Rg48WFueUAdUme1zJ gYLid4U9+gtCTBLzehEVYOlgPjyfVIlVthmTF8gxbR/xPlDjNSf3QiJZVjgFJaUy8irB z6XA==
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=lhBUTuvkCMk83ORstytRC3D6RyEJiwBtBRcvJhz64uw=; b=OrXS5LkiVuHQQUO8LwnSj7oZ2chp1brzox9oSTrPYl+yusN05Ra+TLTtlVm4Xe80q+ 4xAhf1Hvs/6LxK0zmBq/O1E9s9iBuOhHQFM61tCm3UdTTbuoxEZ+yfWiCI8/VPRConex lmjoTeEr0+E7xEcQwCMGtJHK4qkTKJaxc/HAGBHPKELmm1oAfi1va1eg8OiiBKBdGkjs uXsBBajGG8pLTtmAzzOgtREXLFGwUH+RaSMCQW2sOoIt0zobOqpxNfKsr91mWP0CNTIv HzLOyceGNzuxaOCSjxwEYA53j9ynZu/tuyBdsDYPVp+oObCbLLy8z5Ddv4tiGlN4osJ/ AKSg==
X-Gm-Message-State: AGi0Pub0O7bC4EGxGHMkfXu15xMWGJUAy/lFzd/dQ+8pk6+xBzZa1G5P gzh/sODFXCSZ5mEp9tnAvgwuJXs7Bk2168heixL+uQ==
X-Google-Smtp-Source: APiQypKmLsD90royaY8MVXiN1Gyv+0U8B0YbjIbBXNrpu0+kF1YcCJCnCPxA+CUTQcbbF1+MZG5hJOyqHH6Qr7cmSNg=
X-Received: by 2002:a25:158a:: with SMTP id 132mr7007153ybv.145.1585851755555; Thu, 02 Apr 2020 11:22:35 -0700 (PDT)
MIME-Version: 1.0
References: <CABCOCHRDKKmU1+BL_4RPkn4sMhjN8w20_5rHWOoBCm8PCTTi1Q@mail.gmail.com> <B9DDE091-36C7-4E83-B20C-352E3C111151@cisco.com> <CABCOCHQYhqt3Zt80-BOvMh2yTpStMxXKYKQbq+mmEJMmHoMcLg@mail.gmail.com> <20200402.185141.761854093872914710.id@4668.se>
In-Reply-To: <20200402.185141.761854093872914710.id@4668.se>
From: Andy Bierman <andy@yumaworks.com>
Date: Thu, 02 Apr 2020 11:22:24 -0700
Message-ID: <CABCOCHQPJuhmt+RvC+K59d1rXG--SG3W68ZGa3YyWXbWXorJTQ@mail.gmail.com>
To: Martin Björklund <mbj+ietf@4668.se>
Cc: "Reshad Rahman (rrahman)" <rrahman@cisco.com>, NetMod WG <netmod@ietf.org>, Italo Busi <Italo.Busi@huawei.com>
Content-Type: multipart/alternative; boundary="0000000000008e86c605a252e2f0"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/dqWeNI606NcWgoSbm5LH0mfopFs>
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 18:22:40 -0000

On Thu, Apr 2, 2020 at 9:51 AM Martin Björklund <mbj+ietf@4668.se> wrote:

> 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.
>
>
What happens if there are multiple release trains in progress?
Seems more useful to base the label on the known starting point
instead of the possible ending point.


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



> /martin
>
>

Andy


>
> >
> > 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
> > >
> > >
> > >
> > >
>