Re: [netmod] Another comment/question on appendix B.2 of draft-ietf-netmod-yang-module-versioning-05

"Sterne, Jason (Nokia - CA/Ottawa)" <jason.sterne@nokia.com> Thu, 02 June 2022 21:03 UTC

Return-Path: <jason.sterne@nokia.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 609EFC15790B; Thu, 2 Jun 2022 14:03:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.653
X-Spam-Level:
X-Spam-Status: No, score=-2.653 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.745, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nokia.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 MR3_-l0NULZ2; Thu, 2 Jun 2022 14:03:23 -0700 (PDT)
Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam02on20705.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e83::705]) (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 BDFE5C157902; Thu, 2 Jun 2022 14:03:22 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Zfg1XT5h8ZnFC3iTdbjIWRVucbY0bEDUjY+yLyH1tHeM+a+pZg625MYD6H6wDZYanRpAGRxtPj+Ki6zT7kWbs+yVnYKZFhvqhdBgLdmgVwvtirBmYnGWF9Z110XuMl+NFgYIGdG3vSS3XjsWHDYBJsjSlBQn7/V9zMR24FBRxgb0kDiaioETmz0l65JpaZb23DfO2vispLZczWs28cenoYz1X/F5Vr1OQIVt8XqM49JyQ7aMwHayc2fo8RJbtlHwwrEOgf02Bw4XhT/J5QPzol2+JfeEfnYxFohbfqcb5F5Rn0x4H28Gr7eTJaZjjZhs2TAl75JQpZvatTPXre9dTw==
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=QB7ND9+1x4P/2I+KV/Gl+N53e/9pSPQC3OmzX1gmyMc=; b=fRlJBQGULR2evZb9bQ0ez8KCXApHlGQwpP5BXfKzAz6Hh1G+RphfzxgpiqeNpsEyVR4EYEKdeX8X7C6zsBC8HbExxhyAgJ4KwbLrX6gVOIkLea0gHghzgyOO8zQWFeXrjX3kR4arl6UyA5D+t02BHbDe5a+N8NS1veZLgC0txOm6gvURDTf+twRFcKmBS478FGTekPrItYkCPU3W8Toq08xMncBct1OAjWxm6WgUDj+kEWAcQzAhOW1peJC6By8T3EFmP7RUjojPObUHO1XRUR6hR82Zhy0bMjXdmk8P3j7U37vduF63HVTF6AeQPMJNNq5uc/y7OnV4BP2U8dQ19w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nokia.com; dmarc=pass action=none header.from=nokia.com; dkim=pass header.d=nokia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.onmicrosoft.com; s=selector1-nokia-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QB7ND9+1x4P/2I+KV/Gl+N53e/9pSPQC3OmzX1gmyMc=; b=bFXyMCjkaRqrHZitt7LllH776u9K40O3+73k8MHbhDxX7ZMMay962rtMAVwKKco1xuiB+7Y2zeBUgNza2ISFAd86MpIfjcb06m0tLPnPbi66oFs3pIh3LHbOr3ro4ITit4W4IM4FG7bo5eTTOeHv/ygfDVQTqx/WRCnynfLQ8Kg=
Received: from BN7PR08MB5073.namprd08.prod.outlook.com (2603:10b6:408:28::30) by BN8PR08MB5747.namprd08.prod.outlook.com (2603:10b6:408:b4::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.17; Thu, 2 Jun 2022 21:03:16 +0000
Received: from BN7PR08MB5073.namprd08.prod.outlook.com ([fe80::88e9:4204:cb4a:7776]) by BN7PR08MB5073.namprd08.prod.outlook.com ([fe80::88e9:4204:cb4a:7776%4]) with mapi id 15.20.5314.013; Thu, 2 Jun 2022 21:03:16 +0000
From: "Sterne, Jason (Nokia - CA/Ottawa)" <jason.sterne@nokia.com>
To: Italo Busi <Italo.Busi=40huawei.com@dmarc.ietf.org>, "netmod@ietf.org" <netmod@ietf.org>
CC: "'ccamp@ietf.org'" <ccamp@ietf.org>
Thread-Topic: Another comment/question on appendix B.2 of draft-ietf-netmod-yang-module-versioning-05
Thread-Index: Adh2AX6nfZwD+XITTPiHGgPWsoHa5gAwYxVg
Date: Thu, 2 Jun 2022 21:03:16 +0000
Message-ID: <BN7PR08MB5073F864D99D58F9236EB88E9BDE9@BN7PR08MB5073.namprd08.prod.outlook.com>
References: <49dffd7325274aa4a6327bdbb4798a71@huawei.com>
In-Reply-To: <49dffd7325274aa4a6327bdbb4798a71@huawei.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nokia.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 644c72a6-c1c0-4c1a-e1b4-08da44db506d
x-ms-traffictypediagnostic: BN8PR08MB5747:EE_
x-microsoft-antispam-prvs: <BN8PR08MB5747E83255B531A3CA7505049BDE9@BN8PR08MB5747.namprd08.prod.outlook.com>
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: Tmmv4eE3YM5KOI0cyGfAuWMuZE1jFeQxJxWLzuY7c8PnYoxwSS9FwYW3iu2IjAJ8vOvFZ7/mrKPZyto3BRilntN3XE0N9S0hlJ0LGuOetbIlmNKr7xUIqhXhuXGPsK3j932k6NufXUbgVW3ClLT1LNhYaMLtg5OQK+0bKJn5bY/XI9qsUw473iXyMSMVr4Bq8Qn/iDNQib+2aNIAOEIGy3AWtgFcXTTMoRrB1pbRNd/RtJbgG28yqbU+utgdxXdxQkP+GfDQpRe4nTgS0cxhPAM4VbEsB7WoAwqnsOlg0IYlyQHQiWg/Ir/Im7hlDpLrZt4tRlEW1YvjiEl8zRXN5/h6LHC+DvuYkqbhp0X1zLKi+taie+PsddyeE5gRz46XeaTD7JwMaRR/ju9ekqXawU6ZuLnogCx9mqQZxEvASD/MXhO1myaheEmeMy58F5X/TJGqpPkn5zy3ymHaX/dgNyoc6FfeE5vdQTb0CkNAAhhUM61pLJ5T6yE/c8oTZqz41grV6/et7iuJkCBMZQMo2KeGLvQEfq+Fr4G8MEczxD29EimXyifNCYA/tb1tSt297Hn+s0yjX6rVxtR4AeljDxIuaU1Cf6VGy4NYobBux6GZXzGLHP0/I171of1AT6LmQawHPxkFt/WA+RCLjkYKPUxTsDXmjmmPBgKyuo/Fq6EkvHua45l5pjnoZETc1FL4atu9dLYbJqq0uj1MqwexOdyFhEJ4OCavjCE9WrmoiZn3MavBzTlZulZIz050W7vI2CBEoNJX/VipilIKQ4FubU+Khfc7JhcQFOpW3qojINg=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN7PR08MB5073.namprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(55016003)(166002)(186003)(38100700002)(316002)(76116006)(2906002)(52536014)(110136005)(26005)(19627405001)(9686003)(82960400001)(6506007)(86362001)(5660300002)(7696005)(53546011)(71200400001)(122000001)(66556008)(66476007)(4326008)(8676002)(64756008)(66446008)(83380400001)(9326002)(38070700005)(8936002)(508600001)(966005)(33656002)(66946007); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?eRj2BVNmTDHfoSR9easzBRiDQDxntqPSE/toGfq7WUVHSDFmdv3sL2oJdflN?= =?us-ascii?Q?Uhy0Xb8Rb0PSQj15ExRVbpggre53K/lYzVjk6z7ir17NSnkJGJcWcmOMIau8?= =?us-ascii?Q?mWhkgx0UcQ5NvuBaLHl3RtS7OlQ+SfZmtF+zsKa5Jaz/bg8iaeqnaRX7f2gw?= =?us-ascii?Q?Qj67GXkDtU4PvPhvjMEHUx/JO3HDFYBHotg1thfEIGBf+abiTn0eC/gOImcI?= =?us-ascii?Q?WbdT3rget+sOR3zW9CgXCGyX97zcGAfS+x3AEzV/bUhLw9I9BYKqF6tBbRZJ?= =?us-ascii?Q?GlGHYvne26JLcsnZlNYzAerwLaOqAqcmjkAlEI894JZTTPc1cZ2h7eqvTKk1?= =?us-ascii?Q?jQLqMzxxgzBNM3+wbop9/Pxi6g1rXZgxj7/UH5S8sKnT7wdm1mqNjdVKZqsu?= =?us-ascii?Q?fCl0skeRbx/heCMlNpv8rnRSQiG4HL1MVxYGCkf3y8x2nSozh4h7HATq96IN?= =?us-ascii?Q?lvpbZJkhrrQveCMIFMTbRFuWQSEhtI736ZgAF6+tD1dGOVH4uIbGdCsNyMiz?= =?us-ascii?Q?N6zC+7P0W7iLODolEBt0d7/UAYRnsrB5sAcnO8++HBJf7Iw7sYlL76LLuldH?= =?us-ascii?Q?cCQNXt0lCYOqm+TBeidXvb/GnwcMtmb5U7WT0dl0MuG8Pq5Toq0l+8nn1k2R?= =?us-ascii?Q?U5ToxnBtebVHby0H08feLL0Jb58vrqBIJktayqxY9oZGi09CeLsfTy1cLXAO?= =?us-ascii?Q?cAboROteL5JBN0LyPE6sdVj4BQ6gnfiiMalq7KGlLcSSbyJ+m3ChcM4/82FE?= =?us-ascii?Q?/9nXDJN42NE6iYPe1/Nyg4pMBoFzFC156KKOH71f3zas/ICiXVRw0URUh2Lt?= =?us-ascii?Q?plMPd2Vm4HuV0wVdv3nOB8YiJjkPQnCySsi2tcI2SGHDqdPF90hpRZSMhZQG?= =?us-ascii?Q?rzhzzKJwZjHMjKBadkG0TCcjrKPz1xIuQ5K/5AJPXYvzkLBIbW0nRFtYXteh?= =?us-ascii?Q?oGVflF9lR4NNsTgfUQS+ETh70C4t+E0qZKnFePd5jvTbJ19J+x09LoMjG37y?= =?us-ascii?Q?eEhGLptjB9PUYsaXVeB5BaG6gUnVmPiFJs1MS8IOQHwV4f5wyGvB1xy8p3Ec?= =?us-ascii?Q?pZ0TK+oyCPV34+fJ6gSh4SLI86C3bPlnveYUe2KLIE7nWlrUBnF5i41y1rig?= =?us-ascii?Q?RhFwqgmwe01HWA+AEsYj11DgAyEwFyc47Gq1ARtYeFiBp/7JpZDU30acj3Oh?= =?us-ascii?Q?offl2j1CuFPrragMvOnM8Iss7sW8l+/Np3b8Q1H2R2XHNWVwwNskDHJEI76t?= =?us-ascii?Q?951vL3UKQfM20jcTk2BqB7gVlnNJSooLeMdmoJ5wMZ3VBUyYUHVGgJMTkYYa?= =?us-ascii?Q?9pUgRO64tQ2fEisu96/fvRkV7nJ6lZHKt65gwaFFpi4I7U85L1wowXyb9jO9?= =?us-ascii?Q?Fu7W+Np0d6yq9d5CLAEBM7o4QeH1vNzdycCC49byPdjlXP9mey0R2jqyT5N3?= =?us-ascii?Q?MnbJvoxGkVNNxVrGqFjfp9iAxZplWilBw8smBWEcbtluB0kAB1S9LBORIZtd?= =?us-ascii?Q?OEb5FkVjwNte4Sdekhs+FLQydjhv99gR4ng/nYjGDNZRRTkb7J1xkXwmBu/2?= =?us-ascii?Q?42JIVznLgIVTOh3oSiMXrOR1mGrq3h4xXhNaT8I/Ka4i1a8PPosNlBT3bJsn?= =?us-ascii?Q?bHDgrbEMLb72l/W5JG6/wM14evtVngE3r8aqpnqEFfxUqxMPxin67m7ZJYsp?= =?us-ascii?Q?KxC4jzEAIbQjPvXqcx6ouURFKZ8wnAMpW4rdpcJvakG1hWWqdgm+XZYa5E4l?= =?us-ascii?Q?m4eZykQPWA=3D=3D?=
Content-Type: multipart/alternative; boundary="_000_BN7PR08MB5073F864D99D58F9236EB88E9BDE9BN7PR08MB5073namp_"
MIME-Version: 1.0
X-OriginatorOrg: nokia.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN7PR08MB5073.namprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 644c72a6-c1c0-4c1a-e1b4-08da44db506d
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jun 2022 21:03:16.4095 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5d471751-9675-428d-917b-70f44f9630b0
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: NHI9+k6tEOwvXWPLZIFf80FsS6xkcDNJzTvdPJINAa/+O4AQetp5MaW2K1ZTNbG96Nzpab0K6673t/PDevXZyA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR08MB5747
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/DJkOO1WTMjh8kyCYkJHe8UMf5xo>
Subject: Re: [netmod] Another comment/question on appendix B.2 of draft-ietf-netmod-yang-module-versioning-05
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: Thu, 02 Jun 2022 21:03:25 -0000

Hi Italo,

One problem I see with this change is that in the old data model, the leaf "mode" had to exist in the instance data. But with the new model, it is valid to have instance data with no "mode" leaf at all. That instance data would not validate against the old YANG model.

I do see your point that any valid data that could be generated using the old model is still accepted in the new model. But for the YANG versioning work we've been pretty hesitant to diverge far from RFC 7950 for the list of what is NBC vs BC (mainly just cleanup of the status deprecated & obsolete), and clarifying

There are other possible cases that might meet a definition of "any old config would be accepted by the new model" but we still don't label them as BC in our YANG versioning work, e.g.:
- moving a pre-existing leaf into a new choice along with new elements in other cases (like yours below but without any additional complications of "mandatory" statements)
- changing the type of a uint8 to a union of uint8 and other types

Jason

From: netmod <netmod-bounces@ietf.org> On Behalf Of Italo Busi
Sent: Wednesday, June 1, 2022 6:07 PM
To: netmod@ietf.org
Cc: 'ccamp@ietf.org' <ccamp@ietf.org>
Subject: [netmod] Another comment/question on appendix B.2 of draft-ietf-netmod-yang-module-versioning-05

The example (in particular in point 3.1), assumes that it is possible to put the old deprecated leaf and the new leaf within a choice to ensure that the new node is not used when the old node is used

In the context of an update to RFC8561 (-00 I-D still under preparation) we have found a similar care where the choice could also be beneficial to express the requirement that the new node is mandatory when the old node is not used (in other words either the old node or the new node MUST be configured)

You can find a simplified example of the change we were considering here:

https://github.com/samans/testing-yang/tree/main/mw-option

The original (using the old style mode) is in mw-option@2022-04-01.yang<mailto:mw-option@2022-04-01.yang>. the new version of mode (rlt-mode) is in mw-option@2022-05-26.yang<mailto:mw-option@2022-05-26.yang>

However, when we use pyang to check backward compatibility we get an error message (see the nbc.out file in github):


mw-option@2022-05-26.yang:47<mailto:mw-option@2022-05-26.yang:47>: error: the leaf 'mode', defined at mw-option@2022-04-01.yang:40<mailto:mw-option@2022-04-01.yang:40> is illegally removed
mw-option@2022-05-26.yang:50<mailto:mw-option@2022-05-26.yang:50>: error: the mandatory node mode-option is illegally added

However, we have checked that the xml file mw-option.xml, which uses the deprecated style of mode, works fine also with the new mw-option@2022-05-26.yang<mailto:mw-option@2022-05-26.yang>. We therefore think this type of change can be considered backward compatible since an old client would not break when trying to configure a new server which implements the deprecated node

We are therefore not sure whether this is a tooling issue or a specification issue

Reviewing clause 11 of RFC7950 and draft-ietf-netmod-yang-module-versioning-05, it seems that moving an existing leaf under a choice is not listed as a backward compatible change

We are wondering whether draft-ietf-netmod-yang-module-versioning-05 could clarify that this type of change can be considered backward compatible

We would appreciated any clarification by Netmod WG expert about whether this change can be considered backward compatible or not

Thanks, Italo (on behalf of co-authors working on a new I-D for updating RFC8561)