Hi Andy,

YANG modules are occasionally doing NBC changes today (in the IETF, in other 
standard bodies and in vendor modules). If an old tool/client doesn’t recognize 
the new rev:non-backwards-compatible extension it isn’t any worse off than 
today. But this extension allows YANG 1.1 modules to clearly communicate to 
tools/programmers/etc that an NBC has occurred.

About your last paragraph: The intent of the draft is not to encourage NBC 
changes. In section 3.1 it says the following:
Note that NBC changes often create problems for clients, thus it is recommended 
to avoid making them.¶
Section 7.1 says the following:
NBC changes to YANG modules may cause problems to clients, who are consumers of 
YANG models, and hence YANG module authors SHOULD minimize NBC changes and keep 
changes BC whenever possible.

When NBC changes are introduced, consideration should be given to the impact on 
clients and YANG module authors SHOULD try to mitigate that impact.

But NBC changes are happening in the industry so at least this lets authors 
indicate it.

I agree that doing a phased change is best. That’s what we recommend in section 
7.1.1 (deprecate first, etc) and B.2.

The module versioning draft also updates that the change from current or 
deprecated to obsolete is NBC. Going “obsolete” is an impact to a client.

Jason


From: netmod <netmod-boun...@ietf.org> On Behalf Of Andy Bierman
Sent: Tuesday, May 9, 2023 2:06 PM
To: NetMod WG <netmod@ietf.org>
Subject: [netmod] Comments on draft-ietf-netmod-yang-module-versioning-09


CAUTION: This is an external email. Please be very careful when clicking links 
or opening attachments. See the URL nok.it/ext for additional information.


Hi,

Most of the document focuses on the administrative details that will
be required to update a YANG module. (Lots of them).

My concern is with YANG 1.1 Co-existence and deployment of this new RFC. (Sec 
3.1)

https://datatracker.ietf.org/doc/html/draft-ietf-netmod-yang-module-versioning-09#section-3.1

A client (or another tool) that is compliant with RFC 7950 is
not required to be aware of the new YANG extensions, or expect
NBC changes in new module revisions.  It is not a good idea to
allow NBC changes in a YANG 1.1 module. IMO the new rules
need to apply to a new YANG language version.  It is not reasonable
to expect YANG 1.1 tools to work even if MUST requirements are removed.

Since YANG 1.1 Co-existence is not possible, vendors will decide
for themselves how much NBC they want in their implementations.
Breaking a YANG 1.1 client tool is still a problem they will have to deal with.

This new RFC could encourage instability and poor engineering practices in YANG 
APIs.
IMO best practice is still to introduce a new identifier and phase out
the old identifier with status=deprecated, then obsolete.
This is how opensource usually works (for good reason).


Andy


_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to