Re: [netmod] YANG Versioning: filename recommendations for YANG Semver

Andy Bierman <andy@yumaworks.com> Tue, 09 April 2024 14:12 UTC

Return-Path: <andy@yumaworks.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9A04AC14F616 for <netmod@ietfa.amsl.com>; Tue, 9 Apr 2024 07:12:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.095
X-Spam-Level:
X-Spam-Status: No, score=-2.095 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pn0FDRLJYlFg for <netmod@ietfa.amsl.com>; Tue, 9 Apr 2024 07:12:23 -0700 (PDT)
Received: from mail-pj1-x102f.google.com (mail-pj1-x102f.google.com [IPv6:2607:f8b0:4864:20::102f]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8525DC14F68D for <netmod@ietf.org>; Tue, 9 Apr 2024 07:12:23 -0700 (PDT)
Received: by mail-pj1-x102f.google.com with SMTP id 98e67ed59e1d1-2a484f772e2so2586284a91.3 for <netmod@ietf.org>; Tue, 09 Apr 2024 07:12:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks.com; s=google; t=1712671943; x=1713276743; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=lb5SSFi1UE7+IZZZg0fzBCzeBFj1T2TRcO/G/7ZFOkQ=; b=R59p7WpngT/EfM0360nfGTglvX1kbnFIVkRE56JMtrOsmi5FzcUIwuE9O3op3nSSkX NA+6rll2uzyOGEeGzjtTSo/d2+SuEMM9UyKpK2v2hjTTj69sK7fUiyR1mhyu5kdT3/jc uhsV4NiWrlsIVOEOykpibj9mXzJHAStITMfINGOB7W2Vl9iuFtS/Dc1u6W6ChO1FdMvF zkw5y6ExIh/UAunj5DFKbaV1VUSxJmdZjrXQGOqy2IqOQkFqdJEuJe94Dz6a580J85dv 6VkZNeWE4mBHQl4FpKr2l9eJ+3axL9NVZMkUFMqjBUAbJY7lIY10QIgxIr4CyLlrRfJA AaaA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712671943; x=1713276743; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=lb5SSFi1UE7+IZZZg0fzBCzeBFj1T2TRcO/G/7ZFOkQ=; b=hP22fU7WvY9REkprkT5NlKeniU0z8rjSFWsuV7hPJSDB95EwNkQkL9a/Yn9TiNX53g BkkS5b9yHjkmupqNEXt3XSm1T1YxqdbKhk+SRbOAwTMWESClIJnc+vDdlAtezhxsdAtM Ffthdzgu0OsWOomjzqCLXNGnKNNTUFo3OY9NMpmTMgXsmqvbbfjVoBl6SDN46yatggUD MTy62SlMtuemYNpspVMYD1XUoHeXxiiaYSszHeDQBTcXTzVntj6skpX+gxucLK/NBe3w I2080jflMlaGtvRWYRXwPMQrG4838h/WReFFB8zWAhvq5DigYq7D3V2IPni5k3/Kl9c0 sxbA==
X-Forwarded-Encrypted: i=1; AJvYcCUcbWd6IIDY00XdXPBsFeoE8+m8FmwTXVvXUL25pSyx8iutN4NzI/Ri0Wc5sYPlfrc6OpeDtabZN4MAfKh54E4=
X-Gm-Message-State: AOJu0YzYnOi5lpUkajizw5GOXfp7+v/CeothKYZ0Zi0RMBN0oproPvCl YISqVLGkhJ4q80wXkGlFVrzrTIKZmnnj6X828mxvoR1MahLSzPQcNjX8KI4FSde5Y1mEYHNZFGN 4O4JX2P8rOsQ1J2YXtl2PoZhZQwtNKOzBNHO2Kw==
X-Google-Smtp-Source: AGHT+IFiAc623EFnvA1waMRPOCaiTxT9PSpIf+lk7dZMkg/WjKpwLtac2DZhOeUY7BVceoVquBGSKMhHaeAsEGn0bIc=
X-Received: by 2002:a17:90b:4f4b:b0:2a5:3753:6050 with SMTP id pj11-20020a17090b4f4b00b002a537536050mr3978152pjb.46.1712671942536; Tue, 09 Apr 2024 07:12:22 -0700 (PDT)
MIME-Version: 1.0
References: <SN6PR08MB484796C238E42AD91D29FA5F9B3E2@SN6PR08MB4847.namprd08.prod.outlook.com> <CABCOCHQk6BovHW7FA_moB+xrs8B1TH8eKmyiC1bco8WregvqBg@mail.gmail.com> <BN9PR11MB537127401708C17E194EC115B83E2@BN9PR11MB5371.namprd11.prod.outlook.com> <CABCOCHQi-Wqt+mCDho9b4w3HgC0xNeMq8iRC-GR4rmZGSdH8Kw@mail.gmail.com> <BN9PR11MB537147435D402C2BF6782A36B83D2@BN9PR11MB5371.namprd11.prod.outlook.com> <CABCOCHRS-SLii=Jtn8THCeFV2Vi5JX393PO+4_LJAvHqEpNANQ@mail.gmail.com> <LV8PR11MB8536C6271F04BE8B12A0B9DBB5072@LV8PR11MB8536.namprd11.prod.outlook.com>
In-Reply-To: <LV8PR11MB8536C6271F04BE8B12A0B9DBB5072@LV8PR11MB8536.namprd11.prod.outlook.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Tue, 09 Apr 2024 07:12:11 -0700
Message-ID: <CABCOCHTrzWN1vg3mnCS2dXnb5067hReRwFN50Z3MUZiaT0G7hw@mail.gmail.com>
To: "Rob Wilton (rwilton)" <rwilton@cisco.com>
Cc: "Jason Sterne (Nokia)" <jason.sterne=40nokia.com@dmarc.ietf.org>, "netmod@ietf.org" <netmod@ietf.org>, "Joe Clarke (jclarke)" <jclarke@cisco.com>
Content-Type: multipart/alternative; boundary="000000000000c0978c0615aa8217"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/Vu2jKLZHHVHJZxHohqlu03V4mNg>
Subject: Re: [netmod] YANG Versioning: filename recommendations for YANG Semver
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 09 Apr 2024 14:12:27 -0000

On Tue, Apr 9, 2024 at 7:01 AM Rob Wilton (rwilton) <rwilton@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-bounces@ietf.org> on behalf of Andy Bierman <
> andy@yumaworks.com>
> *Date: *Wednesday, 3 April 2024 at 19:07
> *To: *Joe Clarke (jclarke) <jclarke@cisco.com>
> *Cc: *Jason Sterne (Nokia) <jason.sterne=40nokia.com@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) <jclarke@cisco.com>
> wrote:
>
>
>
>
>
> *From: *Andy Bierman <andy@yumaworks.com>
> *Date: *Tuesday, April 2, 2024 at 17:40
> *To: *Joe Clarke (jclarke) <jclarke@cisco.com>
> *Cc: *Jason Sterne (Nokia) <jason.sterne=40nokia.com@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) <jclarke@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
>
>
>
>