Re: [netmod] Joint WGLC on "semver" and "module-versioning" drafts

tom petch <ietfc@btconnect.com> Mon, 26 June 2023 11:57 UTC

Return-Path: <ietfc@btconnect.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 6E16DC13AE4E for <netmod@ietfa.amsl.com>; Mon, 26 Jun 2023 04:57:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.899
X-Spam-Level:
X-Spam-Status: No, score=-6.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-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 (1024-bit key) header.d=btconnect.onmicrosoft.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 6-GslbuRX89e for <netmod@ietfa.amsl.com>; Mon, 26 Jun 2023 04:57:09 -0700 (PDT)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04on2132.outbound.protection.outlook.com [40.107.6.132]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 57992C13AE27 for <netmod@ietf.org>; Mon, 26 Jun 2023 04:56:54 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Asy9H6c/QWNHq5NZWYXpmmFyAijkYCSDlhmk+dmf4CTZZ3x7jCsKHOR5jqkbQ1R3ELOCriNkkeMv5uM4tsiuYwXdlSQDmm1tnEpsWJnxGUkORFmXsDK70iffOMYOR1Jg4ChqsZ9MeuKdm6kr8y883lL76tbIUNXsuXl2/NagrgfeP0ewFxFFAmDOZEuo+OB/az5fCRcNumImx6DrwwUoHV7fd8jCS3z88IBILib8T7e/uLXiFsk65krRXc8TS+2I62maHOvaTi4NdnzHO3Hw1H3xO2KbW6gZbR1h+006y2alq9EtblNZUILwdg422AcJmwhVyjrWf7S/g2VEan3U+w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=WU8yKpXmouJeHkwn7JrO9Q8TvBnZcvkIuVTxaeRLs3I=; b=QkOiO6mE7EgcqVfL3t9bQyUO7HfFBkh6JTAByR8WLm1yaxcO3M1CfDa40xvQzqyRy7PYRxMyK6G/zOW0wgEMTsdfehMdXDta7fbe3AlQlfH5OyMqSafMroryw22aPzVPZQEUOfXWmOVFNImXP1zknBSmmG4wXRpl6oRRXTOFFLdA+NKfbe0J583F+cLqApjTFrwFQbg6FZpjcOE4+Tw3I+bjDL7/ftjO/EA7pH67c3RdkiBN+ib0gSQB0lUxgwsjBpCWj3kuGcLJpFXcOLqqvotl42FLQEb6RU0lkQIB+SFE37tJuzlVjJyfIj8t9kPwXGufOPTtfBmpKHjK16M1zw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=btconnect.com; dmarc=pass action=none header.from=btconnect.com; dkim=pass header.d=btconnect.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=btconnect.onmicrosoft.com; s=selector2-btconnect-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WU8yKpXmouJeHkwn7JrO9Q8TvBnZcvkIuVTxaeRLs3I=; b=owyPCZl+73D00CQFWJlLjaGhVdaFYOJW2kQEXBsc3cTPMswcAC/4r5gdd/7ELtB/ffmCQYc73i8kFdAKnuQSBwdT1kCh3+lAPTJEFznCnq4CDAH9A0CWlq2BybgBN1MJIm5mWVfd87L+mViKCs078slTTZ3RMuZb2lmuHU4bgI4=
Received: from AM7PR07MB6248.eurprd07.prod.outlook.com (2603:10a6:20b:134::11) by AS8PR07MB7576.eurprd07.prod.outlook.com (2603:10a6:20b:2a6::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.24; Mon, 26 Jun 2023 11:56:51 +0000
Received: from AM7PR07MB6248.eurprd07.prod.outlook.com ([fe80::a928:74cd:caef:f589]) by AM7PR07MB6248.eurprd07.prod.outlook.com ([fe80::a928:74cd:caef:f589%7]) with mapi id 15.20.6521.026; Mon, 26 Jun 2023 11:56:51 +0000
From: tom petch <ietfc@btconnect.com>
To: "Rob Wilton (rwilton)" <rwilton=40cisco.com@dmarc.ietf.org>, Martin Björklund <mbj+ietf@4668.se>
CC: "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: [netmod] Joint WGLC on "semver" and "module-versioning" drafts
Thread-Index: AQHZluz+oi47L2cyS0mKad1XozA89q96z9OAgAEnogCAACdigIAABs0AgACGTYCAAI+ZAIAAeBgAgAFABICACgXmgIAUIdNk
Date: Mon, 26 Jun 2023 11:56:51 +0000
Message-ID: <AM7PR07MB6248887F284B2AA9DF105644A026A@AM7PR07MB6248.eurprd07.prod.outlook.com>
References: <20230605.223251.336974778999487126.id@4668.se> <ykghe2tzoe2rqzh3brfbsuvvhswi7fzul5ygfnokuyih4t4emo@kpnvucchbed5> <BY5PR11MB41966AE860E22466F8037B6DB552A@BY5PR11MB4196.namprd11.prod.outlook.com> <20230607.092201.152004661869529702.id@4668.se> <BY5PR11MB4196D31C959323377AE83143B555A@BY5PR11MB4196.namprd11.prod.outlook.com>
In-Reply-To: <BY5PR11MB4196D31C959323377AE83143B555A@BY5PR11MB4196.namprd11.prod.outlook.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=btconnect.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AM7PR07MB6248:EE_|AS8PR07MB7576:EE_
x-ms-office365-filtering-correlation-id: f1095890-2791-456f-8d9c-08db763c6dcb
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: w2FGa+gh4CRnVm+JT/3LcukZYFrN5wnMLhAGwso+4erJ6A1rYD12wWN2Fkp3JLzg+9AH2o3EQVDvk7itD01XGVYzc8UIR0cwEB7kBl92jkeDKVAGVWd+O8PaKgBOZn4Wmn9m1JEGo30ZZMHzy3fiCJRPaRccmILMkefj2RgJd3AsMECFtKND35pvmzj7opqLplHnbeQmGfrtzDBhs5w2Kuftzqyyszki0LdHopgGNfs/wMM+1JcPb/+M+asplLUQsISB4yM7Qu+ZdgQ63Qgp1ZUbE/MCyMD0L6MkXBadJ2NiPMEUofTrk9VnuiIS1qjX8QhBOyBfT3Ae8PsjKQSFclXyqRf1IYawav3SwGMZekXfrFlH16KVnXPpseQOB2NO403pudSVtz9gZESdueDGcQ/TmfMP9t17oKa95+e22Uuw6yRli4LbE2B5AEJoSWIpjBCECR2tLk3C/Go4BYpmFzrTFvExyd8F0k+xPQINdUGS4digPpjI74Ikl9PgL3WxOFsSl9bJZ6V2RBYitNcQdHEDbm6gPrg+5955h0icFsvW26Wxu8dQ6twX8wExWi8BnnnwrdAVYQgCmX4c8fd+MZJXuFlRwQSq8trDSBrUSu5V4L6UAbK87TfWZCbOv30IKL5WWVbUggMAjXsIa7wD3w==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR07MB6248.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(376002)(396003)(39860400002)(136003)(366004)(346002)(451199021)(30864003)(2906002)(186003)(26005)(71200400001)(38100700002)(122000001)(66574015)(53546011)(9686003)(6506007)(52536014)(91956017)(41300700001)(83380400001)(76116006)(64756008)(66476007)(66556008)(66446008)(66946007)(8936002)(8676002)(33656002)(40140700001)(55016003)(38070700005)(82960400001)(7696005)(86362001)(110136005)(478600001)(4326008)(966005)(316002)(5660300002)(66899021); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: kbrLdK5M3TCP/JSJXYgheqh74/cD2D53NrzmEAezwnnQb0LxDaf5oNCy5ISLgzY6utlBq8OKEp0c8tZKcvE6MDJIQznUM2xzw5lrp9SRrYSTSDYNTLaEtZPznrjAfLetr8EBtC6wiX/vFwagWlZpzfhN1Z0J8oFo5ufkrBcMRg/+1T5HFro/AcadQYzwU4V7snYlkbX8tRH8AkIj/tcaytRJ98w+8LmI7d+JVb0RMugrQMEwZXu9NVL/tP1fBpeQkyfR+v/IaJ3HIONJH9c0Wwd3+C/Ut9d5Y4yLkI9n/LFQryl7Er4s0Geq+1WfT/WxupGOXGCmzHFEjPugAeNxfTW/v3qZJsTUswZCLnTpx6X7yeNjR4dk3scaa67xJTdu+7vOlTdS3b5kMH8v13sAcg87UeS+cQFKIQTUfnl/fWn2AKOmKP1OHqeMBBLKpvOR+y3vlhP/9bWkvlsc0nTUY4pgKRVvOc7l6G7BB8A7f4eh1dGWCBYcARbw55HPjPegHzfGjkShwKnczFKrehVVoJ0Nll+TdiLEcCZW2OM8NBm8pG3Bny6bTUACU27fBqDME0iPB64cICekxWgFl8dbG/jQolQTt6+vrg3PEOH9xB+ezdKUyYSK0YIKdTFiBqTJtCiYkquIKWjoCDyJSSaw+TExJFYN4q8AqYN9GzDw6Da47HO93QEZjx+SJW8/vUcBLgvGomDANvWVNjPleUeWarGICThJt+fcRWTV8ICTp3nKW5JWZpghoC9MtincuRi+WuzQ/MWkL1+dF6MPoKLEcLc0dTgYatqCmsXEJ/U9s8EtW1Jn8ct/XqwtaKN6LzGf97RceSok7DD0pigfntAon7NcbE6763piSFtfN1dOFJ2ZpirTbxH4JixzeZCN2fFN+NBYJxqNLKSFnBSIR8jx/pefxi67VJCW3LEgZSDd3LgxicAVScjyI3Eril29zSHwsoiUmE1wjOW+oVEVfs9MG6apSe/1F2XtJ2iYEKFI+BzmRO9bq+QucTbhbZeUrZ87tHm0vkoa3pn3guxondK9OQUXMxXNeh2U4UH7o28rpXqUChmAvvTvr87iN3hkU92x/siVV6RI2lliSOnx1ymUVXUvMxn+IZwCNk4wocddDHktE5H16M+gTrDNr9ZJGbrUKgFd39rFtYAZsUAVsZyZnKZq9xSf9zfWM4WCz5jxgof+Q0kJjuI7w0fIPeUvHEtdfvCr5S5AJ90Wk64gg7woXntrAuoMNixGPueqWpwZog6cAa+T8Zpo7BuLYzeht8jHD3vL6Uo8u9ux9CJCrYu7ZlN9cs6xlee1bZRRWsyKiKVuw5FXKIR8w1ZVtyzb6X70e2noLNYX1HgJ1H3vxPQOYfuM4L8JqJC+ib/RkuWWrXRKNiXZ74lQ9GF6mOlRTSihM3yzCJZq6YRM4PNGPLHj2C3pM9L6K8zHnW+wW51R92uohoCwTTVF9oXaFxKgftO/n1BYirbwjE3kcpPI7hFv2nw1a3AeX7IUYGfsOOaqnb4Meeh4M5hdXl841LaK1TMVKh858WivtUm1SKseKIin1kNFQhVXEeAL0YaSlzob2hg=
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: btconnect.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM7PR07MB6248.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f1095890-2791-456f-8d9c-08db763c6dcb
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jun 2023 11:56:51.4688 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: cf8853ed-96e5-465b-9185-806bfe185e30
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: wNtD7nAsgLNEvtn4RAZNd3nx7efJTk0xJOVArj3cp8YpCjJzO95fdYmvpr39pxdDoYT06CeE5YFy/g2sFQMgKQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR07MB7576
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/FRuejecX5mULI89VbmgRnWgTGKg>
Subject: Re: [netmod] Joint WGLC on "semver" and "module-versioning" drafts
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, 26 Jun 2023 11:57:13 -0000

From: netmod <netmod-bounces@ietf.org> on behalf of Rob Wilton (rwilton) <rwilton=40cisco.com@dmarc.ietf.org>
Sent: 13 June 2023 17:25

Hi Martin,

> -----Original Message-----
> From: netmod <netmod-bounces@ietf.org> On Behalf Of Martin Björklund
> Sent: 07 June 2023 08:22
>
> But the two drafts go way beyond fixing the problem your three
> examples illustrate.
[Rob Wilton (rwilton)]

The actual goals of this work (i.e., the set of drafts) is aiming to address the requirements stated here: https://datatracker.ietf.org/doc/html/draft-ietf-netmod-yang-versioning-reqs-07.  Although never taken to RFC, I believe was effectively last called and achieved WG consensus for the NETMOD WG.  Hopefully the chairs can chime in and keep me honest if I'm wrong on this point.

<tp>
May be or may be not but there is no such I-D in the datatracker for NETMOD nor can it be downloaded from the FTP site so effectively there are no requirements to justify this substantial change.  Based on what I can access, the module versioning I-D does not look like a good idea.

Tom Petch

The shape/structure/content of the drafts is very similar to when these documents were adopted in March 2020:

Your comments on these document at adoption time are here (https://mailarchive.ietf.org/arch/msg/netmod/r5TD0NDNgUbtX9EHZfB5hJJctN8/).  From that email, it is clear that you didn't support the YANG Semver scheme, but my reading is that you were broadly supportive of the YANG module versioning draft.

Here are your review comments of the YANG module versioning draft at adoption time:
https://mailarchive.ietf.org/arch/msg/netmod/MTGomxcdyNOmB7mgsFhItLKNJgk/

Here is a thread where you are discussing supporting different revision label schemes:
https://mailarchive.ietf.org/arch/msg/netmod/cEBiZKUSk0n7BeFwdiyaejc_Tsg/

I appreciate that everyone has the right to change their mind at any point, but as stated previously, I don't think that the shape of the solution has really changed substantially since they were adopted.


  If the goal is to indicate that non-backwards
> compatible changes have occured, a single new extension statement
> could solve that.  (As I probably have stated before, personally I
> don't think this is necessary).

That is one goal.  Another is to acknowledge that non-backwards-compatible changes will occur, potentially even on branches.  Another is to align with the versioning scheme that is being broadly used by the industry (but with extensions to support a branched history).


>
> Apart from the updates to RFC 7950 section 11, I am mostly concerned
> about the additional complexity the "pluggable" revision-label scheme
> brings.
[Rob Wilton (rwilton)]

It feels like we are somewhat going in circles:

1.The original proposal was to embed regular Semver 2.0.0 for the version numbers.

2. That scheme was extended to what is being labelled as "Yang Semver" because regular Semver didn't support some level of branching that the vendors require to support customers on older releases over a much longer time period.  Semver 2.0.0 works best when the updates are always committed to the head of a linear sequence of versions, and if a bug needs to be fixed in an older version then the user is forced to migrate to the latest version.

3. If I recall correctly, you didn't like YANG Semver (and possibly not even Semver), and if I also recall correctly from a conversation then I think that it is because you envisaged more advanced branching schemes and perhaps a version number scheme that follows branch history (and hence cannot also contain semantic meaning).  Based on that feedback, and an in-person side meeting, we moved to a revision label scheme, an nbc-marker, and standardizing a versioning scheme to fit into the revision-label scheme separately.  This was all in place when these documents were adopted.

Based on those who are or have participated in the weekly calls, I also believe that the solution has reasonable industry support:
 - Representatives from Cisco, Ericsson, Huawei, Juniper, Nokia have all participated in the calls at various stages.
 - Other SDOs (3GPP at least, and ITU?) are waiting for this work.
 - OpenConfig is using Semver and has been for years.  I don't know if they will adopt IETF's particular solution, but I do think that we would at least be fairly aligned.

I want to find a way that we can just get this work finished and published so that the authors and WG can move on to other, hopefully more interesting, stuff.

Is the solution perfect?  No, but engineering solutions never are.

Is the solution good enough?  I believe so, yes.

Regards,
Rob

// As an author and participant in this work for 5+ years.


>
>
>
>
> /martin
>
>
>
>
> "Rob Wilton \(rwilton\)" <rwilton=40cisco.com@dmarc.ietf.org> wrote:
> > I'm wondering whether we are in the realm of missing the bigger
> > picture here, or perfection being the enemy of good enough.
> >
> > My first example:
> >
> > The sedate WG (https://datatracker.ietf.org/wg/sedate/about/) has
> > recently been rechartered to respecify the meaning of the date string
> > in a non-backwards compatible way.  Yes, this same date string format
> > that is very widely implemented and deployed.  I originally had a
> > block on the new charter until it was pointed out that the IETF
> > specification was being updated because it was inconsistent with the
> > ISO time specification and inconsistent with how the date string was
> > actually being used by implementations.  I.e., the specification is
> > being updated to reflect reality.  I.e., fixing the specification in a
> > non-backwards compatible way ends up being pragmatically the right
> > thing to do (and this is entirely allowed by the IETF process).
> >
> > Ideally, the date-and-time typedef in YANG would also be updated to
> > match the update to the definition in RFC 3339 by SEDATE.  But this is
> > clearly not compliant with section 11 of RFC 7950 (because the value
> > space of allowed values is being narrowed).  The only available choice
> > would be to define a new date-and-time-2 typedef which modules could
> > then update to.  Of course, you cannot update the existing leaves to
> > use the new date-and-time-2 typedef because that also violates section
> > 11.  So, you end up with two datetime leaves everywhere the
> > date-and-time typedef is used, hopefully with one deprecated (and at
> > some point, obsoleted).  Of course, defining the new datetime version
> > leaves could also break any loosely related modules that may have
> > xpath expressions dependent on that date-time leaf (that the updating
> > module author may not even know about) which would need to be updated
> > to depend on either of the leaves.  I also don't think that RFC 7950
> > is clear about whether deprecated leaves must be implemented by all
> > implementations or not, so realistically clients will need to handle
> > setting either (or perhaps in some cases, both) of the datetime
> > leaves, depending on implementation, probably with a different mix
> > across modules (in vast stages of being updated).  What happens if
> > some instances of those datetime leaves are mandatory configuration
> > and become obsolete?  Is a client required to set it or not, the
> > pragmatic answer being that again RFC 7950 is unclear and again this
> > will likely be implementation dependent.  What about if some of those
> > datetime leaves are list keys?  I believe that the only solution that
> > RFC 7950 allows for would be to duplicate the list, deprecating the
> > old one, again requiring updates to all augmenting modules, and
> > corresponding impact and churn on clients and servers.
> >
> > I suspect that OpenConfig may also have a date-and-time typedef.  I
> > can be certain about how they would handle this same issue - they will
> > just update the definition.  Some clients/servers may have minor
> > impacts when they update to a new version of the model, but the impact
> > and effort required is minimal, and I think several orders of
> > magnitude less then the potential resultant churn than would happen by
> > strictly following the RFC 7950 section 11 rules.
> >
> > Some may argue that I'm not being pragmatic, and that this could just
> > be handled as a bugfix, changing the existing type.  This is one of
> > the key things that the YANG versioning is trying to accomplish and
> > allow.  It isn't aiming to say that module designers have carte blanch
> > to change modules in non-backwards compatible ways.  Instead, it is
> > saying that in some cases, the pragmatic solution is to knowingly
> > break the RFC 7950 rules and make a breaking change because that
> > causes less impact.  Further, a key aim of the versioning work is that
> > it is much better to be explicit that a breaking change has occurred
> > such that a client can easily be warned of that change and take any
> > mitigation necessary - which in the datetime instance above, is quite
> > possibly that no mitigation is required at all.
> >
> > Finally, I will note that rfc-6691-bis contains a change to the
> > datetime definition that is not backwards compatible with the existing
> > definition because the semantics of the leaf are being redefined.
> >
> >
> > A somewhat similar second example:
> >
> > The YANGs IP address type handling of zone information is very similar
> > to my first issue, where OpenConfig came to the pragmatic conclusion
> > that (in their models) 100% of the use cases of IP addresses only use
> > the numeric form without zone identifiers, and hence when someone sees
> > the typedef ip_address, this is what they are thinking of, so they
> > just pragmatically updated their definition of ip_address type.
> >
> > Somewhat related to this, I will note that rfc-6691-bis contains a
> > change to the ipv4-address and ipv6-address regex definition that is
> > not backwards compatible with the existing definition (it narrows the
> > valuespace for zone-ids restricting it to ASCII letters and digits
> > whereas previously it allowed for any language letters or digit
> > characters).  I believe that this change is not strictly compatible
> > with RFC 7950 section 11, but I still think that this is the
> > pragmatically right change to make without introducing a new set of IP
> > address types, despite the fact that it could hypothetically break
> > some clients/servers, and we have no way of knowing in advance if that
> > will happen.
> >
> >
> > A third consideration:
> >
> > Yesterday, Jeff and Mahesh presented in a NETMOD interim on their
> > learnings from trying to write the IETF BGP model.  One of their
> > outcomes is that they think that some of the other models recently
> > standardized by the IETF don’t interoperate well with the BGP model
> > and will need to be revised.  I've no idea whether those changes can
> > all be made cleanly in a backwards compatible way, but I suspect not.
> > Hence, my concern here is that the IETF doesn't really have a great
> > path to getting a viable set of YANG models that work together,
> > because just publishing modules working in isolation doesn't solve the
> > industry problems.
> >
> > Because lots of the IETF YANG models have been written without a lot
> > of implementation experience (chicken and egg problem), often my
> > people who know the protocols but are not experts on YANG, means that
> > we can be sure that there are likely to be many bugs and flaws in the
> > YANG module RFCs that will need to be fixed or improved.  I would
> > expect that some of these cannot be pragmatically fixed in a backwards
> > compatible way.
> >
> > ---
> >
> > My interpretation of the recent last call review comments is the
> > suggestion that we pivot to find a fundamentally different solution or
> > approach to solving this problem as an RFC7950bis.  I believe that
> > would be a mistake.
> >
> > In summary, a group of participants have been diligently working on
> > this problem space for 5+ years.
> >
> > We have had a design team working on this area, and that solution was
> > then adopted by the WG.  The authors and interested individuals
> > working on this area has presented updated drafts and updates to the
> > work at every IETF meeting for the last, 4+ years.  Feedback at the
> > various stages/reviews/etc has always been considered, the authors
> > meetings have always been open, and I don't believe that the solution
> > drafts being taken to WG LC are architecturally significantly
> > different from the direction agreed during WG adoption of the
> > documents, although I do think that the documents are much improved
> > based on the feedback received.
> >
> > I also appreciate that Juergen has always publicly stated that this
> > work should be done as an update to the YANG language, but my
> > recollection was that he was in the rough on this issue, i.e., during
> > WG adoption, and since, at least until this IETF WG LC review.
> >
> > Hence, my concern, as an AD, is that if, after 5 years, the WG now
> > wants to take a fundamentally different path to standardizing this
> > work then I have concerns that the NETMOD WG isn't really functioning
> > properly and cohesively as a WG, and I'm very concerned that we won't
> > find any viable way forward for this work.  I doubt that it will be
> > possible to get any quick consensus by opening up RFC 7950.  We may
> > also find that the individuals who have invested a significant amount
> > of time and effort on this work don't have the desire or energy to
> > start from scratch again, when they have a solution that is good
> > enough for their needs.
> >
> > If I understand correctly, the fundamental objection to the module
> > versioning draft is around the updates to section 11 of RFC 7950,
> > which effectively state that changes MUST be backwards compatible,
> > whereas this draft states SHOULD be backwards compatible, without a
> > change to the YANG version number.  Is that correct?
> >
> > If the existing deployment and evolution of YANG modules among
> > vendors, OpenConfig, IETF, and other SDOs strictly followed the rules
> > in RFC 7950 then I would probably agree that an update from YANG 1.1
> > to YANG 1.2 is needed.  But I think that the reality is that tools
> > must handle non-backwards compatible changes frequently happening in
> > YANG 1.0 (OpenConfig) and YANG 1.1 YANG modules anyway.  I.e., I don't
> > believe that the "YANG 1.1 no breaking change contract" is being
> > widely honoured anyway, and instead is being treated as a goal or
> > aspiration.  What these documents attempt to do is to move YANG module
> > evolution from what we currently have now where clients don't have any
> > way of really knowing how a module has evolved and whether they are
> > impacted to one that they do, and as part of that process they are
> > aiming to update the YANG versioning rules to better reflect how is it
> > being deployed and used.
> >
> > Hence, as am author, I still of the opinion that the best pragmatic
> > path forward is to try and get these documents to a shape where they
> > achieve rough consensus and are acceptable to the WG to be published
> > now, in the short term, as a good enough solution.  After that point,
> > then I think that it would be great for some folks to form an idea on
> > a what YANG 1.2/2.0 could look like, but I think that coupling these
> > goals together would be a mistake.
> >
> > Regards,
> > Rob
> >
> > // Who doesn't really know which hat he is wearing for this comment,
> > but is only trying to do the right thing for the wider industry ...
> >
> >
> > > -----Original Message-----
> > > From: netmod <netmod-bounces@ietf.org> On Behalf Of Jürgen
> Schönwälder
> > > Sent: 06 June 2023 06:07
> > > To: Martin Björklund <mbj+ietf@4668.se>
> > > Cc: netmod@ietf.org
> > > Subject: Re: [netmod] Joint WGLC on "semver" and "module-versioning"
> > > drafts
> > >
> > > On Mon, Jun 05, 2023 at 10:32:51PM +0200, Martin Björklund wrote:
> > > > >
> > > > > If the goal is to produce YANG 1.2 which (i) integrates semantic
> > > > > versioning into YANG and (ii) fixes known bugs in YANG 1.1 and (iii)
> > > > > does not add any other new features, then having agreement on such a
> > > > > statement will help to steer the process.
> > > >
> > > > I hope that (i) doesn't happen.  I think it is the proposed changes in
> > > > draft-ietf-netmod-yang-module-versioning that require a new YANG
> > > > version.  If this new YANG version allows for other versioning schemes
> > > > than revision-date, then we can keep the modified semver scheme
> > > > outside the core document.
> > > >
> > >
> > > I consider the module update rules a part of a versioning model. The
> > > current update rules were written to support the current versioning
> > > model. If we want to support multiple versioning models, then we have
> > > to refactor the update rules out of the YANG language specification
> > > into separate versioning specifications, i.e., traditional YANG
> > > versioning and the new semver versioning. There are some language
> > > mechanisms (like the import statement), that have to be flexible
> > > enough to support multiple versioning schemes.
> > >
> > > Is it worth factoring the versioning model out of the language? I
> > > guess the opinions vary widely on this, depending on the dynamics of
> > > the software environment people are working in.
> > >
> > > /js
> > >
> > > --
> > > Jürgen Schönwälder              Constructor University Bremen gGmbH
> > > Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> > > Fax:   +49 421 200 3103         <https://constructor.university/>
> > >
> > > _______________________________________________
> > > 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
> _______________________________________________
> 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