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

Andy Bierman <andy@yumaworks.com> Wed, 03 April 2024 18:06 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 915D3C14F73E for <netmod@ietfa.amsl.com>; Wed, 3 Apr 2024 11:06:53 -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_DNSWL_NONE=-0.0001, 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 VM9CJpP2VjFJ for <netmod@ietfa.amsl.com>; Wed, 3 Apr 2024 11:06:49 -0700 (PDT)
Received: from mail-pj1-x1032.google.com (mail-pj1-x1032.google.com [IPv6:2607:f8b0:4864:20::1032]) (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 9799BC14F739 for <netmod@ietf.org>; Wed, 3 Apr 2024 11:06:44 -0700 (PDT)
Received: by mail-pj1-x1032.google.com with SMTP id 98e67ed59e1d1-29f69710cbbso74157a91.1 for <netmod@ietf.org>; Wed, 03 Apr 2024 11:06:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks.com; s=google; t=1712167603; x=1712772403; 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=AKojCgGYEQSVRekm/33vvuaUUe0cMXIYsTO9pY48z2I=; b=KeX6erMhXfqmkNhe27vieahHcRO2HYLUxZhNmtTFXg3emBRNtVofUoqDL4RC47qpE9 1t57b/RIGzvGt8iqzaV+piT9Ghh+UZmM7BE7YJkMXt7OAY0CMytaYxZJpLRqZazastze RnNehEr7ivHc3uYEZa9n1Yr86sVR+Vxab3pUHgqCYTT8j1DvA33pu/t/qOvlYwdHYi3R xWQBr4Wr3AwaaegQuLhxnXQuLDXokG0UFEuH2UkkHymNYRortjU99FJSXtH9HPy5tlVd NInS0sCm+U9cmvyRAWE1awDk4QaXuECKoL3yYTvplGasQzh+c5wWoKPFqV7YpygkFI1z 1iOw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712167603; x=1712772403; 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=AKojCgGYEQSVRekm/33vvuaUUe0cMXIYsTO9pY48z2I=; b=bUhDjs+645+V1lXjH4niWaLMhUZlR0Ia2yOHqlCP3o6bK2QWnvayQccEzS6Fz/eCUy mgu8ES+arj/U8pacUmX8uHv8AsE28X5wJju8QVPOyMLRK4P7pAyOL3hAK/q2uomVjr7B 8UXkoKXuLM1dWdrgy2Jtwlsw0jywXA7v6DOfeWU1GR3XUp0gX5UIm0Q0CPUBWfEs5m3Q fRVrvBGMi43yZaRArVnzLLmYaf0X7n88dJIRHK18QuOPfA6Iy7B4se7R8ZklCq3X2r3A 94RgWXY3/ks9ZuQ6eCkZTDsaksHX52osDAtPBdfojNsbZOMEahH+RHCEd5ET3yJCDvb6 /RsA==
X-Forwarded-Encrypted: i=1; AJvYcCUq+ZPKZW/r9SV4NexAObDYTArl1nR9ulS7wqRx7dVW6puGghKYTPsvPuDoSmrJjP0oIw1pN/zVtfKeVGeEnrs=
X-Gm-Message-State: AOJu0Ywk2mAb3431PjPa/NVxgQ7PqUf9zJXa6TZHiwqRtZl5XJOKnpLg V7Zl4XyErISxEgnzMf1xPXuIzWLn2wPh7G0u5Dw0ohgcp5kPvtyy24U4fbmH0yV6qjxsOvC8SJG pp0CxT77kmOkWVkzUVutjuSw6zq+Bi7ZyEzP0oPH+NnOJ23Da
X-Google-Smtp-Source: AGHT+IGiysiJDKMj8fdKc6OMgVJE9JK1znzKByjPeaAOLqA3pV7rHEY66wtn8CsqPeSg14uCdYnUJtdlJSy5aZg2cVM=
X-Received: by 2002:a17:90a:b893:b0:2a2:99e1:f172 with SMTP id o19-20020a17090ab89300b002a299e1f172mr3243907pjr.21.1712167603493; Wed, 03 Apr 2024 11:06:43 -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>
In-Reply-To: <BN9PR11MB537147435D402C2BF6782A36B83D2@BN9PR11MB5371.namprd11.prod.outlook.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Wed, 03 Apr 2024 11:06:32 -0700
Message-ID: <CABCOCHRS-SLii=Jtn8THCeFV2Vi5JX393PO+4_LJAvHqEpNANQ@mail.gmail.com>
To: "Joe Clarke (jclarke)" <jclarke@cisco.com>
Cc: "Jason Sterne (Nokia)" <jason.sterne=40nokia.com@dmarc.ietf.org>, "netmod@ietf.org" <netmod@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000cd7c1606153515b2"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/k0Skt2q8FGg3Up0iv5NkuVAmPkI>
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: Wed, 03 Apr 2024 18:06:53 -0000

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
>
>
>