Hi,

On 2020-05-09, 11:57 AM, "Martin Björklund" <[email protected]> wrote:

    Martin Björklund <[email protected]> wrote:
    > "Reshad Rahman (rrahman)" <[email protected]> wrote:
    > > Hi,
    > > 
    > > On 2020-05-08, 5:12 PM, "Martin Björklund" <[email protected]> wrote:
    > > 
    > >     Hi,
    > >     
    > >     "Reshad Rahman (rrahman)" <[email protected]> wrote:
    > >     > Hi,
    > >     > 
    > >     > This came up during this week's meeting. We briefly discussed 
whether
    > >     > there's a need to version sub-modules or can we restrict 
versioning to
    > >     > modules only. We would like to hear from the WG on this, 
especially
    > >     > those with experience managing sub-modules.
    > >     
    > >     Yes I think this is needed.  At tail-f, there are several modules 
with
    > >     many submodules.  These modules always use include by revision, and
    > >     always the main module is always uddated when any submodule is
    > >     updated.  It doens't make much sense IMO to not use include by
    > >     revision.
    > >     
    > >     > For completeness, below is an update from Jason in github:
    > >     > My initial reaction is that we should not preclude the use of 
revision
    > >     > label with a submodule. Submodules have their own version today. 
The
    > >     > trick is to define (or explicitly say it is out of scope) whether 
a
    > >     > module version must change if any underlying submodule versions
    > >     > change. That gets difficult if you consider simply moving a leaf 
from
    > >     > one sub-module to another (without changing anything else about 
it -
    > >     > its context, etc).
    > >     
    > >     Why would this be difficult?  The revision date is updated on any
    > >     editorial change (see 7.1.9 of RFC 7950).  So if a leaf gets moved
    > >     from submodule A to submodule B, then their revisions are udpated, 
and
    > >     hence the module's include-by revision is udpated, and hence the
    > >     module's revision ois updated.
    > >     
    > > I think what Jason meant is that by moving a leaf between submodules,
    > > it's possible the module's schema didn't change.
    > > So yes revision date is updated, but you can't blindly update the
    > > revision-label.
    > 
    > Why not?
    
    Aha, I think I understand what you mean.  And in light of Tom's
    comment in the other thread, I think that using 'revision-label' in
    the module and not in sub-modules makes sense.  sub-modules can still
    use the date, and be included by revision (date).
    
That works and simplifies things.

Regards,
Reshad.
    
    /martin
    
    
    
    > 
    > 
    > /martin
    > 
    > 
    > > 
    > > Regards,
    > > Reshad.
    > > 
    > >     /martin
    > >     
    > >     
    > >     
    > >     > 
    > >     > 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/49
    > >     >     
    > >     >             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?
    > >     >     
    > >     >     Good point. What was meant by that the label space for 
modules and
    > >     >     sub-modules are orthogonal.  e.g. the sub-module and module 
both have
    > >     >     the same label, it shouldn't be inferred that the 2 are 
related.
    > >     >     We'll change/clarify the text.
    > >     >     
    > >     >     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

Reply via email to