> On Jun 10, 2020, at 17:13, Reshad Rahman (rrahman) 
> <[email protected]> wrote:
> 
> Hi,
> 
> I understand the requirement to not break what's currently working for date 
> in the filename. However we do need something similar to work for 
> revision-label. Having another file with the revision-label embedded in the 
> filename should work. 
> 
> We discussed this issue in yesterday's weekly meeting and a proposal was made 
> to use '@@' as delimiter for revision-label. # was turned down because of its 
> impact on bash.
> So:
> module-or-submodule-name['@'date].yang (unchanged)
> module-or-submodule-name['@@'revision-label].yang
> 
> A symlink could be used, or we could have duplicate file contents.

I’ll point out that pyang didn’t mind “@@“, but that’s not to say other tools 
wouldn’t complain (and could be easy to miss in a read by RFC Editor).

I don’t mind the symlink notion as we’ve seen this work in the YANG modules 
GitHub repo.

Joe

> 
> Regards,
> Reshad.
> 
> On 2020-05-09, 7:06 AM, "tom petch" <[email protected]> wrote:
> 
>    From: netmod <[email protected]> on behalf of Reshad Rahman 
> (rrahman) <[email protected]>
>    Sent: 08 May 2020 15:13
> 
>    Hi,
> 
>    We discussed using something along the lines of 
> module-or-submodule-name['@'date]['#'revision-label].yang. Questions to the 
> WG:
>    1) Is there a need for both date and revision-label or is one of them 
> enough?
> 
>    <tp>
>    One of them is quite enough and since the date is embedded in many systems 
> it would be wrong to change it.  The module name is the primary identifier of 
> this bundle of definitions but it was decided that as and when there was a 
> change therein then the date would provide a unique identifier for a 
> particular version; nothing more is needed.  Arguably the date is more 
> complex than is warranted but it has worked.  Indeed that format is now used 
> and understood by such as IANA and the RFC Editor.
> 
>    If you want to record more detailed semantics of the relationships between 
> different versions, then put it somewhere else and leave the identifier 
> alone, let the identifier be an identifier and not be overloaded with 
> semantics.
> 
>    Tom Petch
> 
> 
> 
> 
> 
> 
> 
> 
>    2) If we have both, what's the impact of having "#revision-label" on 
> implementations which search by date?
> 
>    Regards,
>    Reshad.
> 
>    On 2020-03-27, 5:44 PM, "netmod on behalf of Reshad Rahman (rrahman)" 
> <[email protected] on behalf of [email protected]> 
> wrote:
> 
>        Hi,
> 
>        https://github.com/netmod-wg/yang-ver-dt/issues/50
> 
>                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
> 
>        We agree that there is an impact on searching by date. We put this in 
> to have the ability to search by revision-label, otherwise we can search just 
> by date for a module which uses revision-label.
>        We had also discussed using different limiter for the label and have 
> something along the lines of: 
> module-or-submodule-name['@'date]['#'revision-label].yang
>        It'd seem that updating 7950 would be a good idea whichever way we go.
> 
>        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
> 
> _______________________________________________
> netmod mailing list
> [email protected]
> https://www.ietf.org/mailman/listinfo/netmod

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

Reply via email to