Subject: [netmod] Impact of changing an import statement on YANG versioning (https://github.com/netmod-wg/yang-ver-dt/issues/4)

From: "Reshad Rahman (rrahman)" <[email-masked]>
Date: Tue, 7 Jul 2020 15:50:54 +0000

Hi,

We’ve been having discussions on the impact of changing an import statement and would like to get thoughts from the WG.

Consider module A which imports module B.

  1.  Module A revision 1.0.0 has “revision-or-derived 1.0.0” for import of module B.
import moduleB {
  rev:revision-or-derived 1.0.0;
}
  2.  An update to module A so that it needs to import at least 2.0.0 of module B
import moduleB {
  rev:revision-or-derived 2.0.0;
}

When module’s A import is updated in step b, we’ve discussed 3 options:

  1.  Always consider the change as BC (new revision 1.1.0 for module A) and let the client figure out the impact on its use of module A
  2.  Always consider the change as NBC (new revision 2.0.0 for module A, tag the import as NBC using nbc-change extension) and let the client figure out the impact on its use of module A
  3.  Handle this conditionally. So if the impact on module A is NBC (depending on whether module A’s namespace has been impacted in NBC way),  do as in 2 (this can have ripple effect on importing module hierarchy, e.g. module C uses module A, module D uses module C etc). If the impact on module A is BC, do as in 1

Regards,
Reshad.