On Mon, Mar 30, 2020 at 1:26 PM Reshad Rahman (rrahman) <[email protected]> wrote:
> > > *From: *'Andy Bierman' <[email protected]> > *Date: *Monday, March 30, 2020 at 2:51 PM > *To: *Martin Björklund <[email protected]> > *Cc: *"Reshad Rahman (rrahman)" <[email protected]>, NetMod WG < > [email protected]> > *Subject: *Re: [netmod] All IETF YANG modules MUST include revision-label > statements > > > > > > > > On Mon, Mar 30, 2020 at 11:20 AM Martin Björklund <[email protected]> > wrote: > > "Reshad Rahman (rrahman)" <[email protected]> wrote: > > On 2020-03-28, 4:41 AM, "Martin Björklund" <[email protected]> wrote: > > > > "Reshad Rahman (rrahman)" <[email protected]> wrote: > > > Hi, > > > > > > https://github.com/netmod-wg/yang-ver-dt/issues/45 > > > > > > o 7.1 > > > > > > The text says: > > > > > > All IETF YANG modules MUST include revision-label > statements for > > > all > > > newly published YANG modules, and all newly published > revisions of > > > existing YANG modules. The revision-label MUST take > the form of a > > > YANG semantic version number > [I-D.verdt-netmod-yang-semver]. > > > > > > I strongly disagree with this new rule. IETF modules > use a linear > > > history, so there are no reasons to use "modified > semver". > > > > > > It is ok to use rev:nbc-changes if needed, though. > > > > > > We believe some IETF models may not follow linear history, this was > > > brought up (I think) for IDR. Modified semver allows for non-linear > > > history and also doesn't preclude linear history. So even if we > end up > > > having no IETF modules using branching, modified semver still > works. > > > > With the clarifiactions and updates in > > draft-verdt-netmod-yang-module-versioning, non-linear versioning > > works without modified semver. So there is no technical reason to > use > > modified semver in IETF modules. > > > > So are you proposing we use some other revision-label scheme (e.g. > semver 2.0.0) for IETF modules? > > > > Or that IETF modules shouldn't use revision-labels? > > That IETF shouldn't use revision labels. > > > > I do not like modified semver because it will cause confusion with the > real semver > > introduced by OpenConfig. > > > > Sometimes multiple release trains are needed, and the revision label (in > addition to revision-date) > > can help distinguish revisions from each release train, so plain semver > that is introduced over time > > would be OK. > > > > It is possible to introduce only BC changes on each release train. > > The BC vs. NBC issue has nothing to do with multiple release trains. > > > > > > > > I am all for using rev:nbc-changes or rev:editorial-changes (which I > think should be added) in IETF modules. > > > > I agree that this is sufficient and modified semver provides no added > value, only confusion. > > <RR> There are 2 questions here: > > 1. Is revision-label useful? We believe it is useful since it allows a > user to easily figure out whether 2 revisions are (N)BC > 2. If it is useful, what’s the best scheme to use? Semver, modified > semver, …? > > > > You’re not keen on modified semver just because of the name, or are there > other reasons? > > > IMO it is a bad idea to overload a well-understood pattern like major.minor.patch with extra semantics like backward-compatibility. A tool or a person can read the revision history for details about revision changes. Adding letters to the end just confuses people who thought they were looking at openconfig-version or a familiar linux library version string. I don't agree that the IETF should be working to normalize NBC changes in the first place. Regards, > > Reshad. > > > > Regards, > > Reshad. > > > Andy > > > > /martin > > > > > > Andy > > > > > > > > Or do you have something else in mind? > > > > Regards, > > Reshad. > > > > I can reluctantly accept that modified smever is published as > > Experimental. But that doesn't mean that IETF modules should use it. > > > > > > /martin > > > > > > > > > > Regards, > > > Reshad. > > > > > > > > > On 2020-03-20, 5:08 PM, "netmod on behalf of Reshad Rahman > (rrahman)" > > > <[email protected] on behalf of > > > [email protected]> wrote: > > > > > > Hi Martin, > > > > > > We've opened issues to track your review comments (see below).. > Will > > > kick off separate therads for each issue. > > > > > > > https://github.com/netmod-wg/yang-ver-dt/issues?q=is%3Aissue+is%3Aopen+label%3Aupdated-mod-rev-handling > > > > > > Regards, > > > Reshad. > > > > > > On 2020-03-10, 3:31 PM, "netmod on behalf of Martin Björklund" > > > <[email protected] on behalf of [email protected]> wrote: > > > > > > Hi, > > > > > > Here are my review comments of > > > draft-verdt-netmod-yang-module-versioning-01. > > > > > > > > > > > > o 3.1.1 > > > > > > o In statements that have any data definition > statements as > > > substatements, those data definition substatements > MAY be > > > reordered, as long as they do not change the > ordering or any > > > "rpc" > > > "input" substatements. > > > > > > I think this needs to capture that no descendant > statements to > > > "input" can be reordered. Same for "output" (note, > "input" and > > > "output" in both "rpc" and "action"). > > > > > > > > > o 3.3 > > > > > > All revision labels that match the pattern for the > "version" > > > typedef in the ietf-yang-semver YANG module MUST be > interpreted as > > > YANG semantic version numbers. > > > > > > I don't think this is a good idea. Seems like a layer > violation. > > > What if my project use another dialect of semver, that > wouldn't be > > > possible with this rule. I think this needs to be > removed. > > > > > > > > > o 3.3 > > > > > > Submodules MUST NOT use revision label schemes that > could be > > > confused > > > with the including module's revision label scheme. > > > > > > Hmm, how do I ensure that this MUST NOT is handled > correctly? What > > > exactly does "could be confused with" mean? > > > > > > > > > o 3.3 > > > > > > In the filename of a YANG module, where it takes the > form: > > > module- > > > or-submodule-name ['@' revision-label] ( '.yang' / > '.yin' ) > > > > > > Should this section update 5.2 of RFC 7950? I know that > 5.2 just > > > says "SHOULD". But existing tools implement this > SHOULD, and they > > > need to be updated to handle this new convention. > > > > > > But I wonder if this a good idea. It means that a tool > that looks > > > for a module with a certain revision date cannot simply > check the > > > filenames, but need to parse all available modules > (wijust to find > > > the > > > > > > > > > > > > o 3.4 > > > > > > leaf imperial-temperature { > > > type int64; > > > units "degrees Fahrenheit"; > > > status deprecated { > > > rev:status-description > > > "Imperial measurements are being phased out in > favor > > > of their metric equivalents. Use > metric-temperature > > > instead."; > > > } > > > description > > > "Temperature in degrees Fahrenheit."; > > > } > > > > > > I don't think rev:status-description is necessary / > worth it. This > > > can easily be written with the normal description > statement instead: > > > > > > leaf imperial-temperature { > > > type int64; > > > units "degrees Fahrenheit"; > > > status deprecated; > > > description > > > "Imperial measurements are being phased out in > favor > > > of their metric equivalents. Use > metric-temperature > > > instead. > > > > > > Temperature in degrees Fahrenheit."; > > > } > > > > > > > > > o 3.5 > > > > > > The example modules should be legal YANG modules. Use > e.g. > > > "urn:example:module" as namespace. > > > > > > Also, the modules are missing the last "}", which > confuses the > > > "rfcstrip" tool. > > > > > > > > > o 4.1.1 > > > > > > Alternatively, the first example could have used the > revision > > > label > > > "1.0.0" instead, which selects the same set of > revisions/versions. > > > > > > import example-module { > > > rev:revision-or-derived 1.0.0; > > > } > > > > > > Shouldn't this be s/1.0.0/2.0.0/g ? > > > > > > > > > o 5 > > > > > > I think the module name "ietf-yl-revisions" should be > changed to > > > "ietf-yang-library-revisions". "yl" is not a > well-known acronym. > > > > > > > > > o 5.2.2 > > > > > > Wouldn't it be better if the leaf > "deprecated-nodes-implemented" and > > > "obsolete-nodes-absent" were of type "boolean" rather > than type > > > "empty"? > > > > > > > > > o 7.1 > > > > > > The text says: > > > > > > All IETF YANG modules MUST include revision-label > statements for > > > all > > > newly published YANG modules, and all newly published > revisions of > > > existing YANG modules. The revision-label MUST take > the form of a > > > YANG semantic version number > [I-D.verdt-netmod-yang-semver]. > > > > > > I strongly disagree with this new rule. IETF modules > use a linear > > > history, so there are no reasons to use "modified > semver". > > > > > > It is ok to use rev:nbc-changes if needed, though. > > > > > > > > > o 7.1.1 > > > > > > There is a missing " in: > > > > > > 4. For status "obsolete", it is RECOMMENDED to keep > the "status- > > > description" information, from when the node had > status > > > "deprecated, which is still relevant. > > > HERE -----------^ > > > > > > > > > o 8 > > > > > > s/CODE ENDS>/<CODE ENDS>/ > > > > > > > > > o Both YANG modules > > > > > > All extensions should specify the grammar; i.e., in > which statements > > > they can be present and which substatements they can > have. > > > > > > > > > > > > /martin > > > > > > _______________________________________________ > > > netmod mailing list > > > [email protected] > > > https://www.ietf.org/mailman/listinfo/netmod > > > > > > > > > _______________________________________________ > > > netmod mailing list > > > [email protected] > > > https://www.ietf.org/mailman/listinfo/netmod > > > > > > > > > > > _______________________________________________ > netmod mailing list > [email protected] > https://www.ietf.org/mailman/listinfo/netmod > >
_______________________________________________ netmod mailing list [email protected] https://www.ietf.org/mailman/listinfo/netmod
