From: 'Andy Bierman' <[email protected]>
Date: Thursday, April 2, 2020 at 10:26 AM
To: "Reshad Rahman (rrahman)" <[email protected]>
Cc: Italo Busi <[email protected]>, "Joe Clarke (jclarke)" 
<[email protected]>, NetMod WG <[email protected]>
Subject: Re: [netmod] versioning procedures (RFC vs. I-D)



On Thu, Apr 2, 2020 at 4:11 AM Reshad Rahman (rrahman) 
<[email protected]<mailto:[email protected]>> wrote:
Hi,

From: Italo Busi <[email protected]<mailto:[email protected]>>
Date: Thursday, April 2, 2020 at 5:06 AM
To: "Reshad Rahman (rrahman)" <[email protected]<mailto:[email protected]>>, 
'Andy Bierman' <[email protected]<mailto:[email protected]>>, "Joe Clarke 
(jclarke)" <[email protected]<mailto:[email protected]>>
Cc: NetMod WG <[email protected]<mailto:[email protected]>>
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 : [email protected]<mailto:[email protected]>
[cid:[email protected]]

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:[email protected]<mailto:[email protected]>]
Sent: mercoledì 1 aprile 2020 20:13
To: Andy Bierman <[email protected]<mailto:[email protected]>>; Joe Clarke 
(jclarke) <[email protected]<mailto:[email protected]>>
Cc: NetMod WG <[email protected]<mailto:[email protected]>>
Subject: Re: [netmod] versioning procedures (RFC vs. I-D)


From: netmod <[email protected]<mailto:[email protected]>> on 
behalf of 'Andy Bierman' <[email protected]<mailto:[email protected]>>
Date: Wednesday, April 1, 2020 at 2:07 PM
To: "Joe Clarke (jclarke)" <[email protected]<mailto:[email protected]>>
Cc: NetMod WG <[email protected]<mailto:[email protected]>>
Subject: Re: [netmod] versioning procedures (RFC vs. I-D)



On Wed, Apr 1, 2020 at 10:39 AM Joe Clarke (jclarke) 
<[email protected]<mailto:[email protected]>> wrote:


> On Apr 1, 2020, at 13:28, Andy Bierman 
> <[email protected]<mailto:[email protected]>> 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

_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to