Re: [netmod] yang versioning solution complexity and alternative approaches

Jürgen Schönwälder <j.schoenwaelder@jacobs-university.de> Wed, 08 June 2022 17:04 UTC

Return-Path: <J.Schoenwaelder@jacobs-university.de>
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 A95A1C14F737 for <netmod@ietfa.amsl.com>; Wed, 8 Jun 2022 10:04:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.909
X-Spam-Level:
X-Spam-Status: No, score=-1.909 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=jacobsuniversity.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 vLb2kBoJn9vv for <netmod@ietfa.amsl.com>; Wed, 8 Jun 2022 10:04:41 -0700 (PDT)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-ve1eur03on0626.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe09::626]) (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 896C3C14F724 for <netmod@ietf.org>; Wed, 8 Jun 2022 10:04:41 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jlNoXD7Qhg/cX7jixF/Zn6sBE4LAeqSFWqv0YkmJu9sW72vqGY9uhaHyA9aZX9I8Zz6zTLTj8ZjkMT+TNYbkXqK4pyKqFypvZQb6t57b7fCE8jhWpW+KOYzFcmQGbfe8QqSnoJAEzBoV5kfOVHmZqkFs+NQgSjlAoN7sj99EmreZx6XLmzvUKJQAVfisMZH/A1FTTT5eUmev7DTyCPTWSFd6zvotW/tvh518/K6aww+6WDjowKyg/W3m7sO7sW+T+7a77bTPx/xvGWaxo7Z1sgkBJj47zi0sq86Rcb9B7VwXhn9Iman0VfXVlMGOl78ADBq9qrY5MhkVcxDE+vL6lw==
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=Tf1Xa5cg/jQ3whH97C1ZruECOOpcxNgtrco+V6QWBqI=; b=XC8hqopATr/fcBpZMx5/S5ymPug9OiBqkWWURLB9UjsmzRcH+BN76AnESZdzptHc0kxcIEcL/NTFS8pO2sYUh3MKwVkKM0PGI1KZvLtRCzPijYQyRJasMYh3VNPjknmB5xQE3iqqU+5eRg5fCp9HSj27SSA/GSzyGO63mN3PLYKW10/aEg/+MUpTxwn5saPvmadxWn4e0j91sHd0EGQz4n5NKhAgD1hWR29qSruThJSjE8HqBtoep2DAmt645S679j+TgZfTeq7hGQKIezX8I6KW3ZttF+eqWFax+4hovabqItGsq3JHRFEHRXgFYvVqfDbedSMmgrP+o9El3udCwQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=jacobs-university.de; dmarc=pass action=none header.from=jacobs-university.de; dkim=pass header.d=jacobs-university.de; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jacobsuniversity.onmicrosoft.com; s=selector2-jacobsuniversity-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Tf1Xa5cg/jQ3whH97C1ZruECOOpcxNgtrco+V6QWBqI=; b=lcip0fVjkqjvAdUPtYli/0U4RibpjsBJ21ZlqSmW2zuYtgfsZ90I+efSUVRaxAq7QU8tikVUwxDVs2VSt/YT8nCk2cWrwXfdmtCbBMs/USdgc8/AkkQ6evIYpRVqCQ+frA+inUO170Z1fnhzrFpy5uOnAT0ydqwiBJ4ALdnX2/g=
Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=jacobs-university.de;
Received: from GVXP190MB1991.EURP190.PROD.OUTLOOK.COM (2603:10a6:150:3::6) by VI1P190MB0096.EURP190.PROD.OUTLOOK.COM (2603:10a6:800:a1::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.12; Wed, 8 Jun 2022 17:04:35 +0000
Received: from GVXP190MB1991.EURP190.PROD.OUTLOOK.COM ([fe80::64d3:b182:f717:5176]) by GVXP190MB1991.EURP190.PROD.OUTLOOK.COM ([fe80::64d3:b182:f717:5176%9]) with mapi id 15.20.5314.013; Wed, 8 Jun 2022 17:04:34 +0000
Date: Wed, 8 Jun 2022 19:04:33 +0200
From: =?utf-8?B?SsO8cmdlbiBTY2jDtm53w6RsZGVy?= <j.schoenwaelder@jacobs-university.de>
To: "Rob Wilton (rwilton)" <rwilton@cisco.com>
Cc: "netmod@ietf.org" <netmod@ietf.org>
Message-ID: <20220608170433.7psmk7n2ti5er2kl@anna>
Reply-To: =?utf-8?B?SsO8cmdlbiBTY2jDtm53w6RsZGVy?= <j.schoenwaelder@jacobs-university.de>
Mail-Followup-To: "Rob Wilton (rwilton)" <rwilton@cisco.com>, "netmod@ietf.org" <netmod@ietf.org>
References: <20220309101609.d33knxlhyq62wejq@anna> <BY5PR11MB41967D79E62D8D08CBEF6128B5A59@BY5PR11MB4196.namprd11.prod.outlook.com> <20220608153802.63h7knp5ezmhfjya@anna> <BY5PR11MB419609600B2ECFE2DD029D4FB5A49@BY5PR11MB4196.namprd11.prod.outlook.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <BY5PR11MB419609600B2ECFE2DD029D4FB5A49@BY5PR11MB4196.namprd11.prod.outlook.com>
X-ClientProxiedBy: AM3PR05CA0114.eurprd05.prod.outlook.com (2603:10a6:207:2::16) To GVXP190MB1991.EURP190.PROD.OUTLOOK.COM (2603:10a6:150:3::6)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 2fb93c8c-f8df-45df-1a30-08da4970f625
X-MS-TrafficTypeDiagnostic: VI1P190MB0096:EE_
X-Microsoft-Antispam-PRVS: <VI1P190MB0096F055EF517E3D212C47A4DEA49@VI1P190MB0096.EURP190.PROD.OUTLOOK.COM>
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: eRTGE9kETnyrehj5wdQd6JCc3E9gpw8YEIL+a+IBbeMtb/4glDSoyeTqGmlvoiynmTmyMxdLhmImniik+OjatElZw6e9K9TQZejVk6lDWS2kc13NzRDkC3svrlKddg66AwvxH1Nmks5bPk++Xfgj4SlHijwfrM/1c+/+SloJRZ1tVK7Bl0vdgVFY4uMez/iEium4wOVrnadGojisHEEvQFstX5OeKrPCD9tk+U/FUj1mBnrBRbbpsY6bU3BgKQ+s5X/gXVRZpKlqBe2gHRLv1V+zB1eJSp4/IgJWthrMNHeqVhEeh302zs2gkUkESIUtlVQIDIVcQfvKdFjbVo6hhOka7ZnGkeqrL6QiU22uwrB+YzieCXV9tLk29OMuaggWqDzcIfYabOuobHEsUXWfTUNIxGkJUsmebFF/p6mfVkq9tkUinUhpSkiOsD+gFun9B3JGuMRz/U8k7LdUKc19csWUGr8UAR1npN7+4LU4UzrTQu9IsPee8qlp1ri5sqI38CTnn3TytJAtaoXUEANRCKAalNxBXOFneXVom+NmEUW+gZ4GWvUE6BAkur4m8QwkV/9/+D93zEl7eOIh1bU5maHq21faeG8gkS6ufI4gIxuizmaClm5IED+sMiD/o6nz2DVE7TJJVYh2lm0DrXBYbi1WD/uD9GCiK1vOSfbwgB6wqXfKPOY37zP2y/Aa9BZ87mK8tNC6GCJQtulS0PaINrK/bVuB1yD+YPToahohXrEGP6wdzxNkE+E+jbZNhAB4c0OOypLkwGha/VgH6An+qATES8Mi4r75j3KTm67uF0E=
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:GVXP190MB1991.EURP190.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230001)(7916004)(366004)(8676002)(6506007)(66946007)(38100700002)(85182001)(38350700002)(66476007)(52116002)(6486002)(4326008)(86362001)(8936002)(33716001)(66574015)(3450700001)(186003)(85202003)(2906002)(508600001)(66556008)(1076003)(83380400001)(786003)(5660300002)(6512007)(9686003)(26005)(316002)(40140700001)(6916009); DIR:OUT; SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Y2l0dFFFZERHTDNtb0hEVkFaeFF0QTFNYkl0Nk9jdHphaXQvKzQzRHd1bHA4?= =?utf-8?B?aWcyZ3JGZzRKMTFGbTFHWmtqZDNlVEt6UDBFd0hzdjVURDhYTHl5Q3JrMEJT?= =?utf-8?B?cjRVY0ZxckREdGpoeUYxdi9xTlBIUjdyY2FqTnEyUFljblBUelptZHJSTkhJ?= =?utf-8?B?WFdZRGtXRXBaeGZFdkpjRDdEeHFYRFBDSnpoZm8rWlY1aC8zQ29DZEVIRUJo?= =?utf-8?B?K2w1Mmw4TVhpd0FnaFpTMWhRRnFTZE9nUk9MdGpOZHpRN1V1T1F3eldZRm5S?= =?utf-8?B?cW9aTnhzcEROWU82aDhiWXEwZGEwdHhaRVQ2amFYbDVlK0FjUTkvRGdlSE81?= =?utf-8?B?NzYxczBUQ0RCdmE5Qnh6RHhBci9GM1VkRm9nUzRSa1lNeitYbUkybk5HWUV5?= =?utf-8?B?UGtRbnFzTmhoeHhuamxCTytYUEczK2RtVkdWMkM3aEY3UmZMaVhwb1FIamJO?= =?utf-8?B?YlZNTEttQnlkb0FpcE5ocHVjdXdFdmxiLzZZQ2xNUmNTM2diUUNKbXJKWHZj?= =?utf-8?B?bkMxZEU3RWdQRUxjNVl3UDZtVzJwQkRLbElRT2U4VjU3SnVDMTh1WmFPSExk?= =?utf-8?B?VForYXJjRmw3emJ6eStTM21Jb1RHK3JTczVseGpUMjRyQjBSVFZ6OThPWHFl?= =?utf-8?B?NnlNVlpTQWpBNzcvZ0VFRE5Sam1kZmJ3cEtUaWtVK0NvZklkeWJXQ2o1UGh1?= =?utf-8?B?eUlzVE9rNlFiSDF4Zk5KVHZ2bk1YMXorVVhZOVkxczNQTUJoRXZuTzhYTStm?= =?utf-8?B?aDdkMmtSTm8wdk1nK1FTcVRqdGR6ZHB3VUYvYzVpSzdQa01FbVVwSUN0eWlQ?= =?utf-8?B?YTNQaS9QbUt5b0d1blNFTHY4QXlGSUtocjFhZjVzNlZieVlSSmRvT3ZGTDNO?= =?utf-8?B?TFQ1RE9ZQ3RNL1pocTgwa0RTMEpnNjg0R01jVXBHaHpYYU15TDd5T0dHRUsy?= =?utf-8?B?TThJeWNsSFZzdnduKzR5YitDeUpqaU54ZmdWdEhReVowN1J5Y1pnNVZRT0hY?= =?utf-8?B?ZHFhMUl3MTUxQWliVktIMHBtS3ZqSmxzYXBIdkVWbTBkbzFvWHRRSzBzNS9M?= =?utf-8?B?c3dhbEVFWHF6Ykx0Q1VMS0ZDeGlJb0N2MEtxSFFzbGpnQkZWWmI1MEtNUml2?= =?utf-8?B?SExTV1FlaElxMDJFUnRYODFuTng2QzRrOHNqVXBHbERQOTVBeGdsV2dqRlEy?= =?utf-8?B?NElTeFpuMEtzTktZU2xwMUtwTytMTVZOaFlpV0x2emhSUmtvdXkvU1YxUGkr?= =?utf-8?B?YXZVejVOYlpPSk84MHpoVjczTUZKZVlCOUpTUWI0bURDeGE2K21UMHVsNXJm?= =?utf-8?B?WVFnaXBMckZPRWlQZ24rbE8zbTFabnpvNVNaR0V4WVJ1Smg2Y1RKa0lFU1g4?= =?utf-8?B?ZnY3MGtvaUpueGU1K09vZE0wb1hMT3o0d0EveDR6blUxMlVYMHEybzVBRHZJ?= =?utf-8?B?SUw1anVNS0Y4bUpCU2kxNVdJV25YbE5RQ280YUI4UWZmUCtJSmFXT3hxWXcr?= =?utf-8?B?RTZwWnYxYS9kbnVQM1dKQStFNFZyQ1lFYnBKOXFXOTVZd0lyTU4zSVB3MGcr?= =?utf-8?B?cVZIWWlwSjZ2Ti9CMy82emR4dDNaQ3cwTFVNWXVPQ1ZDV3JYcDc0am9EVGRS?= =?utf-8?B?ZmhaNkdjZFMwa1ZPaldtMnZhRjhxMlNoY3NjdXV4QWFNRmNFRy9EOXU1UUUx?= =?utf-8?B?TmVZMHdGVDdRWjRqeStaOWRGQ0x5YUNnVnJPN0UvWU9wSUJ3VWIxZm9PQUhy?= =?utf-8?B?cENGVlVzQnh6ZlozUU5YSzkrYWlWb0lVQk9TWnZ5NzJuR3FlMTVvT1dXOGdU?= =?utf-8?B?Sm9SSTJFcVhKSkdVeS9DbVFXRlM4N3l6UVBacXZ3VE9LN1FIbVkrS3BCRHpN?= =?utf-8?B?L21YRHk1ZVVKdUpHQXYrd2JVdDlEQjByUHRFM3R6c1RramE1WWNTRllTY0Mv?= =?utf-8?B?dUE3RkRuZHlKUTc4cHRRSUIxMCtpckZDV2Y4Zk1Hc2hORUdoMVFadHlUUEhy?= =?utf-8?B?Q3UzS2ZpdkpYeUdkTmZScHk5UXY5WC9HZDFIcjBTOHZoNHV4UG5zSUk2cjhC?= =?utf-8?B?OWV3SUVnUDB6cHVsRnEyZGFQZGE0Z2xJMjY4NlpldXNPazVSSnFRSjMwbjBO?= =?utf-8?B?YWhQaHVCam9DVU10MThaUGVvekU3ZmpYcEhJYkZDU1dXNzRXajNMZWJkeHR3?= =?utf-8?B?eDBvaXNoUzQ0OFliamdubTV0VFpPY2lvSFFqV3JtYlRyS3ZGcG90cTV2b2Fa?= =?utf-8?B?V0ZFT3NxNS91TzhoeldoUWgwUVlqTWFLYTJpcE5YWVQrNEZmalc5TjRFelpi?= =?utf-8?B?SkpmbE1TbG9YZlZaNGdMbHRhSmNnVjZ0aS80cWN6d1RpSXpja3pxMWdlbHZh?= =?utf-8?Q?t8hcs/pHvxM9uLVQTCoANl5e3mQWQsgAT9CVL?=
X-OriginatorOrg: jacobs-university.de
X-MS-Exchange-CrossTenant-Network-Message-Id: 2fb93c8c-f8df-45df-1a30-08da4970f625
X-MS-Exchange-CrossTenant-AuthSource: GVXP190MB1991.EURP190.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2022 17:04:34.3314 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f78e973e-5c0b-4ab8-bbd7-9887c95a8ebd
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: u3/YGHIvzS+qzrqsvuerODn/aRgfmF5euYjc8e++1lBdTIX88fVUGGNN2IITay0tJ1DWOJiInsSH+oAZwoAr/mkNcMvm7mHdtkqVLBwhHpc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1P190MB0096
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/h8HFKIla2aLgPcLggm4HysANBbs>
Subject: Re: [netmod] yang versioning solution complexity and alternative approaches
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: Wed, 08 Jun 2022 17:04:45 -0000

On Wed, Jun 08, 2022 at 04:40:05PM +0000, Rob Wilton (rwilton) wrote:
> > 
> > Rob,
> > 
> > discussing details is likely distracting from the main difference in
> > our viewpoints so I will only give a top posting response.
> 
> Okay.
> 
> I believe that the consensus of the authors on the weekly calls is also that annotations at the "data definition" level are helpful, alongside module and package (i.e., schema level) version numbers.
> 
> Hence, my understanding of the main difference is whether non-backwards-compatible changes MUST always be explicitly documented at the data node level (and hence whether that means that data nodes can never be deleted from a YANG module), or whether these annotations are unnecessary, and potentially unhelpfully clutter the YANG module in the cases where tooling can robustly infer whether the change is backwards compatible or not.

For me, its a MUST. If you potentially break things, you have to tell
others. If you choose to violate the YANG 1.1 update rules, you have
to document that. Deleting data nodes (well, data nodes is actually
too limiting but that is likely a detail) is a special case and some
way to document that something was remvoed is indeed needed. I think
it is wrong to use a corner case to design the general case here.

If your YANG module gets cluttered because of NBC changes, perhaps
there is something to be said about the engineering process. To
unclutter a module, you give it a new new and remove the history.  I
do not believe that there is a robust algorithm to infer in the
general case whether a change in NBC or not, so it is pointless to
consider this option.
 
> Possibly there is also a second difference of opinion as to whether it is appropriate/safe to assume that any changes that are not explicitly marked as being non-backwards-compatible are in fact backwards compatible.  I.e., specifically, is a "backwards-compatible" annotation also required in the cases where a tool cannot safely infer that a change is backwards-compatible.

If NBC markers are a MUST, then everything not marked is a BC
change. In YANG 1.1, everything following the update rules is a BC
change, hence there are no markers. It seems logical to me to keep the
existing assumptions.

> Do you think that accurately represents the difference in opinion
> from your perspective?

There is another one concerning the implementation. If YANG is changed
in such a way that existing deployed tools derive wrong conclusions,
then this is an NBC change to YANG and the YANG version number needs
to be incremented.

/js

-- 
Jürgen Schönwälder              Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>