On Tue, Apr 9, 2024 at 7:01 AM Rob Wilton (rwilton) <rwil...@cisco.com>
wrote:

> Hi Andy,
>
>
>
> For me, it seems likely that vendors using YANG Semver will want to use a
> filename that can contain the Semver label, and I still see some advantages
> for everyone to do it in a similar way.  E.g., it is very likely that
> internally we will just use this format, but will probably strip or convert
> it before publishing them.
>
> But I agree that we shouldn’t formally change the filename format in YANG
> 1.1, and that would be best left for YANG 2.0 (obviously if agreed at that
> time).
>
> My question is whether we can find some middle ground where we at least
> informally document the format in an appendix now (i.e., as non-normative
> text), so that if folks are starting to use a format, then they could
> choose this one, but not to change the extension representation/API when
> naming YANG modules.
>
> Such an appendix might start with something like:
>
> <start proposal>
> “During this work it was discussed that having a filename format that
> allows for the Semver, rather than the revision-date to be expressed in the
> filename, would be beneficial.  It was concluded that making such a change
> would risk breaking existing tooling and hence would be better deferred to
> a further revision of the YANG language.  The proposed format is
> ‘informatively’ documented below, which might be adopted in a future
> revision of YANG.
>
> … <include the definition that we had before but with no RFC 2119 keywords>
>
> <end proposal>
>
>
> Would such an approach potentially be acceptable to you?  Or are you
> strongly against saying anything at all?  Note the motivation for
> considering put this in is because a comment was raised during IETF 119
> about avoiding an undocumented de facto standard – I would like to get
> consensus on this draft so that we can get it published an move on.
>
>

I do not see the value of creating a new file naming scheme based on the
revision label.
The "import by revision" mechanisms are based on revision date, not label.

YANG extensions are different.
1) a YANG extension MUST NOT alter YANG 1.1 semantics
2) a YANG 1.1 tool MUST be capable of skipping past any extension

However the YANG 1.1 specification makes no such provision for a detail
like the file naming.
So it seems premature and inappropriate to define a file naming scheme for
YANG 2.0
since it does not exist and will probably never exist.




> Regards,
> Rob
>

Andy


>
>
>
>
> *From: *netmod <netmod-boun...@ietf.org> on behalf of Andy Bierman <
> a...@yumaworks.com>
> *Date: *Wednesday, 3 April 2024 at 19:07
> *To: *Joe Clarke (jclarke) <jcla...@cisco.com>
> *Cc: *Jason Sterne (Nokia) <jason.sterne=40nokia....@dmarc.ietf.org>,
> netmod@ietf.org <netmod@ietf.org>
> *Subject: *Re: [netmod] YANG Versioning: filename recommendations for
> YANG Semver
>
> Hi,
>
>
>
>
>
> On Wed, Apr 3, 2024 at 10:34 AM Joe Clarke (jclarke) <jcla...@cisco.com>
> wrote:
>
>
>
>
>
> *From: *Andy Bierman <a...@yumaworks.com>
> *Date: *Tuesday, April 2, 2024 at 17:40
> *To: *Joe Clarke (jclarke) <jcla...@cisco.com>
> *Cc: *Jason Sterne (Nokia) <jason.sterne=40nokia....@dmarc.ietf.org>,
> netmod@ietf.org <netmod@ietf.org>
> *Subject: *Re: [netmod] YANG Versioning: filename recommendations for
> YANG Semver
>
>
>
>
>
> On Tue, Apr 2, 2024 at 2:11 PM Joe Clarke (jclarke) <jcla...@cisco.com>
> 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.
>
>
>
>
>
>
>
> I do not see any net value by changing the filename spec so it is
> different than YANG 1.1.
>
> Duplication of files is a bug, not a feature.
>
>
>
> Tools usually rely on a proprietary search path configuration to find
> modules.
>
> Some clients rely on <get-schema> and always use the modules from the
> server.
>
> This is stable and has been the practice since 2016.
>
>
>
> IMO this is an NBC change to YANG 1.1, so it should not be done at all.
>
> Adding YANG extensions is fine, and I support that part of this work.
>
>
>
>
>
> Joe
>
>
>
>
>
> Andy
>
>
>
>
>
> Joe
>
>
>
>
>
> Andy
>
>
>
>
_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to