netmod-wg / yang-next

Feature requests for future versions of YANG
6 stars 0 forks source link

Add errata-stmt to YANG #100

Open abierman opened 4 years ago

abierman commented 4 years ago

There needs to be a way to specify the known Errata corrections to a YANG module. There are many published modules with bugs. Incorrect XPath and other constructs translate directly to broken code. This is becoming a major problem for vendors attempting to implement YANG modules from SDOs, especially if the SDO is very slow to fix bugs in their YANG modules.

A new machine-readable mechanism is needed to allow vendors to fix bugs in modules that are outside their publication control (e.g., standard modules)

The deviation-stmt is insufficient because it is (incorrectly, but intentionally) defined in terms of conformance. Any use of deviation-stmt implies the implementation does not conform to the standard.

Deviation-stmt is also not fine enough granularity to specify certain sub-statements. There is no way to apply a deviation to a uses-stmt, augment-stmt, etc.

Consider a real example in openconfig-aaa.yang:

   uses aaa-tacacs-server-top {
          when "../../config/type = 'oc-aaa-types:TACACS'";
          // SHOULD BE when "../../config/type = 'oc-aaa:TACACS'";
    }

Not proposing a specific solution at this time. Not sure if semantic errata-patch is possible. A textual patch mechanism might be easier.

abierman commented 1 week ago

Part of lifecycle management issues

Probably not possible to create a machine-readable statement Maybe it is not too hard to have metadata indicating the errata ID list that has been applied. Maybe just clarify how Errata patches are managed in YANG modules.

complexity: high, bc: high, importance: medium