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

Andy Bierman <andy@yumaworks.com> Fri, 21 July 2023 01:52 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 9A892C15154D for <netmod@ietfa.amsl.com>; Thu, 20 Jul 2023 18:52:40 -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 T5eRt1yjB881 for <netmod@ietfa.amsl.com>; Thu, 20 Jul 2023 18:52:36 -0700 (PDT)
Received: from mail-lj1-x22b.google.com (mail-lj1-x22b.google.com [IPv6:2a00:1450:4864:20::22b]) (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 68441C15155A for <netmod@ietf.org>; Thu, 20 Jul 2023 18:52:36 -0700 (PDT)
Received: by mail-lj1-x22b.google.com with SMTP id 38308e7fff4ca-2b962535808so21197611fa.0 for <netmod@ietf.org>; Thu, 20 Jul 2023 18:52:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks.com; s=google; t=1689904354; x=1690509154; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=ljYJnSIglTTTffoO8U55myMeMON52/q8eitHT8CDE1w=; b=vuPwmFybcvUuerJdSkExr3W5aVOIeyPeuYvkCpgobaY14QG/TG0DxYvV7Wslw7a692 e7To0YCY27d0lfXVqklErXLhqF8zCczXQrpjfuOpzk9P1wgtoaEMgfW+GsyTUTgOCvCM 81CgeGBx4Q+yGaaQ9nnz3UYiKaisvXHuqWkKm42VZfVXy4T1+zMTvxaTM73YnbuWy10c SB1yuNWTcnG8ygG9ERRAqyTSu/js9CMBtpSJ+dcJurDFt5kZYqfJ5q7UzfK2FNaNvX7s Jzux/t9sKF2YfCgwnArGEX0MqyS41dIgOhJCdU0gpQhvE2EjyOr5M1ZuoL+SKTZO++wV H5WA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689904354; x=1690509154; 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=ljYJnSIglTTTffoO8U55myMeMON52/q8eitHT8CDE1w=; b=KRQjtLgtqe2Y2R+82n+Qp/dUFvOjpsWXeVZoALgXIJMPNMLVFL0ZtczZ8GiXqkc6Fb TWSdUSHjpr3E3RtwmvMUpH6vRViucN9zyirxeBCCW1Uznjffg1MxcocIQWBLSVjmV+rG 9qmb25zL/ei2qGPFp2mDYe9BNQZzjwThHCMYFNnNlgTBNh6EwzTopPrZ5JA8EouX2pg1 q8Dg5ok7XGqwFlZi16tXB5Liep3dOvPRtQb4dys0YzWSCXpPFkXj3on1iu8NLFuD1AUQ 1OSDyVkBik53EQ3TpGCT0peeGnkbeNfb9k7kDiOIg4YyA29tEzF8dcv9n82+omhAbHR1 xamw==
X-Gm-Message-State: ABy/qLZ5gb/cMO4rTTNTlvZZr8D/WNqJlVP/S6y7fMixQQgsjoxPn3Ud MLihQkyXAJ3mPaT4l7VupaH235Kqwf5BOS4/WbtA2Q==
X-Google-Smtp-Source: APBJJlGUWz8KZRAW//h9P8oKPQEeNqBeE5FZILoaRBzseTde6xm2FGkoQpfZlG56TaJGFQuJh2Ni4zLzId9+EQnX8uY=
X-Received: by 2002:a19:7419:0:b0:4fb:8ff3:1f72 with SMTP id v25-20020a197419000000b004fb8ff31f72mr240927lfe.1.1689904353622; Thu, 20 Jul 2023 18:52:33 -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> <DM6PR08MB5084BEA071F353F785F4CEF19B39A@DM6PR08MB5084.namprd08.prod.outlook.com>
In-Reply-To: <DM6PR08MB5084BEA071F353F785F4CEF19B39A@DM6PR08MB5084.namprd08.prod.outlook.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Thu, 20 Jul 2023 18:52:22 -0700
Message-ID: <CABCOCHTUP7AtZADb9=MqkxNofJzA9cfoQt0JtifwjFxpu7FkJw@mail.gmail.com>
To: "Jason Sterne (Nokia)" <jason.sterne@nokia.com>
Cc: Martin Björklund <mbj+ietf@4668.se>, "netmod@ietf.org" <netmod@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000b3d5550600f584f5"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/BicVSfMumM43Hl0yzfd0ukhmmzQ>
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: Fri, 21 Jul 2023 01:52:40 -0000

On Wed, Jul 19, 2023 at 1:13 PM Jason Sterne (Nokia) <jason.sterne@nokia.com>
wrote:

> We considered this approach as well in the weekly calls but in the end
> felt that was just dodging the problem. We have a set of “MUST” rules that
> we know need to occasionally be broken. Shouldn’t we officialize this so
> our behavior and documents match?  (i.e. SHOULD NOT instead of MUST)?
>
>
>
> It isn’t just an IETF issue. These same exceptions occur in vendor models,
> 3GPP, etc. There are times when making the NBC change is the reasonable way
> to go.
>
>
>

https://datatracker.ietf.org/doc/html/draft-ietf-netmod-yang-module-versioning#name-updating-a-yang-module-with

I do not support these changes in any version of YANG.
The advice to the community is non-specific and obviously not backward
compatible with RFC 7950.
The new advice is that any change at all in a YANG module is now allowed.
Instead of normative rules, RFC 7950 simply advises whether the optional
'non-backwards-compatible' extension could be applied or not.
This is not a good change, especially on top of YANG 1.1.

I could see if specific MUST NOT rules were changed to SHOULD NOT instead.
A blank check using the current "MAY" (3.1, para 2)  is not a good idea.


Jason
>

Andy


>
>
> *From:* Andy Bierman <andy@yumaworks.com>
> *Sent:* Wednesday, July 19, 2023 1:13 PM
> *To:* Martin Björklund <mbj+ietf@4668.se>
> *Cc:* Jason Sterne (Nokia) <jason.sterne@nokia.com>; netmod@ietf.org
> *Subject:* Re: [netmod] YANG Versioning: Key Issue #1 - Allow NBC changes
> in YANG 1.0 & YANG 1.1 or not?
>
>
>
>
>
> *CAUTION:* This is an external email. Please be very careful when
> clicking links or opening attachments. See the URL nok.it/ext for
> additional information.
>
>
>
>
>
>
>
> 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
>
>