Hi, // As an individual contributor
We discussed proposed IANA text at the last NETMOD interim on the YANG versioning work. Tracked by issue https://github.com/netmod-wg/yang-ver-dt/issues/59 I had the action of updating the text based on comments received in the interim meeting and then sending that text to the list. The proposed text is below (that is in the current published versions of both drafts). If the WG has no objections to this text, then the planned next step is to ask IANA for an early review of this text. IANA section in draft-ietf-netmod-yang-module-versioning-02: 11.2. Guidance for versioning in IANA maintained YANG modules Note for IANA (to be removed by the RFC editor): Please check that the registries and IANA YANG modules are referenced in the appropriate way. IANA is responsible for maintaining and versioning YANG modules that are derived from other IANA registries. For example, "iana-if- type.yang" [IfTypeYang] is derived from the "Interface Types (ifType) IANA registry" [IfTypesReg], and "iana-routing-types.yang" [RoutingTypesYang] is derived from the "Address Family Numbers" [AddrFamilyReg] and "Subsequent Address Family Identifiers (SAFI) Parameters" [SAFIReg] IANA registries. Normally, updates to the registries cause any derived YANG modules to be updated in a backwards-compatible way, but there are some cases where the registry updates can cause non-backward-compatible updates to the derived YANG module. An example of such an update is the 2020-12-31 revision of iana-routing-types.yang [RoutingTypesDecRevision], where the enum name for two SAFI values was changed. In all cases, IANA MUST follow the versioning guidance specified in Section 3.1, and MUST include a "rev:nbc-changes" substatement to the latest revision statement whenever an IANA maintained module is updated in a non-backwards-compatible way, as described in Section 3.2. Note: For published IANA maintained YANG modules that contain non- backwards-compatible changes between revisions, a new revision should be published with the "rev:nbc-changes" substatement retrospectively added to any revisions containing non-backwards-compatible changes. Non normative examples of updates to enumeration types in IANA maintained modules that would be classified as non-backwards- compatible changes are: Changing the status of an enumeration typedef to obsolete, changing the status of an enum entry to obsolete, removing an enum entry, changing the identifier of an enum entry, or changing the described meaning of an enum entry. Non normative examples of updates to enumeration types in IANA maintained modules that would be classified as backwards-compatible changes are: Adding a new enum entry to the end of the enumeration, changing the status or an enum entry to deprecated, or improving the description of an enumeration that does not change its defined meaning. Non normative examples of updates to identity types in IANA maintained modules that would be classified as non-backwards- compatible changes are: Changing the status of an identity to obsolete, removing an identity, renaming an identity, or changing the described meaning of an identity. Non normative examples of updates to identity types in IANA maintained modules that would be classified as backwards-compatible changes are: Adding a new identity, changing the status or an identity to deprecated, or improving the description of an identity that does not change its defined meaning. IANA section for draft-ietf-netmod-yang-semver-02 9.2. Guidance for YANG Semver in IANA maintained YANG modules Note for IANA (to be removed by the RFC editor): Please check that the registries and IANA YANG modules are referenced in the appropriate way. IANA is responsible for maintaining and versioning some YANG modules, e.g., iana-if-types.yang [IfTypeYang] and iana-routing-types.yang [RoutingTypesYang] . In addition to following the rules specified in the IANA Considerations section of [I-D.ietf-netmod-yang-module-versioning] , IANA maintained YANG modules MUST also include a YANG Semver revision label for all new revisions, as defined in Section 3 . The YANG Semver version associated with the new revision MUST follow the rules defined in Section 3.3 . Note: For IANA maintained YANG modules that have already been published, revision labels MUST be retrospectively applied to all existing revisions when the next new revision is created, starting at version "1.0.0" for the initial published revision, and then incrementing according to the YANG Semver version rules specified in Section 3.3 . Most changes to IANA maintained YANG modules are expected to be backwards-compatible changes and classified as MINOR version changes. The PATCH version may be incremented instead when only editorial changes are made, and the MAJOR version would be incremented if non- backwards-compatible major changes are made. Given that IANA maintained YANG modules are versioned with a linear history, it is anticipated that it should not be necessary to use the "_compatible" or "_non_compatible" modifiers to the "Z_COMPAT" version element. Comments welcome. Thanks, Rob _______________________________________________ netmod mailing list [email protected] https://www.ietf.org/mailman/listinfo/netmod
