-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Formally defining backwards compatibility for YANG extensions #151
Comments
A possible formal definition of extension backwards compatibility could be the following: extension extension-backward-compatibility {
} |
Minor nit - let's use the "non backwards compatible" terminology like we did in other drafts (instead of 'incompatible). |
One aspect that might not be covered by these 3 bits: what about extensions that depending how they change, it could be BC or NBC ? e.g. imagine the YANG 'range' statement didn't exist and someone invented it as an extension. Increasing the range is BC but shrinking it is NBC. |
Do we want to be able to annotate as extension as being editorial only? Perhaps the tooling may categorize into a finer set of categories (e.g. nbc, bc, editorial, potential-nbc) and then those categories are combined into the actual versioning number, depending on the versioning scheme. Where does the draft pull the definition from editorial from? Probably can just reference the definition in the Semver draft without requiring Semver. |
IMHO we don't want to go into to details like: one type of change is BC while the other type is NBC. To detailed, to lenghty. Do we need editorial-change marking too? -IMHO not sure, but if e follow semver maybe it is a good idea. Do we need a potential-nbc output too? - Looks like a good idea. |
Definition ver-2: extension extension-backward-compatibility {
argument change-types; |
When trying to determine whether a module update is compatible or not all YANG statement changes need to be considered. Compatibility aspects of YANG extension statements are not know as each extension is unique and its semantics are described only in a description statement using plain English. While that might be sufficient for an expert human reader, it is not usable in a SW algorithm.
There is a need to define whether changing specific YANG extension statements is backwards compatible or not. This should be defined in a formal, machine readable manner.
The text was updated successfully, but these errors were encountered: