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

Christian Hopps <chopps@chopps.org> Mon, 24 July 2023 23:41 UTC

Return-Path: <chopps@chopps.org>
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 D3A1BC14F747 for <netmod@ietfa.amsl.com>; Mon, 24 Jul 2023 16:41:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.894
X-Spam-Level:
X-Spam-Status: No, score=-1.894 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
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 4DZsSY1diD_S for <netmod@ietfa.amsl.com>; Mon, 24 Jul 2023 16:41:43 -0700 (PDT)
Received: from smtp.chopps.org (smtp.chopps.org [54.88.81.56]) by ietfa.amsl.com (Postfix) with ESMTP id 62063C151062 for <netmod@ietf.org>; Mon, 24 Jul 2023 16:41:43 -0700 (PDT)
Received: from dhcp-950d.meeting.ietf.org.chopps.org (dhcp-950d.meeting.ietf.org [31.133.149.13]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (Client did not present a certificate) by smtp.chopps.org (Postfix) with ESMTPSA id 8C19D7D01C; Mon, 24 Jul 2023 23:41:42 +0000 (UTC)
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> <CABCOCHQM-R-efhvukKUbk_eT0UKnJA8JECrvhN3dYRn_5FXOog@mail.gmail.com> <PAWPR07MB9274F060B5C78C1C7FD17796F002A@PAWPR07MB9274.eurprd07.prod.outlook.com>
User-agent: mu4e 1.8.14; emacs 28.2
From: Christian Hopps <chopps@chopps.org>
To: Balázs Lengyel <balazs.lengyel=40ericsson.com@dmarc.ietf.org>
Cc: Andy Bierman <andy@yumaworks.com>, netmod@ietf.org
Date: Mon, 24 Jul 2023 16:37:19 -0700
In-reply-to: <PAWPR07MB9274F060B5C78C1C7FD17796F002A@PAWPR07MB9274.eurprd07.prod.outlook.com>
Message-ID: <m28rb43mj2.fsf@dhcp-950d.meeting.ietf.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/BHo1EUD0yi0kEKuSlrUy_uA95pQ>
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 23:41:47 -0000

Balázs Lengyel <balazs.lengyel=40ericsson.com@dmarc.ietf.org> writes:

> Hello Andy,
>
> I assume you are referring to the sentence “A new module revision MAY
> contain NBC changes” from the versioning draft.
>
> IMHO the authors agree that NBC changes are bad. They should be
> allowed but discouraged.

That's what "SHOULD NOT" means.

> Would a sentence like
>
> “A new module revision MAY but SHOULD NOT contain NBC changes … ”
>
> be OK ?
>
> I think the MAY part is also needed< because that is what we are
> introducing as new compared to 7950.

IMO using both MAY and SHOULD NOT is confusing and unnecessary. "SHOULD NOT" allows a thing while discouraging it.

Thanks,
Chris.


>
> be agreeable?
>
> Regards Balazs
>
>
>
> From: Andy Bierman <andy@yumaworks.com>
> Sent: Sunday, 23 July, 2023 17:26
> To: Balázs Lengyel <balazs.lengyel@ericsson.com>
> Cc: Martin Björklund <mbj+ietf@4668.se>; netmod@ietf.org
> Subject: Re: [netmod] YANG Versioning: Key Issue #1 - Allow NBC
> changes in YANG 1.0 & YANG 1.1 or not?
>
>
>
>
>
>
>
> 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
>
>
>
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod