[As an individual contributor] I'm not keen on the idea of adding information related to deprecation/obsoletion to the data node description.
I think that this will cause problems for schema comparison, since tooling cannot easily understand the semantic difference in changes in description and hence will probably need extra annotations to indicate whether such changes are BC or NBC. Whereas I think that such tooling could probably reasonably handle a description statement under status differently (e.g., perhaps treat all such status description changes as BC or insignificant changes). However, I'm more sympathetic to the argument that this is not worth fixing now, and that this issue could be deferred to YANG.Next. Regards, Rob > -----Original Message----- > From: netmod <[email protected]> On Behalf Of Martin Björklund > Sent: 04 May 2020 19:15 > To: Reshad Rahman (rrahman) <[email protected]> > Cc: [email protected] > Subject: Re: [netmod] status-description > > "Reshad Rahman (rrahman)" <[email protected]> wrote: > > What are your thoughts on having description statement under status in > > yang-next? > > No problem! In fact, "description" could be allowed under _any_ > statement... > > > /martin > > > > Is it the same as what you’ve stated on status-description > > extension? > > > > I believe the extension is useful, although I do see the point made > > that an extra statement leads to extra complexity. But using > > description statement in yang-next should not be an issue? > > > > Regards, > > Reshad. > > > > From: 'Andy Bierman' <[email protected]> > > Date: Monday, May 4, 2020 at 1:32 PM > > To: Martin Björklund <[email protected]> > > Cc: Balazs Lengyel <[email protected]>, "Reshad Rahman > > (rrahman)" <[email protected]>, NetMod WG <[email protected]> > > Subject: Re: [netmod] status-description > > > > > > > > On Mon, May 4, 2020 at 9:38 AM Martin Björklund > > <[email protected]<mailto:mbj%[email protected]>> wrote: > > Hi, > > > > Balázs Lengyel > > <[email protected]<mailto:[email protected]>> > > wrote: > > > Hello, > > > While status-description is not a critical part of this work, it is > > > still useful, does not harm and is such a small addition, I do not > > > understand why Martin objects. > > > > Every additional statement adds to the overall complexity. As Jason > > explained, this particular statement doesn't really help much. > > > > > > +1 > > > > We should not start down the path of specialized description > > statements. > > > > I was part of a design team many years ago that was trying to > > figure out why engineers were having so much trouble writing MIB > > modules. > > One significant finding: people disliked working on MIBs because there > > were so > > many special little rules (CLRs) for every little detail in the > > module. > > > > IMO we are starting to make the same mistake with YANG. > > > > > > /martin > > > > Andy > > > > > > > > > > So why is status-description good: > > > Sometimes additional information is needed about deprecation, > > > obsolescence: > > > - is the item still fully functional? > > > - when will its functionality be removed? > > > - when will the schema node itself be removed? > > > - is there a replacement or workaround that could/should be used > instead > > > - of deprecated/obsolete item? > > > The text can be used by tools. Using a separate statement to provide > > > this > > > information is a method to separate the main description from this > > > status specific description. > > > In most cases both in the CLI and on NMS GUIs only the description is > > > displayed. > > > However there is a possibility to display the status information too. > > > > > > In a way it is similar why we have separate description, contact, > > > reference, organization statements under module. > > > All these are just text, they could all be pushed under a single > > > description statement. Tools can't act on these automatically, still > > > it is good to separate them. > > > > > > Regards Balazs > > > > > > -----Original Message----- > > > From: netmod <[email protected]<mailto:[email protected]>> > > > On Behalf Of Sterne, Jason > > > (Nokia - CA/Ottawa) > > > Sent: 2020. április 29., szerda 23:38 > > > To: Reshad Rahman (rrahman) > > > > <[email protected]<mailto:[email protected]>>; > > > Martin Björklund <[email protected]<mailto:mbj%[email protected]>>; > > > [email protected]<mailto:[email protected]> > > > Subject: Re: [netmod] status-description (WAS Re: mbj review of > > > draft-verdt-netmod-yang-module-versioning-01) > > > > > > I think we could wait until YANG 2.0 to add a description to the > > > status. > > > > > > Without a status description, an intelligent "YANG diff" of the models > > > would produce this: > > > a) new status deprecated statement > > > b) change to a description > > > > > > With a status description we'd identify this: > > > a) new status deprecated statement > > > b) new status description > > > > > > In both cases it is (a) that identifies the most clear information. > > > > > > In both cases (b) provides no additional information that can be acted > > > upon in an automated fashion. The tool could only flag that (b) > > > occurred in both cases and a human would then have to go look at it. > > > > > > If the only change between two versions of a module was a status > > > description change, then again a human would have to take a look. If > > > we add some sort of "nbc" tag to the leaf for tooling, then it also > > > doesn't matter which description changed. > > > > > > Jason > > > > > > > > > > -----Original Message----- > > > > From: netmod <[email protected]<mailto:netmod- > [email protected]>> > > > > On Behalf Of Reshad Rahman > > > > (rrahman) > > > > Sent: Friday, March 27, 2020 5:43 PM > > > > To: Martin Björklund <[email protected]<mailto:mbj%[email protected]>>; > > > > [email protected]<mailto:[email protected]> > > > > Subject: [netmod] rev:status-description (WAS Re: mbj review of > > > > draft-verdt- > > > > netmod-yang-module-versioning-01) > > > > > > > > Hi, > > > > > > > > https://github.com/netmod-wg/yang-ver-dt/issues/51 > > > > > > > > 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."; > > > > } > > > > > > > > While rev:status-description isn't strictly necessary, without it > we'd > > > > have to modify the node's description as you pointed out. That'd > make > > > > tooling more > > > > difficult: is the description change BC or NBC? Also, a user looking > > > > at a diff would need to go through the description change. Use of > > > > rev:status- description makes this easier to handle. > > > > > > > > Regards, > > > > Reshad. > > > > > > > > > > > > > > > > On 2020-03-20, 5:08 PM, "netmod on behalf of Reshad Rahman > (rrahman)" > > > > <[email protected]<mailto:[email protected]> on behalf > of > > > > > [email protected]<mailto:[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" > > > > <netmod- [email protected]<mailto:[email protected]> on behalf of > > > > [email protected]<mailto:mbj%[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]<mailto:[email protected]> > > > > https://www.ietf.org/mailman/listinfo/netmod > > > > > > > > > > > > _______________________________________________ > > > > netmod mailing list > > > > [email protected]<mailto:[email protected]> > > > > https://www.ietf.org/mailman/listinfo/netmod > > > > > > > > > > > > _______________________________________________ > > > > netmod mailing list > > > > [email protected]<mailto:[email protected]> > > > > https://www.ietf.org/mailman/listinfo/netmod > > > _______________________________________________ > > > netmod mailing list > > > [email protected]<mailto:[email protected]> > > > https://www.ietf.org/mailman/listinfo/netmod > > _______________________________________________ > > netmod mailing list > > [email protected]<mailto:[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
