Thanks, Andy. See inline below. I do not agree with these recommendations to change the file names of YANG modules. The OFFICIAL YANG version is RFC 7950 - YANG 1.1. Any module using YANG version 1.1 needs to follow the rules in RFC 7950. Additional file naming that can be ignored by YANG 1.1 tools is OK.
[JMC] We had this conversation on our call today. I agree with you that tools can be unaware of YANG Semver and attempt to load a file named foo#1.2.3.yang as a module named “foo#1.2.3”, which would disagree with the module name defined within the module. [JMC] Therefore, I’d be more in favor of no strong language on recommendations for YANG Semver within filenames. Instead, to avoid a de facto standard in the industry, I’d prefer language such as, “if you want to insert YANG Semver into the module filename, then the format MUST be MODULE_NAME#SEMVER.yang.” Any recommendation would be to remain consistent to 7950 and additionally publish the file with @REVSION. I do not understand how a 1:1 deterministic mapping is achieved, based on the YANG SemVer spec: https://www.ietf.org/archive/id/draft-ietf-netmod-yang-semver-15.html#name-yang-semver-pattern 1.0.3 1.0.3_compatible 1.0.3_non_compatible [JMC] These three versions cannot happen for a given module. Only one of them can exist based on the rules. If 1.0.3 already exists, then the next version could only be 1.0.4_compatible or 1.0.4_non_compatible (assuming you want to do BC or NBC changes in the 1.0 MAJOR.MINOR branch). The SemVer draft is confusing. YANG artifacts that employ semantic versioning as defined in this document MUST use a version identifier that corresponds to the following pattern: 'X.Y.Z_COMPAT'. And also: Additionally, [SemVer] defines two specific types of metadata that may be appended to a semantic version string. .... Examples from sec 6: 1.0.0-alpha.1 1.0.0-alpha.3 2.1.0-beta.42 3.0.0-202007.rc.1 How do these strings conform to the pattern specified in sec. 4.3? [JMC] This additional build metadata is ignored for the purposes of YANG Semver, but I get your point. I think some text should be added to address this optional metadata. Joe
_______________________________________________ netmod mailing list netmod@ietf.org https://www.ietf.org/mailman/listinfo/netmod