From: Andy Bierman <[email protected]>
Date: Tuesday, April 2, 2024 at 17:40
To: Joe Clarke (jclarke) <[email protected]>
Cc: Jason Sterne (Nokia) <[email protected]>, 
[email protected] <[email protected]>
Subject: Re: [netmod] YANG Versioning: filename recommendations for YANG Semver


On Tue, Apr 2, 2024 at 2:11 PM Joe Clarke (jclarke) 
<[email protected]<mailto:[email protected]>> wrote:
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.


This can never happen since the '#' char is not allowed in a YANG module name.
YANG 1.1 tools look for MODNAME[@DATE].EXT.
If the YANG module name is not in this format the tool will not find the module.

[JMC] Of course.  We (authors on the call) were debating what a tool would do 
with the filename if it didn’t understand this YANG Semver naming.

The issue is obviously not the 2 lines of code to parse "#" instead of "@".
IMO this file name change is operationally disruptive and not really needed.
How come OpenConfig modules do not use this naming scheme?
Is it because they are following the RFC 7950 file naming rules?

[JMC] This naming scheme hadn’t been introduced.  OpenConfig doesn’t use the @ 
convention, either.  They just have naked module names from what I can see 
(https://github.com/openconfig/public/tree/master/release/models).  I know that 
at least one vendor is already using YANG Semver and the ‘#’ notation for file 
naming.  I believe it is in part because of this the chairs wanted us to 
revisit the naming.


So the revision-date is the only field that can be relied upon since the same 
SemVer (e.g. "1.0.0") could be released several times,
each one containing different content.

[JMC] Just as with revision-date, the YANG Semver identifier must be unique.  
You cannot have multiple “1.0.0” identifiers for the same module with different 
content.  That 1.0.0 would be tied to a revision of a unique date.

Joe


Joe


Andy

_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to