[netmod] yang versioning solution complexity and alternative approaches

Jürgen Schönwälder <j.schoenwaelder@jacobs-university.de> Wed, 09 March 2022 10:16 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 F20013A0A4E for <netmod@ietfa.amsl.com>; Wed, 9 Mar 2022 02:16:20 -0800 (PST)
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 ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id exPNZwtqvFdE for <netmod@ietfa.amsl.com>; Wed, 9 Mar 2022 02:16:16 -0800 (PST)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2060a.outbound.protection.outlook.com [IPv6:2a01:111:f400:7d00::60a]) (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 18C043A0A25 for <netmod@ietf.org>; Wed, 9 Mar 2022 02:16:16 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UXjxKB35ltUkV8rHNfunnbLjqIWOFsy/uhsiUxeR9m/+lH+5CjaCiGT0+C1eECPkfX9GEeBv/8iSnWpXfrRpWNnTYhqCa5K5/316Mzg7vDqEdBJ5VkTe8kv33V2EeytJyKRfcDqQVF5O0e4xO6rilJo/22hJSAMAX5QarCvMel72h4eIQkKVs69F/100evI2kztYVDt9bzDx3Cs/3tK03NhX3FGEtozdilZ1LoNxR61Ron79IRoowo1LMdEQVhQvCoWLpXDcG9krRICQhspduDs+D+hYtB5pOS9wIfhKtgIgCa9je5c5s6Dp9JkCG+f+B84UOPL6MGpzugIFKixqIw==
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=65lSG9c4GwW84ei5EjJ8fYUedYQT5laVE6sNnsDZGdo=; b=RP6gHIDNSTbH5XfeWgV9VR35/m17XHczxGVb/b9zCI5nirTbQ6yRcvaK3z5S7P7n3KS75evk1+ifYVtztFw82gL6C6cvu7JZyb/7a09+1VTQnE+TojBMK+lEu4jWRRnXeQH9m/P25BkyWdyBA2q5nZZK0EnfOYl4YuI+X4NM46j5UgMRcNSvgNKV9UodO7L3b4/DSG9hh2/RXJXN3MlGNk267Z8arK7TWQ10f42LGyRHXHDJH3oX6+QOM/VNgkKEc+LaP9Ys1bhVpTcZB73nZcS/UefVi9SKTj6aSBWIgAEURc/a12+qrVPQEosOYfQcw5ZJXm1foptEoN5s64GovA==
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=65lSG9c4GwW84ei5EjJ8fYUedYQT5laVE6sNnsDZGdo=; b=nnAgEn1+oU4KoP+n8HBOTOZhkrwq4DqA4hTtOAgc6kwwKSXZREMWBIRK9T89L+xw7D2QeJ5HLgCg2l57euy8tOT2r11L2b5jzEGu2p5IJXpdu3oTVs2CC6Ahao40q0Ucoilvz8UHO1gPau3+yrLQRnLubtqgJDQw+7sgmnfsYc0=
Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=jacobs-university.de;
Received: from VI1P190MB0656.EURP190.PROD.OUTLOOK.COM (2603:10a6:800:12b::14) by HE1P190MB0153.EURP190.PROD.OUTLOOK.COM (2603:10a6:3:cb::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5038.15; Wed, 9 Mar 2022 10:16:11 +0000
Received: from VI1P190MB0656.EURP190.PROD.OUTLOOK.COM ([fe80::1040:f016:2d60:5c9a]) by VI1P190MB0656.EURP190.PROD.OUTLOOK.COM ([fe80::1040:f016:2d60:5c9a%6]) with mapi id 15.20.5038.027; Wed, 9 Mar 2022 10:16:11 +0000
Date: Wed, 09 Mar 2022 11:16:09 +0100
From: Jürgen Schönwälder <j.schoenwaelder@jacobs-university.de>
To: netmod@ietf.org
Message-ID: <20220309101609.d33knxlhyq62wejq@anna>
Reply-To: Jürgen Schönwälder <j.schoenwaelder@jacobs-university.de>
Mail-Followup-To: netmod@ietf.org
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: AM0PR10CA0041.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:150::21) To VI1P190MB0656.EURP190.PROD.OUTLOOK.COM (2603:10a6:800:12b::14)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: fda94f7c-7210-4763-a317-08da01b5d582
X-MS-TrafficTypeDiagnostic: HE1P190MB0153:EE_
X-Microsoft-Antispam-PRVS: <HE1P190MB0153E343AEE47FCE88107AABDE0A9@HE1P190MB0153.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: /OdI8YVHH8XkfyykGuGqUveqTNbKKBCacebUQWTcJXyMHalTebRmUbmLOfVhZ1GLX1Qa+VZXBzCIqB4xHia5Y80+90YsUthfWdUvX77lk37+FUoijZuiYGm9UPFszbijfbgXHjumNHQ8lmx2r9ZpfHIIfV24DymnLym7qP+fJ2Qf7CiX74z3ZAcuQiYcqFcOpWCAGwYo1yY0Jas2P1WG/IdwtVRAmxpAHU3frHphYouIKi19LPIDSKUJZ/JVYzf2+FY8NbGinyv77zqw0/Bp0481eeHe9wEVIU81b/Q5+7GjcrTQLf61HOMJIVdkDLkOn/4x4v71p/7NTUd0yUWm88GbytIZ6EeUJy/KeREIUIKTYe1aZub8JV2W1vpkjadqCch062PSvzAAGL0nNesxCJ8HBqq8IDbvuEu7aICHEPN2AKkh76ZaCNO7z5AbRWQFUL5fmEOh3ubwhElqCvw+a3YgxkVQw/+fDCcR5B3T3tZefcCij5uNgBRmB20E+FWqr2QRnNagQplJgnOqgt7QmlIuYumV3SAnC+UojbuuzCNiMgqa0GIhk4JvkLslAd1QyDW+vTAeqcqWxuHyz4Oud9a74r0j19JvDYZRx5965I1eIJGemAhSlCzEMt7LvuzQ6qLx4kOXyMFsJqZJjHmCV4dHubw2rO90+76XJHRrY4P6IMSkSM4luSKXrMc07R7o5GcFLM2O3B41uOmvV5J0h0gQ9SQUAvz4LCa5B+il99S7GT3LO1GKiH1pUkc5ZFKgn4heKTR5GumN/YRFwyACtc+Xh+SkPND4ucF/5EkEka8=
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1P190MB0656.EURP190.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230001)(7916004)(366004)(66946007)(66556008)(8676002)(508600001)(86362001)(40140700001)(6486002)(6916009)(786003)(83380400001)(316002)(5660300002)(38350700002)(9686003)(6512007)(38100700002)(33716001)(6506007)(52116002)(186003)(26005)(1076003)(85182001)(8936002)(85202003)(3450700001)(2906002)(66476007); DIR:OUT; SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: /ln7MyXWHQnjiOeGj4ik68NOj/dihOiq6R3Z2By9So6HPecGEzt/pMGuI/KHXDwQcR1a8CpbxyHywPtLSJpTB2236yi/+/J9vOQFvnkuRx5NRtSk2Q55FRYLeywRLryz+KlVoqTEQpWzSCx6L2gXdMS3St3+hr0u9sLiRA69vv2qWbZaA6Gd47XPpIg4/EKlm1ucvA2Q/Ve5Y+RV0dQH8+vBNtAlHFkfsR6bC5BRulErksjP3bsQmbCt2oXXqpKnWWglDS8tLKGH0utQI1Ou4PL/T+CjxDP/MrmS1rFYuwf4pJTd7ilK3LHPDuQfarfhvX4gF/JB+AoBcEBS8Up3TgIkBivRyfGipLxy8yXCDfGEGmABQeqyXKB1p+Y1pRqoWGySQ8UmN6fJX2HEZsjWhemaugyZBI8EtdFVl1qbGGRMLAN4pnfRus+KYNRbUgUbb38KCtPsEETXkBJDMpFYYPeZsOxwwRiPyuFAlIXAiMS1eUyi5NPA0hKfblEoJiL9rRGBSj40TnZdOhfcE4sl0oyDHHyg7+jSYtBbd0rvaOqrLnvPo0r22pKk0InPIlyCJdbEnwK2s5PSoUHSa3tRgmDT+SrIvmPNRdnxZ1yZy7q4C60if4Xv4mZ633he6dQmhbxurDjNKJMWt05t7kj/15gTOpomVio3ntNRNMCo72DII49RHnHsdkdx+wdweH7jnxv0qPcTltmFC4zFZdxwOjbfX1tCfY9q7ocEu9GqoqvjZKI4ITeMjTzwEb5P/qRVFVvy6ZS8OrTQf7kCWHI9YigTYzMCDmIAEe9kFrqWvufW2CSyqyJbZ+lQbn64DjsBGC5KQ5SE9KxZ86x8+3VUzUUASmDfZp5JgwF4JXQtvSgIo6fMz8fiXwWTaxlNuRKv5N5zYTfzWRL1RtusULCpNyDhfJTRrk6yIOHiyxBrC9TNHYRqvWLZHf8wnyyPd+YBzE6hYRPo/l2846gcTmRgyWoMidF/5fd+rxxIqTpR7HEQ5z9BPjFAIMnhgPzV0CGvQHIOiWB8dVTAN0XN+SdyH7cNDL2AChRlSQyRxdziJickhwhMdX2VwZegk61UQhXRdaf/vG4M79IUDqFV+YuU9pO9PW3T9vjQvOARnsxJrpf01G0epBsM2slwhX3mGGGNymoK9u+waEVEPDNGL1ES2VH/Q1FQ5ojmB01cRaCfKbejX2Ryr9+p9/xtex38lrpjS3TQNUtCUXQtA3cUEMTEL3EDuW4nJJ/nStqueyJovzDIid3mdrOhAGlXv5K0Gq+/VI9gPJMc6/BSVyA9yRnPubqEZM2hg3HSKOoeU8mR57rhzbO7/FUVvAh0Nuwoh9yjH8Ny9VMzd+sRukPI/wcwHGZ7uY5Afj9VVWVKIJOH7hByHo5tyzbkBTPrGVMg2y1HDirR+RHw0AKZ+TnEQhcVNZ9pE7bx8YkNY/fmxe1/JN8pLIyztV8lssLRnRitod8sCa11oHMurLcLwlcj3yxY/DLQbKPDVRzPlzBRZpyGF05maIkQ2IRPpC1adWTn1rMi2v+5MulQFu+4nL9nTlgNTyBvPjJulGW4ZWiN2aLVNOYoaFJoH4agj4MwHnYprufIgRdqnCUi4D0e591ebiYIjVIC6Igy6ZJ3Z18f2X16HQ6Iw6sF2Nq0awKYuOzSXT4LK639p99+5R7W0HelkO2xxg==
X-OriginatorOrg: jacobs-university.de
X-MS-Exchange-CrossTenant-Network-Message-Id: fda94f7c-7210-4763-a317-08da01b5d582
X-MS-Exchange-CrossTenant-AuthSource: VI1P190MB0656.EURP190.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2022 10:16:11.0725 (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: xrjj8dGJjudVy9D5J0o9B/qqJNQvkFtlSZZmKIf8LeXKGPxcyYjwbdnwxfoINott6X48LlcAXVpOAhsTw0UzEqLAi9ryo12ctxaaWsXIiFc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1P190MB0153
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/9T0f3rvtT2Q0LXDrHFT8EfrIsWU>
Subject: [netmod] yang versioning solution complexity and alternative approaches
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
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, 09 Mar 2022 10:16:21 -0000

Hi,

the YANG versioning solution appears to be complex.

- We introduce version numbers that smell a bit like SemVers but then
  are not really SemVer.

- We have no solution to do meaningful things with these version
  numbers, it does not even seem to be possible to decide whether
  X.Y.Z derives from x.y.z or not. We still seem to believe that
  having compatibility constraints embedded in module imports are a
  workable solution even though we acknowledge future breaking
  changes.

- We push for a reasonably complex algorithm to calculate deltas of
  YANG module revisions to let users of modules to determine the real
  impact of module updates on their work.

I wonder why we not consider the opposite approach, namely to have
author making NBC changes to document them right where the changes
are. If authors would write something like

      leaf foo {
	nbc-change "2022-03-01" {
          description "changed type from int32 to string";
	};
	// ...
      }

then tool and humans can easily figure out in which revision NBC
changes occured and if they affect a certain usage of the module.

Instead of simply properly documenting the changes, we invent fuzzy
version numbers and complex algorithms to reverse engineer the facts
that could have easily been documented by whoever makes the change.

If the reason is that developers do not document their changes, then
go and develop tools to force them to document their changes. I do not
think it is fair to simply push the pain to the users of YANG modules.

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