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

Andy Bierman <andy@yumaworks.com> Tue, 25 July 2023 17:39 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 71403C151995 for <netmod@ietfa.amsl.com>; Tue, 25 Jul 2023 10:39:29 -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=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 TWxqBkznrPrR for <netmod@ietfa.amsl.com>; Tue, 25 Jul 2023 10:39:25 -0700 (PDT)
Received: from mail-lj1-x233.google.com (mail-lj1-x233.google.com [IPv6:2a00:1450:4864:20::233]) (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 0F274C1519B2 for <netmod@ietf.org>; Tue, 25 Jul 2023 10:39:25 -0700 (PDT)
Received: by mail-lj1-x233.google.com with SMTP id 38308e7fff4ca-2b9352ff1aeso86494011fa.1 for <netmod@ietf.org>; Tue, 25 Jul 2023 10:39:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks.com; s=google; t=1690306763; x=1690911563; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=IAibmDOK1VeVMT/OK7QeIr2ahKolDM2wK+cDSSbUTio=; b=ud41/HGpmRkN37A5yCsypXuwzePXS4t+vWZ+cbzu2TGrC/A6AFbygt+TMiLoXVJuyi kfWBaDUB2tk2F5XmWyKZ6+tVDNXx0Nyry6baQpn917eXwe/tPa3RQQocW9kXW4zIWNKh awF/7/KCiF/cGYWX0O4Fpozi+otcRQWZQhR5lxIufLGmQhBx6CUPZN3mPcQvKq5s7tbC FYAM0/ykTM7fb3fDB0T86M9V/a93oioHD2eVriGf2b1BDkspgWVcGa3E1+2Pit2ZyEaq zSIoUSjnbrR+DC/gyrD+DiXs1EOE0UdunaTEbs+6sSSRYEvaET+QPzu2I4JZyNkaGSAj N5Zw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690306763; x=1690911563; 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=IAibmDOK1VeVMT/OK7QeIr2ahKolDM2wK+cDSSbUTio=; b=HDYag0cA1Y8Huvuh12m6BidyrCcN/r/4d9U5DXGNE885aN9crALNUnWF3W72WWY3DQ Ux1WOhKUQYZ5fCtFDFyDkMQAaWty/gv1pyYJ+HaUlRoDqd+aIpwnljKNV17/nsh1fln2 laKXEE/XYRDE1We9bWUZ915jSYNr3sNXZ6DNvjvFkouw0tCk8yC3uFdhsrmuRREWonPc PtlQrwsg4tItpdi/O8q1wjH4J0fsx8Q5sJfy8dDTPeGhiF+ZiqDC/ZtvCZDT19HqfGLU x8GijUlbrVidT96zPzgzqfUFbM1mQwtGhvqF7PmXneck2oaneMNXAegaiuZkm5xxP4Tg vgOQ==
X-Gm-Message-State: ABy/qLbaqp3kUsy2HUyEaCR92Sq++R06OczVYwIUMeXBlZc6FKS7phNr g4fUtlDHZ0/5cbwjtJBc0fMB8MS6OL98FhWkdwA8SOA0wKAlQJIeRpc=
X-Google-Smtp-Source: APBJJlEb0txfpISoulNk/hWkzSfrgKHphIiwwKGmSI7pKKgs7/KL1BbWMl33JDDI374U7ZbRbddWp1mGoF9y49TdhO0=
X-Received: by 2002:a2e:a41c:0:b0:2b7:a64:6c3d with SMTP id p28-20020a2ea41c000000b002b70a646c3dmr8130174ljn.44.1690306762960; Tue, 25 Jul 2023 10:39:22 -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> <CABCOCHQM-R-efhvukKUbk_eT0UKnJA8JECrvhN3dYRn_5FXOog@mail.gmail.com> <PAWPR07MB9274F060B5C78C1C7FD17796F002A@PAWPR07MB9274.eurprd07.prod.outlook.com> <m28rb43mj2.fsf@dhcp-950d.meeting.ietf.org>
In-Reply-To: <m28rb43mj2.fsf@dhcp-950d.meeting.ietf.org>
From: Andy Bierman <andy@yumaworks.com>
Date: Tue, 25 Jul 2023 10:39:11 -0700
Message-ID: <CABCOCHQfqd2aObgvAgA6vNOViZMeJijCtY0din_U=4y2=TGEHw@mail.gmail.com>
To: Christian Hopps <chopps@chopps.org>
Cc: Balázs Lengyel <balazs.lengyel=40ericsson.com@dmarc.ietf.org>, netmod@ietf.org
Content-Type: multipart/alternative; boundary="0000000000002b08aa0601533618"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/a6L8mgKliniMyCwBoLTnTTnpxAM>
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: Tue, 25 Jul 2023 17:39:29 -0000

On Mon, Jul 24, 2023 at 4:41 PM Christian Hopps <chopps@chopps.org> wrote:

>
> 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.
>
>
Indeed.
https://datatracker.ietf.org/doc/html/rfc2119

It is clear that 'SHOULD NOT' is the correct term and 'MAY' does not even
apply here.


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


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