Hi Jason,

Is your question of option A v/s B just for the case where the schema 
represented by the module does not change?

If the schema changes, even if the module didn't change, the revision-label has 
to be updated to indicate the change.
If the schema didn't change, I'd go with editorial revision-label update as (I 
think) Martin suggested.

Regards,
Reshad.

On 2020-05-13, 1:30 PM, "Sterne, Jason (Nokia - CA/Ottawa)" 
<[email protected]> wrote:

    So that's the part I'm not sure of.
    
    If a leaf moves between submodules, and the module file doesn't change in 
any way (as we've said is possible and should be allowed), do we mandate that 
the module version changes?  This is up to us to define IMO
    
    (A) the module version has a scope that includes the module and all 
submodules
    (B) the module version has a scope that is just the module file contents
    
    I'm on the fence between those two. (A) could make sense but it does mean 
that someone comparing two versions of the just the module file itself may see 
no difference whatsoever between them except the addition of a new version 
statement.
    
    Jason
    
    > -----Original Message-----
    > From: Reshad Rahman (rrahman) <[email protected]>
    > Sent: Wednesday, May 13, 2020 12:46 PM
    > To: Sterne, Jason (Nokia - CA/Ottawa) <[email protected]>; Martin
    > Björklund <[email protected]>
    > Cc: [email protected]
    > Subject: Re: [netmod] Revision labels for submodules
    > 
    > Hi Jason,
    > 
    > 
    > On 2020-05-13, 11:50 AM, "Sterne, Jason (Nokia - CA/Ottawa)"
    > <[email protected]> wrote:
    > 
    >     Hi guys,
    > 
    >     As someone who is heavily involved in the development of an extensive
    > YANG model comprised of submodules, I'm not a fan of mandating that
    > include by revision is mandatory for submodules. It may indeed be a good
    > idea (so perhaps SHOULD is fine) but I can see it causing problems on the
    > implementation side.
    > 
    >     The primary development of a data model may be distributed out to
    > submodules and the main module may only be a top level container for the
    > submodules (and rarely touched). This would suddenly create an ordering
    > dependency in the release process that requires the main module file to
    > systematically be updated after all development of the submodules is 
halted.
    > Then the results of the submodules has to be used to then go update the
    > module. Solvable - yes, but folks who work on large scale projects will 
know
    > that suddenly requiring that type of development process change isn't as
    > easy as it may sound on paper.
    > <RR> I can see why you wouldn't want to modify all your include 
by-revision
    > statements. But you would still need to update the module revision-label
    > based on changes done in the included submodules.
    > 
    > Regards,
    > Reshad.
    > 
    >     It is possible to manage the "packaging" of submodules and modules out
    > of band or other mechanisms.
    > 
    >     OpenConfig, for example, uses submodules but does not currently 
include
    > by version. I'm not proposing this is ideal. But I think we should leave 
it as
    > acceptable.
    > 
    >     Rgds,
    >     Jason
    > 
    >     > -----Original Message-----
    >     > From: Reshad Rahman (rrahman) <[email protected]>
    >     > Sent: Tuesday, May 12, 2020 9:46 AM
    >     > To: Sterne, Jason (Nokia - CA/Ottawa) <[email protected]>;
    > Martin
    >     > Björklund <[email protected]>
    >     > Cc: [email protected]
    >     > Subject: Re: [netmod] Revision labels for submodules
    >     >
    >     > Hi Jason,
    >     >
    >     > On 2020-05-09, 12:52 PM, "Sterne, Jason (Nokia - CA/Ottawa)"
    >     > <[email protected]> wrote:
    >     >
    >     >     Hi Martin,
    >     >
    >     >     Your approach sounds good to me. I was forgetting about the
    > "editorial"
    >     > level of change (e.g. the 3rd part of SemVer).  So I agree that 
moving a
    > leaf
    >     > would be an editorial change in both submodules.
    >     >
    >     >     But what if a module is not doing include by revision? It may 
indeed
    > make
    >     > sense to include by revision but it isn't mandated. For sake of 
argument
    > here
    >     > what if the module itself didn't change at all in this case?
    >     > It is now mandated in section 3 of draft-ietf-netmod-yang-module-
    >     > versioning-00.
    >     >
    >     >
    >     >     It *feels* like the right thing to do here is to consider the 
module
    > overall
    >     > to have an editorial change.
    >     >
    >     >     The revision statement of sub-modules has a scope of the file 
(the
    > sub-
    >     > module). It isn't clear to me whether the revision of a *module* 
has a
    > scope
    >     > that includes all sub-modules or if it is just a scope of the 
module file.
    > But we
    >     > could clarify that as part of this work.
    >     > Because of include by revision, the module would have to change to
    > include
    >     > a different revision of a sub-module.
    >     >
    >     > Regards,
    >     > Reshad.
    >     >
    >     >     Jason
    >     >
    >     >     > -----Original Message-----
    >     >     > From: Martin Björklund <[email protected]>
    >     >     > Sent: Saturday, May 9, 2020 11:54 AM
    >     >     > To: [email protected]
    >     >     > Cc: [email protected]; Sterne, Jason (Nokia - CA/Ottawa)
    >     >     > <[email protected]>
    >     >     > Subject: Re: [netmod] Revision labels for submodules
    >     >     >
    >     >     > "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?
    >     >     >
    >     >     >
    >     >     > /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

Reply via email to