[netmod] Comment on draft-clacla-netmod-yang-model-update-02

Balazs Lengyel <balazs.lengyel@ericsson.com> Tue, 14 November 2017 16:51 UTC

Return-Path: <balazs.lengyel@ericsson.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 59F6E128DE5 for <netmod@ietfa.amsl.com>; Tue, 14 Nov 2017 08:51:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.387
X-Spam-Level:
X-Spam-Status: No, score=-3.387 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, HTML_MESSAGE=0.001, MIME_HTML_ONLY=0.723, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, T_DKIM_INVALID=0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=fail (1024-bit key) reason="fail (message has been altered)" header.d=ericsson.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 GWSmWsp7P2Z2 for <netmod@ietfa.amsl.com>; Tue, 14 Nov 2017 08:51:50 -0800 (PST)
Received: from sessmg22.ericsson.net (sessmg22.ericsson.net [193.180.251.58]) (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 F2F4C127843 for <netmod@ietf.org>; Tue, 14 Nov 2017 08:51:49 -0800 (PST)
X-AuditID: c1b4fb3a-c73ff70000004c48-08-5a0b1f241fb7
Received: from ESESSHC005.ericsson.se (Unknown_Domain [153.88.183.33]) by sessmg22.ericsson.net (Symantec Mail Security) with SMTP id 1B.19.19528.42F1B0A5; Tue, 14 Nov 2017 17:51:48 +0100 (CET)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.33) with Microsoft SMTP Server (TLS) id 14.3.352.0; Tue, 14 Nov 2017 17:51:47 +0100
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.onmicrosoft.com; s=selector1-ericsson-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=GJiX0KQeiD6OYq0hsx+PVUSh2c3mYyKfjlbCzrHerpo=; b=I18fKgJeg2TLJJAAd0QC+ZlULrmc1UxAY/BIjr/5DHJbv203DELz2wo+fCOeky6gRKq8nVIvN+9tSUSr/hyYauQwJldNg3iKSCTtpqVN0g/0sz/GVEsyhh5tyxqn4aaUVvQ0S1f7U9lIs8cASku+UuM2G/6OUeQ7WYtCYlhg0pg=
Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=balazs.lengyel@ericsson.com;
Received: from [10.10.12.142] (103.26.221.241) by HE1PR07MB3436.eurprd07.prod.outlook.com (2603:10a6:7:2c::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.20.239.4; Tue, 14 Nov 2017 16:51:44 +0000
To: "netmod@ietf.org" <netmod@ietf.org>
From: Balazs Lengyel <balazs.lengyel@ericsson.com>
Message-ID: <19a4129f-84b4-2d6b-8405-37b85952f53a@ericsson.com>
Date: Wed, 15 Nov 2017 00:51:22 +0800
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0
MIME-Version: 1.0
Content-Type: text/html; charset="utf-8"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
X-Originating-IP: [103.26.221.241]
X-ClientProxiedBy: HK2PR04CA0083.apcprd04.prod.outlook.com (2603:1096:202:15::27) To HE1PR07MB3436.eurprd07.prod.outlook.com (2603:10a6:7:2c::15)
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a5e044c7-0025-43b6-284f-08d52b7ffdc5
X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(2017052603199); SRVR:HE1PR07MB3436;
X-Microsoft-Exchange-Diagnostics: 1; HE1PR07MB3436; 3:pMO94dYp+0zkRYIfyidHrc/iBglS3ewiA+1VWMa4ymwySj2AsTQXuClOqK/0RV4T6w+FnYKyy8iS4KAMJQOTgIZg330IFIsXPDrbqPQL45qMOUJjcg92xVYtFN81QV1xogPBLvFHrx3E+i0cAmFymSmv2E9d3fOTH572CKPrn8LL0hzdiZPSLBd6/EIPKf+uVuZKOC2iJS/Osq9TNqO6KZ2QWRzvpVqbK7GbyfUxOHMyLuzTD8+LOeZXpIhXQ1JL; 25:RTDr+Ci3M2oCCswne4iS+mGYoRy+3IWb82PIerRd8B8rFKCBGQBsXNwrRh+Rg6HzAW2dhqqkOjXpVxPRt7qhTpDYLyxF0fON/yDbmUUPTqKRuQJHTO38nVxsqwk8AY/m1RYFdQ2gTbj4aewP0Ptpicutq9CkMt2QlQjuJ4efp2yUBf0eaqS33XBVAsLzjoVD1KkTZzWrc5BUgpRzUuVczgBW9XWBopDX+W47nLhkyicWDFvppOp0qfy7f0fFB9Yw/WiRa0ssJr4u29VAKbEiJOUaKqwmpPk/BxqYiixr/TzriOU9NJAlzZbCP1BD2dmTwGK+gb6KxWif6A7cCfKssQ==; 31:voJjP4Szmv+RXyUdX/NiEWFJrupn652KyGAc2ql5THv5xRC1f5VtOaC/BRcTvT1N+dX+n+OWMc97bI+mj+TpKiBxwR9+M+DlUXjo0JaKjpmCStqdaWLTuDqLkgk2J3PKjPuCbEk/+R5lFgIQn3u/45xBUsH5QCqlgIVRDicGVLwH9ZFPYio9PkhmBGSsRfpT0yQvorDEz+aW9ntUJoEYQRMDAVPG9vAYRQqj8JamNCk=
X-MS-TrafficTypeDiagnostic: HE1PR07MB3436:
X-Microsoft-Exchange-Diagnostics: 1; HE1PR07MB3436; 20:PFXJW9g4xvR4PzXm2N9901ANSqh38rKrLWwPzKOLI01HS/lj7P4KxoDmv8yqlzbtwoHhdpy/FGcwZ/d1zRFqSFe9eQ5FHnakVkPVPhEDhiocIsrM1vOoZ8mN4SY3iuQM+N/VCW4ScssDWXd7T8msCZoQxLRgRCrdd3Jo6QdBptXnA8NB35nYO7EiDcZ+zE/qw2dtI7cBdux3MJTGxWURqOt8kEJ9ZFucdLpGkcnOap8nTDShbyo+bBb/y1lo2h18dV7WlyoEORXt+J/I4h5HnktWIGEGb3qCeIrYDhmQ/Jo2Sq6xbpazUmISLF6i8ETFeXZOSixPYDGkEQkoynP+vqqIbOtRpsodD+T3PjFB5WsaJ/KQBc/DwdR4eDfsHWA7Ze4qCfAO4DSJLgxYgcQN7GvZ7hrBE2dby5kyj2GKmjl0dBQ9jcKiNMSTgP0XLk/yRuIWR2p7QToUQtyyziZYDUNIutO9c5dBG6z3A2mTd8XKFqsNZUqBHCCvrv5JC6fj; 4:7AxsjN6m/p6KqQ5LDRNDreH0FF/jfFHTZi+4Ln6JjYmDM/xuTaxhJAiqkzET0vi1k1IBsaa68Vi9vBrHDgIdSEFifBFuLpLZa+8tb52pVkOOCuwy7d81opy8jBVz1IhduAK6IhPipI2FLpgMx6OsviFUZdPKnI0/HW7kLsg2coFgd53owigVO7FoScUmMiWTLZz1MTNN24OdC+P4Nl7BzVlGACRjmBxji6Oe0j+hU9Ab0C3tG1SI0UBHAcev2i8zG8J4AON1KVrX+ncLCG10dnyMnAD1YAkm1+pS2Pctqb6aT/mLbTePJJHqaxALfBVr
X-Microsoft-Antispam-PRVS: <HE1PR07MB34366188C194D0F70CC66B37F0280@HE1PR07MB3436.eurprd07.prod.outlook.com>
X-Exchange-Antispam-Report-Test: UriScan:(37575265505322);
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(3231022)(10201501046)(3002001)(100000703101)(100105400095)(93006095)(93001095)(6041248)(20161123555025)(20161123564025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:HE1PR07MB3436; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:HE1PR07MB3436;
X-Forefront-PRVS: 04916EA04C
X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6049001)(376002)(346002)(39860400002)(189002)(199003)(252514010)(33646002)(2351001)(2870700001)(23676003)(16526018)(58126008)(6116002)(230783001)(1730700003)(5660300001)(81156014)(2501003)(81166006)(2906002)(189998001)(65806001)(65956001)(66066001)(64126003)(3846002)(77096006)(23846002)(5640700003)(6486002)(97736004)(83506002)(50466002)(106356001)(15650500001)(86362001)(31696002)(16576012)(65826007)(105586002)(478600001)(68736007)(6666003)(7736002)(54356999)(50986999)(53936002)(6916009)(31686004)(8936002)(236005)(54896002)(25786009)(36756003)(8676002)(101416001)(316002); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR07MB3436; H:[10.10.12.142]; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en;
Received-SPF: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts)
X-Microsoft-Exchange-Diagnostics: 1;HE1PR07MB3436;23:vZBPkV90w3gHVZoqk/3gSh5z+wb97etwDhDiDIuBHuUKJ4+d7NNCO+VpCkWZd0e1jHHtHYA5csSF90Ko5/Ogkhwo7vtZD4kJvTgUnejxpYcT+Bz+aMkwLbi1FS1uEJ1XZ6nU2wkxZFAhMurpYFrmIBKeANwzu7d5Jn2UsB5p5D5INPX8Itm0B5mN4yO8psZ/x/F+N62K+O05QppNhmZp5UavgSsBR4wv3y3Grtt6rIH8yQcpnovYkqEFQdM1UeJA/ySGGpLq0ZsNkoVzFQ0Dk37cShFF5fOjdC3ZDzczjnCDGmWaq2cll6HJ0h2bm1FUNVVe0s5OsULjP1UD/4SLZNNl61AjbQ0NvNMeW9oNtimxNgUfsDKuKfELI1blfY2F34UQhQJHvLeJVwHmFEqtJ2oEcSIElOfryOqCp7a0p4uSauPbUWXRVxKW1ZGqtvX7kLrQ3lS/nFO1Due97ta/uk5z3HyD/xFXCWH+qf/fEbpLLGYGFzbOHY7m8/5fYP2Kp60bkfjCnkAs4IlTjkV51LojkLV7k+/Wl6D9r7op4DgSG75YKY9wQp9cQbUMmN5y7+qQ0BACCeBwW9DzSYa5JDcqXjuZDeHX/I4/XY5FSCwEclBrQSHu6SzXkILeNWWQGO2asvuDuqFMznuvbcAUknDqkckb5FWyk+znub93IJ+A57LcG0LQuNX491GZ8v/yEu0BIgi9sL5pNvVOc4mqssequXya0N16i4ZL3K4i01b88MNJMiF2yJWpT3VxdNdNGqXwnTE8hURsH9iSO4x4qRKrCMB9dAMHdK68lepScTnnH0L3U9L3hNZkR681n63nA/BLsLf9qvbxOBJrXCQKHesNudn4+L+PsNjjYtok/SFz+sz/T4RcbhLp/XXdBSlf4sR+KanfvyDONUG1sQz0A/n2zQJukOegBbe2HskecEl9lKkUiMoGRb00y1iKILr7cKmVCm1IaBbfvEgxJh4B1H4GQgEF+GxKYEHQvZi4IET4kA4/hOwtA0lfTYy+3NFrjMatRUeNKRJs26hyIlkruxydbc7sHMzmuOqHn1SU92ZaqB4lh1iPYQJ9z9/o5OSmkrZM6QeKqbr6XAj3Lf9NYO4MOErcO/16PbGHiyUrPZh49NbeyzUZGxjr+7tmN1BlW/Lu7+na/pTWMKLn1H/+KAOXDWF85tTopX/zdhuWEtwgSABk5HjzE6UCnhGqYo4Fw6PgPPloVc2f92HLQ1yxFi+g4OZHtvSxX1R4eaPcFSlPlwnbPxojwZUaOOPHmYp+G3ctJDYpho07jyDPdwSRsnjsItFYNfjuPPONRO+Q7OOjg5ok5kMDUn35djHwVgfMBGIarljxLnidJ2eD6iVITA==
X-Microsoft-Exchange-Diagnostics: 1; HE1PR07MB3436; 6:9wsmaNbGQIjV9h/UeSkz3DDOpmLkKXWuqvawQrudHVE2V6XwgMZzpSwLgI5tTeiMU9ubYkoxaxTW+kNpK4yvvOWeo3EBqFSHPgSgCPNR/mclIQ2ACEHZynrTTlAs6kj4GcaXnsqMR6tSGiFAkWMi8yWOgEdfPuK3gP2/Q9HCtXyHXlMmXJ2ddhdKo6JKrDii2kDgPpalw3WXT3+6brtt7XWV5vxr+zRejyQRQ/yVgNLVEroV51JJzr+25uDhON3JZ42uVEL3u3M52XCgyMBFlUrHebTFmTxrv1xfOlqBMR47qlDt0wLm993LkzdL+ZQqbFXRf3ypopxujsRivyT0XjTd1lIEvzWlMTxaMiDVoFw=; 5:LJNUXQ++3zTLk0N/6AC+eZzYVl2VvSid+CQV7xUz/I6PilRrmwbQ3onFSb9So/j/U5VgCiacQyVXHhHMl/vFnNFTBMh4YAc0M4R5uzzr2sFHhuqnSEW2a+PLvlk1IEDPnY+FLxe6TyC21xxc2cxU51E24eWttJbS5Bd9gCmY1dQ=; 24:8UgUjgwHny2WouySzg8thz/NxK5aBEMMisNREXmjvgqoEzKapKkJdHaCnKmNqDhvIH5EV0v3X5WJZsTTGj5yi1Z20HM+NOwRoPqS77DrsA0=; 7:BHWMiDCfwqYA7FIs7JNFwzbH6YmV7rYIPLECrkR/nIjSRlEkkCookZC4dyehVENvOZ2fV7vmSrQV1MAsmWQfg3v3KypAtBNGoyGcuLtxt/WDU3Z7RNIXsx7jGMbNhFdH9H22GBXcLRyxsbxJpeOq1yIQtViTEHvqgpa2ql76FwFxTGu3oXx2d4ql0aUO/ZL4HcAbrSEQGTcpLsd5efoskg0QAn2RZ2cS3DZjhOiwqyba7b+b+FSODCR62rLcqy8R
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Nov 2017 16:51:44.9159 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a5e044c7-0025-43b6-284f-08d52b7ffdc5
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR07MB3436
X-OriginatorOrg: ericsson.com
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrHIsWRmVeSWpSXmKPExsUyM2K7oq6KPHeUwa8lIhbzLzayOjB6LFny kymAMYrLJiU1J7MstUjfLoEr49iBc0wFG3Qq1mzbw9LA+FGhi5GTQ0LAROLaqcvsXYxcHEIC hxkl/m3cywbhnGCUaPm/BMxhEehllpjUdZ0RpIVRIE5i55qFrBBVrUwSs5oOs4EkRATUJWbu XA9mswkYSUztP8/SxcjBISxgI/F+kzZImFfAXmLP18fMIDaLgKrEhB1bwWxRgRiJiQ8uMkLU CEqcnPmEBcRmFtCQaJ0zlx3CFpe49WQ+E4QtL9G8dTYzxAtKEg/aH4C9ICEwlVFiYet8VpCE EFDzwwt/WSGKZCWOnp0Ddo+EgK/E5Z1xEPUzGSX+3+2Aam5gl/i/YxrUVC2J22tPskEkfrBJ XJ5wgx0ikS1xb+EPRgjbSuL1r++MEEVXWCXOX1kG1S0jcejQQyaIxCNWiUMbHrNA3JQqseVG C9TYNUISDSv+sU9g1JyF5PFZSB6fheTxWUgeX8DIsopRtDi1uDg33chIL7UoM7m4OD9PLy+1 ZBMjMFUc3PLbagfjweeOhxgFOBiVeHh5ZLijhFgTy4orcw8xSnAwK4nw7pzFFSXEm5JYWZVa lB9fVJqTWnyIUZqDRUmc10MEqFogPbEkNTs1tSC1CCbLxMEp1cBY2V5bvTzRuWdzQNrnuK2R v989L9itqjXr8P1758+3GvI96522TfndiYdMOj89mCKbOm0fO8qKvdzGNmXJq6bpfIcLHBYf fsI99Zt/dfpcYeWlhjmK97/3u6WGHpS4zRAz8bu4bJi9bWLLrNiasE759CiRrjdiRQseSc4w W9x5c/1aq36WOf5KLMUZiYZazEXFiQDRenFIEQMAAA==
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/AIFRkIX--YbhsxjIQwfCRvBA1Go>
Subject: [netmod] Comment on draft-clacla-netmod-yang-model-update-02
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.22
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, 14 Nov 2017 16:51:52 -0000

Hello,

First of all Ericsson very strongly supports this draft. This is a problem we definitely have, and for which we had to create our own internal solution. So we would love to see an IETF solution!

General)

The document does not mention some other problems with the current versioning. These stem from

  • we should allow non-backward compatible (NBC) changes in some limited cases
  • it should be possible to determine two module versions' compatibility without a line-by-line comparison

Whenever a client OSS implements some higher level logic for a network function, something that can not be implemented in a purely model driven way, it is always dependent on a specific version of the Yang Module (YAM). If the client finds that the module has been updated on the network node, it has to decide if it tries to handle it as it did the previous version of the model or if it just stops to avoid problems. To make this decision the client needs to know if the module was updated in a backward compatible way or not. This is not addressed with the current versioning.

While having PYANG based checks for backward compatibility is a very good idea, a  comparison based check will never be a complete check. It is quite possible to change just the behavior of an rpc/action/etc.  without changing the YANG definition.  This will only show up as a change of the description statement that can not be analyzed by PYANG.

When upgrading a network node we might introduce non-backward compatible (NBC) changes. Today we need to introduce a new module for this. That means during the upgrade process the node must convert stored configuration instance data from ietf-routing to ietf-routing-2 format. Instead of solving this data transformation/transfer problem just for a few NBC data nodes, we will have to do it for the full model. This is complicated. In many cases the transformation of a few NBC leafs can be handled by good defaults or with a small script. Transferring the full data set is more complicated. If we allow NBC updates in some cases this problem is avoided.

If we update the module from ietf-routing to ietf-routing-2 ? Do we keep the prefix?  In one sense it should be kept as it is the same module "logically"; we also might have stored data including the prefix (identityrefs, instance-identifiers). On the other hand having multiple modules with the same prefix is a problem. The only good solution is to allow incompatible updates in some cases.

CH 1)

You write
"The YANG data modeling language [RFC7950] specifies strict rules for updating..."
and again
"When the same YANG module name is kept, the new YANG module  revision must always be updated in a backward-compatible way."

I strongly disagree. While we have strict rules about even small modifications to existing schema, but you are allowed to deprecate/obsolete big parts of the model, thereby possibly deleting complete subtrees from the schema. That is anything but strict backward compatibility.
I find this aspect of YANG inconsistent to the level that it would need an errata.

So practically the current rules allow backward incompatible changes that can only be detected by a line by line comparison of the yang modules. In a system with semantic versioning, you could determine backward compatibility just by reading the version numbers.

CH 2.3)
As we need to create a new Yang Module (YAM) even for the smallest incompatible modification, this increases the number of modules.

CH 2.5)  We already have vendor modules depending on ietf-routing

CH3.1)

I propose that the semantic version should be a mandatory substatement of the YANG revision statement. It should be updated every time, and it would be good to see the older semantic versions as well.

I would propose to have 3 separate statements for x,y,z. I don't like structured strings. It would be much easier to compare simple integers.

I can if needed provide some more detailed rules for x,y,z e.g. if x is stepped y and z MUST be set to 0.

IMHO YANG package definition should be a separate issue, left out of this document. Andy has already provided some very good ideas about this topic.

I also think the current definition of deprecated and obsolete in YANG 1.1 is near useless, as all it says that both deprecated and obsolete items may or may not be there. We need something better. 

regards Balazs

-- 
Balazs Lengyel                       Ericsson Hungary Ltd.
Senior Specialist
Mobile: +36-70-330-7909              email: Balazs.Lengyel@ericsson.com