On Tue, Mar 31, 2020 at 9:48 AM Sterne, Jason (Nokia - CA/Ottawa) < [email protected]> wrote:
> Darn - poor choice of my first example. I meant this: > > > > 1.0.0 -> 1.1.0 -> 2.0.0 -> 3.0.0 -> 1.2.0 > This is the use-case I want to support. Using revision-date alone, a tool and administrator would think 1.2.0 is an update to 3.0.0 If a revision-label is added, then it is clear that 1.2.0 is based on 1.1.0, not 3.0.0. Whether ANY update has BC vs. NBC changes in it is another issue. There might be lots of info that one might encode into the revision-label. This is often the case, and a good argument to create additional metadata fields and leave the revision-label "clean". (e.g. vendor-revision-label) Andy > > would be confusing comparing 1.0.0 and 1.2.0. > > > > (I wasn't trying to illustrate a "loop", or coming back to a file that was > the same content as previously) > > > > *From:* Sterne, Jason (Nokia - CA/Ottawa) > *Sent:* Tuesday, March 31, 2020 12:42 PM > *To:* Reshad Rahman (rrahman) <[email protected]>; Ivory, William < > [email protected]>; [email protected] > *Cc:* [email protected] > *Subject:* RE: [netmod] All IETF YANG modules MUST include revision-label > statements > > > > The idea is that following down a chain of YANG versions of a module > results in a semver that is "cumulative". Just like you can't do this: > > > > 1.0.0 -> 1.1.0 -> 2.0.0 -> 3.0.0 -> 1.1.0 > > > > That would be confusing when comparing 1.0.0 and 1.1.0. The numbers would > imply they are BC. > > > > Once you mark an "M" you can't take it away. > > > > In William's example, someone looking at 1.0.4 vs 1.0.2 would think they > are BC with each other (by just looking at the yang semver. > > > > We'd rather err on the side of "false positives" for an NBC change so that > someone looks into it. (e.g. 1.0.3M -> 1.0.4M may not be an NBC change but > users should look just in case). > > > > Jason > > > > *From:* Reshad Rahman (rrahman) <[email protected]> > *Sent:* Tuesday, March 31, 2020 12:04 PM > *To:* Ivory, William <[email protected]>; [email protected]; > Sterne, Jason (Nokia - CA/Ottawa) <[email protected]> > *Cc:* [email protected] > *Subject:* Re: [netmod] All IETF YANG modules MUST include revision-label > statements > > > > Hi, > > > > Thanks for the suggestion. > > > > This was discussed, I think the reason we didn’t go with that solution is > that (as you mentioned) you need the module contents with all the previous > version labels. Does anyone from the design team recall any other details? > > > > Regards, > > Reshad. > > > > *From: *"Ivory, William" <[email protected]> > *Date: *Tuesday, March 31, 2020 at 3:40 AM > *To: *"[email protected]" <[email protected]>, "[email protected]" < > [email protected]>, "Reshad Rahman (rrahman)" <[email protected]> > *Cc: *"[email protected]" <[email protected]> > *Subject: *Re: [netmod] All IETF YANG modules MUST include revision-label > statements > > > > Apologies if this has already been suggested and deemed unworkable, but if > you have access to all previous version labels for a branch then you can > add 'M' only to the versions that are NBC with the previous version, and > subsequent versions could drop the M until the next NBC change, ie: > > > > 1.0.0 -> 1.0.1 -> 1.0.2 > 1.0.3M -> 1.0.4 -> 1.0.5M ... > > > > Here 1.04 is BC with 1.03 but not 1.0.0 - 1.0.2; 1.0.5 is NBC with 1.0.4 > and previous versions etc. > > > > The revision statements contain the revision-labels so you should have all > the previous revision-labels present in the file, and you have all the data > you need. Now you don't have the problem of the branch being poisoned as > soon as the first M is added. > > > > William > > > > On Mon, 2020-03-30 at 22:11 +0000, Reshad Rahman (rrahman) wrote: > > On 2020-03-30, 5:51 PM, "Martin Björklund" <[email protected]> wrote: > > > > "Sterne, Jason (Nokia - CA/Ottawa)" <[email protected]> wrote: > > > > But it is not true. What happened between 1.0.2M and 1.0.3M? > > > > > > It tells you there is an NBC change between 1.0.2M and 1.0.3M. > > > > No. As you note below it says that all bets are off. The change > > between these two could be a spelling error fix. Hence, Reshad's > > statement that "The revision label allows a user to easily figure out > > whether 2 revisions are (N)BC." is not correct. > > You are correct that once a branch is poisoned with an 'M', the information > provided is not as rich. > > Even though you don't know whether 1.0.3M is BC/NBC with 1.0.2M, you still > know that > > - 1.0.2M is NBC with 1.0.1 and 1.0.0 > > - 1.0.3M is NBC with 1.0.1 and 1.0.0 > > - 1.0.1 is BC with 1.0.0 > > > > Still useful IMO. > > > > Regards, > > Reshad. > > > > > The M gives an indication that a branch has been "poisoned" by an > > > NBC change and that all bets are off from that point onwards in that > > > branch. > > > > > > /martin > > > > > > > > > > > -----Original Message----- > > > > From: netmod <[email protected]> On Behalf Of Martin Björklund > > > > Sent: Monday, March 30, 2020 4:40 PM > > > > To: [email protected] > > > > Cc: [email protected] > > > > Subject: Re: [netmod] All IETF YANG modules MUST include > revision-label > > > > statements > > > > > > > > "Reshad Rahman (rrahman)" <[email protected]> wrote: > > > > > > > > > > On 2020-03-30, 2:20 PM, "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://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_netmod-2Dwg_yang-2Dver-2Ddt_issues_45&d=DwIGaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=p8kyeK3u4ZYiaQ2ZPGqwkyXmQgBH6r5jpYiYWzhqJ48&m=ffH268c0xOd0DSFLQzZ2JHAmCHjVzPJVJtGPNxiiJcs&s=nyxzbv7ZWMgcXuMEW8MqjeT3oVxla6qFiF96M8SaMUY&e= > > > > > > > > > > > > > > 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. > > > > > > > > > > The revision label allows a user to easily figure out whether 2 > > > > > revisions are (N)BC. > > > > > > > > I think you meant "modified semver as revision label allows ..." > > > > > > > > But it is not true. What happened between 1.0.2M and 1.0.3M? > > > > > > > > > > > > /martin > > > > > > > > > > > > > Without the label, you always have to use tooling. > > > > > > > > > > Regards, > > > > > Reshad. > > > > > > > > > > I am all for using rev:nbc-changes or rev:editorial-changes > (which I > > > > > think should be added) in IETF modules. > > > > > > > > > > > > > > > /martin > > > > > > > > > > > > > > > > > > > > > > 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://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_netmod-2Dwg_yang-2Dver-2D&d=DwIGaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=p8kyeK3u4ZYiaQ2ZPGqwkyXmQgBH6r5jpYiYWzhqJ48&m=ffH268c0xOd0DSFLQzZ2JHAmCHjVzPJVJtGPNxiiJcs&s=HjVuj69fVsCLulvyNUajxCbtSKPAVkUZVJNK8s-f-Ho&e= > > > > 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://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_mailman_listinfo_netmod&d=DwIGaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=p8kyeK3u4ZYiaQ2ZPGqwkyXmQgBH6r5jpYiYWzhqJ48&m=ffH268c0xOd0DSFLQzZ2JHAmCHjVzPJVJtGPNxiiJcs&s=z5LiDOlko48vuqlIgA0Gm7dcsxmHOtwfod6wC46lRU0&e= > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > netmod mailing list > > > > > > > [email protected] > > > > > > > > https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_mailman_listinfo_netmod&d=DwIGaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=p8kyeK3u4ZYiaQ2ZPGqwkyXmQgBH6r5jpYiYWzhqJ48&m=ffH268c0xOd0DSFLQzZ2JHAmCHjVzPJVJtGPNxiiJcs&s=z5LiDOlko48vuqlIgA0Gm7dcsxmHOtwfod6wC46lRU0&e= > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > netmod mailing list > > > > [email protected] > > > > > https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_mailman_listinfo_netmod&d=DwIGaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=p8kyeK3u4ZYiaQ2ZPGqwkyXmQgBH6r5jpYiYWzhqJ48&m=ffH268c0xOd0DSFLQzZ2JHAmCHjVzPJVJtGPNxiiJcs&s=z5LiDOlko48vuqlIgA0Gm7dcsxmHOtwfod6wC46lRU0&e= > > > > > > _______________________________________________ > > netmod mailing list > > [email protected] > > https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_mailman_listinfo_netmod&d=DwIGaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=p8kyeK3u4ZYiaQ2ZPGqwkyXmQgBH6r5jpYiYWzhqJ48&m=ffH268c0xOd0DSFLQzZ2JHAmCHjVzPJVJtGPNxiiJcs&s=z5LiDOlko48vuqlIgA0Gm7dcsxmHOtwfod6wC46lRU0&e= > > > > _______________________________________________ > netmod mailing list > [email protected] > https://www.ietf.org/mailman/listinfo/netmod >
_______________________________________________ netmod mailing list [email protected] https://www.ietf.org/mailman/listinfo/netmod
