NETCONF Data Modeling Language WG (netmod)
21st YANG 1.1 Virtual Interim
Monday, September 14th, 2015, 17:00-18:00 CEST
Minutes Juergen Schoenwaelder
AB = Andy Bierman
BC = Benoit Claise
JS = Juergen Schoenwaelder
KW = Kent Watsen
LL = Ladislav Lhotka
MB = Martin Björklund
TC = Tim Carey
* Coexistence Discussion
There was some mailing list discussion around this topic since the
last virtual interim meeting. Have we arrived at a resolution?
LL: I think there can be issues even with a version 1 only server.
MB: Why is there a problem with a version 1 only server?
LL: What if client knows a 1.1 module and picks it instead?
MB: The client must respect the modules announced by the server.
MB: The latest revision is the latest revision advertised by the
server, not the latest locally known revision.
JS: We seem to have three options:
1. If there is a 1.1 revision somewhere in the imports, the
version 1 module is parsed as a 1.1 module.
2. Version 1 modules are not allowed to import 1.1 modules, this
means a server may need to announce the version of a module
implemented and the version that may be used to resolve
version 1 imports without revision.
3. We allow version 1 modules to import from version 1.1
AB: The goal is not to break old clients. If adding 1.1 modules
breaks clients, this is a problem for deployment.
KW: Perhaps the problem is not big enough to worry about? This is
just a one time software version upgrade.
AB: What if we next do 1.2 etc? A massive upgrade without a real
benefit may not be useful.
AB: This problem would not exist if there would have been import by
AB: The version 1 client only knows about the hello module
advertisements. So what about allowing an old client to continue
with its view of world even if the server implements a 1.1
LL: Does this not break with default statements that have changed a
bit in YANG 1.1?
MB: The old client will not see the default statement, I do not
think this is a problem.
KW: But it impacts things, e.g., when the client uses with-defaults.
AB: It is important that the version upgrade to YANG 1.1 is a cheap
and gradual process.
MB: I agree.
MB: If we upgrade ietf-interfaces to YANG 1.1, we still want to be
able to use the YANG version 1 version of ietf-ip, which has not
changed at all. We do not want to force a revision of ietf-ip
just because ietf-interfaces a server implements got upgraded to
TC: Why would a 1.0 client not utilize 1.0 data models?
MB: Does this mean to implement multiple revisions? It depends on the
changes whether this is expensive.
TC: Does the minor version not imply nodes should be backwards
JS: Lets not confuse data model version number and the version of
the language data models are written in.
JS: Announce YANG 1 modules via messages and YANG 1.1
modules via the YANG the library as long as they are
semantically consistent, that is the YANG version 1 module
remains a proper valid subset of the module written in YANG 1.1.
KW: Is there an issue with get-schema?
MB: No, there is a version input parameter that makes this clear.
Action: Add text and examples to the guidelines document explaining
how servers implementing YANG 1.1 modules can support
modules written in YANG version 1 and when in which
situations servers might need to stop supporting modules
written in YANG version 1.
* Constraints Discussion
LL and MB discuss something internally, they will summarize the
proposal to the list once they conclude the discussion.