Re: [netmod] YANG Versioning: Key Issue #1 - Allow NBC changes in YANG 1.0 & YANG 1.1 or not?

Andy Bierman <andy@yumaworks.com> Mon, 24 July 2023 00:26 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 5669BC151093 for <netmod@ietfa.amsl.com>; Sun, 23 Jul 2023 17:26:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.095
X-Spam-Level:
X-Spam-Status: No, score=-7.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_HI=-5, 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=ham 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 P9kMlrnHUeyk for <netmod@ietfa.amsl.com>; Sun, 23 Jul 2023 17:26:11 -0700 (PDT)
Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com [IPv6:2a00:1450:4864:20::12c]) (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 70A59C151091 for <netmod@ietf.org>; Sun, 23 Jul 2023 17:26:11 -0700 (PDT)
Received: by mail-lf1-x12c.google.com with SMTP id 2adb3069b0e04-4fdddf92b05so5157231e87.3 for <netmod@ietf.org>; Sun, 23 Jul 2023 17:26:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks.com; s=google; t=1690158369; x=1690763169; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=k2vJLhs8ZSBnoP1ed+Qs6V08fYRRC0I4HQltwnbgPVo=; b=q7++L8GNkJXNyXvlcjfLVfp/AA4Yr2fUi5WD8W68nif9wNWj7o32/CwX8LQQ3DLh9O hOUA7wtTrn2ftHwWkk5kOSXUcvAieJSl6KrD2BxKkwndaq+DhOlJZBIL0FSt3iQDPRV4 U1PCt2h/2jbuxG/9k7+sVPDq0IQLl4fXY8c2XLdjqPZ0uL1GjOIwx4OajcUjzKCmsARH 1tXVN4HRS1b/XeKVbSR1VInPfvXwzALhMBqoYzfr2tFq4kZfDXzbgLwUD1lFGUqxZmap n49lTEn7E86DlxezfKcirECvOINonh4BidJirQ7rFvEmZDb1jUAHbeNR8+xJIqVvusVE 4SOg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690158369; x=1690763169; 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=k2vJLhs8ZSBnoP1ed+Qs6V08fYRRC0I4HQltwnbgPVo=; b=ZTBdIU+ryA2gJ4gkjetKnuHgo6Wn0BgCe8eHU2RZaEbOk8SMG3tz6MSsAAkBhoAMz5 xQ1R4qyMnDdCbruTMCVRuWp8GKbWy/OeudzyMIZr9D1zuRIdg7QRtWK0JDwbsDmWKHvk eJtNeJ4Ck4uP/vFtJTchsEZIDnANqxQlvwLol75k8MGARbSL5R4y2IY215WdMyULuEsK g4xSuFQk12V7+eUlyat5oA8dnDTKQIppT7te4RE893llmyDMDRpmltuPo2l8ZhbEz7iH VzPwIaZuz82aEEOD39H7BokIz+f1HgoFqSy40ZPFzRpbWiT05gKlD8Brawo07CoKaUa6 WiKg==
X-Gm-Message-State: ABy/qLbcbqARUimIiZ39GY97tAO8iLcIbwogpNfpL9Efu9HtB7QGx4tb FMntEo/Is+YAQo1cwzXax+oal5N1BMhmvDFdiqn1tXiqBgWiRAg1
X-Google-Smtp-Source: APBJJlEJBs/9BZWMZe5wYIhk/IJ5EuhLYmcdeOgNFazT66Jmhv+mq6G/CpcHLX6esgFaiU4Fg7zosmHk2ToHZ7T+mQk=
X-Received: by 2002:a05:6512:3e0d:b0:4f8:68a3:38e2 with SMTP id i13-20020a0565123e0d00b004f868a338e2mr5245634lfv.0.1690158369325; Sun, 23 Jul 2023 17:26:09 -0700 (PDT)
MIME-Version: 1.0
References: <DM6PR08MB5084CA2A7EAF55F67D8851D19B3BA@DM6PR08MB5084.namprd08.prod.outlook.com> <20230718.134758.2206037224145407934.id@4668.se> <CABCOCHSRbTfwTHHK3q3U-8GSBvK9x0epjyKWphtmO3cR+xFefQ@mail.gmail.com> <PAWPR07MB927491FEFD053A977FA3DB96F002A@PAWPR07MB9274.eurprd07.prod.outlook.com>
In-Reply-To: <PAWPR07MB927491FEFD053A977FA3DB96F002A@PAWPR07MB9274.eurprd07.prod.outlook.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Sun, 23 Jul 2023 17:25:58 -0700
Message-ID: <CABCOCHQM-R-efhvukKUbk_eT0UKnJA8JECrvhN3dYRn_5FXOog@mail.gmail.com>
To: Balázs Lengyel <balazs.lengyel@ericsson.com>
Cc: Martin Björklund <mbj+ietf@4668.se>, "netmod@ietf.org" <netmod@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000037dc16060130a911"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/Ye9lU_d_QeUXe4q7KzJeTRJdy2Y>
Subject: Re: [netmod] YANG Versioning: Key Issue #1 - Allow NBC changes in YANG 1.0 & YANG 1.1 or not?
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: Mon, 24 Jul 2023 00:26:15 -0000

On Sun, Jul 23, 2023 at 5:08 PM Balázs Lengyel <balazs.lengyel@ericsson.com>
wrote:

> Hello Andy,
>
> In 3GPP we have endless debates about what is a bugfix. If the
> functionality will not work it is a bugfix. If it works in a bad way it is
> or maybe not a bugfix. If it works just in an ugly way is it a bugfix?
>
> Conclusion: it is not possible to define clear criteria about what is a
> bug and what is an improvement.
>


It is easy to change MAY to SHOULD NOT in the versioning draft.

IMO changing MUST NOT to MAY is unacceptable.
The versioning draft is attempting to completely toss out all of the YANG
update rules.
Changing the normative text to SHOULD NOT instead of MAY does not require
any specification of a bugfix.


Regards Balazs
>


Andy


>
>
> *From:* netmod <netmod-bounces@ietf.org> *On Behalf Of *Andy Bierman
> *Sent:* Wednesday, 19 July, 2023 10:13
> *To:* Martin Björklund <mbj+ietf@4668.se>
> *Cc:* netmod@ietf.org
> *Subject:* Re: [netmod] YANG Versioning: Key Issue #1 - Allow NBC changes
> in YANG 1.0 & YANG 1.1 or not?
>
>
>
>
>
>
>
> On Tue, Jul 18, 2023 at 4:48 AM Martin Björklund <mbj+ietf@4668.se> wrote:
>
> What about Option 4 - Pragmatic Adherence to Current RFC7950 Rules
>
>
>
>
>
> This is the approach I also suggested on the mailing list.
>
>
>
> - As it works today; the IETF *has* published bugfixed modules that break
> the
>   rules.  (and many vendors do this as well)
> - (Possibly) Introduce rev:non-backwards-compatible
>
> This would allow 6991bis to update date-and-time to follow the updated
> semantics for RFC3339 timestamps (which imo is the only reasonable
> thing to do - the consuequences of this change is handled by SEDATE).
>
>
>
>
>
> The important thing in each case is to consider
>
> the expected impact on the real world and real deployments.
>
>
>
> IMO a bugfix should be OK, even if the rules in RFC 7950 say it is an NBC
> change.
>
> But this is not the same thing as changing the rules in a new document to
> shift the
>
> implementation burden to the client.
>
>
>
> This is only an IETF issue and the burden should be on a WG to convince
> the IESG and IETF
>
> that making the NBC change is a bugfix and should be allowed as a special
> case.
>
>
>
>
>
>
> /martin
>
>
>
> Andy
>
>
>
>
> "Jason Sterne (Nokia)" <jason.sterne@nokia.com> wrote:
> > Hi all,
> >
> > At the request of the NETMOD chairs, and on behalf of the YANG
> Versioning weekly call group, here's a summary of Key Issue #1 for the
> versioning work (i.e. for the Module Versioning and YANG Semver WGLC).
> >
> > We'd like to suggest that the WG has a strong focus on deciding on this
> specific issue first. Then we'll move on to tackle other key issues. The
> idea is to try and avoid getting tangled in a web of multiple intertwined
> issues.
> >
> > Key Issue #1 is the following:  Allow NBC changes in YANG 1.0 & YANG 1.1
> or not?
> >
> > For now please avoid debating other issues in this thread (e.g. multiple
> vs single label schemes, whether YANG semver is a good scheme, etc). Let's
> focus on K1 and work towards a WG decision.
> >
> > ###################################
> > K1) Allow NBC changes in YANG 1.0 & YANG 1.1 or not?
> >
> > Option 1 - Update RFC7950 to Allow NBC Changes
> > -----------------------------------------------------------------------
> > - Module Versioning modifies 7950 to allow NBC changes
> > - guidance that NBC changes SHOULD NOT be done (impact to user base)
> > - rev:non-backwards-compatible is a YANG extension
> >     - introduction in published YANG does not impact current tooling
> (ignored until recognized)
> > PROS:
> > - address fundamental requirement of this versioning work (requirements
> doc)
> > - allows gradual adoption in the industry. YANG authors can immeditately
> start publishing with the new extensions.
> > - move faster to produce modules in the IETF (accept some
> errors/iteration)
> > - address the liaison from external standards bodies in a reasonable
> timeframe
> > - authors believe work is ready
> > - broad vendor support
> > - rough alignment with OpenConfig (use YANG 1.0 + OC Semver)
> > CONS:
> > - perception that we're "cheating" by not bumping our own spec's version
> > - Not fundamentally mandatory for clients or servers using YANG
> (mandatory for YANG claiming conformance to Module Versioning).
> >
> > Option 2 - RFC7950-bis: Publish a new version of the YANG language to
> allow NBC changes
> > -----------------------------------------------------------------------
> > - NBC changes only allowed in a new (future) version of YANG
> > - TBD: YANG 1.2 vs 2.0 (note YANG 1.1 isn't BC with YANG 1.0)
> > - Content = Module Versioning + YANG Semver + very limited YANG NEXT
> items
> > - rev:non-backwards-compatible tag is a language keyword
> >     - consequence: any use of it breaks all YANG 1.0/1.1 tooling that
> hasn't been updated
> > - TBD how to handle small NBC changes in IETF in the short term (i.e.
> non conformance to 7950)?
> >     - RFC6991 bis - change the use/meaning of ip-address (or change
> datetime)
> >               - YANG date-and-time (because of SEDATE date string
> changes)
> >
> > PROS:
> > - address fundamental requirement of this versioning work (requirements
> doc)
> > - clear delineation of changes in the YANG language
> > - consistent with philosophy that version number changes for significant
> changes in a spec (avoids concern that YANG is changing without bumping the
> version of YANG)
> > - can do this with mandatory YANG keywords which helps increase
> conformance to the new rules
> > CONS:
> > - difficult to roll out in the industry. Tools need upgrading before
> they won't error on a YANG 1.2 module.
> > - Authors can't publish YANG 1.2 until their users have upgraded their
> tools. Everyone has to move at once.
> > - likely large delay in producing the work (unclear what would go into
> YANG 1.2, may not reach concensus easily on N items)
> > - delay in follow up work (Packages, Schema Comparison, Version
> Selection)
> > - continue dominating WG effort for longer (opportunity cost)
> >
> > Option 3 - Strict Adherence to Current RFC7950 Rules
> > -----------------------------------------------------------------------
> > - IESG will be unable to approve any RFCs that make any changes to IETF
> YANG modules that don't strictly conform to those rules
> >     - RFC6991 bis would not be allowed to change the use/meaning of
> ip-address (or change datetime)
> >               - YANG date-and-time couldn't change (related to SEDATE
> date string changes)
> > PROS:
> > - clear rules for entire industry including IETF
> > CONS:
> > - doesn't address agreed/adopted requirements of YANG versioning work
> > - incorrect assumption in tool chains, etc that NBC changes don't
> happen. Silent failures.
> >
> > Jason (he/him)
> >
>
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod
>
>