Re: [netmod] Choice for filtering YANG imports

"Reshad Rahman (rrahman)" <rrahman@cisco.com> Tue, 08 September 2020 12:07 UTC

Return-Path: <rrahman@cisco.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 1CFB83A1143 for <netmod@ietfa.amsl.com>; Tue, 8 Sep 2020 05:07:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.598
X-Spam-Level:
X-Spam-Status: No, score=-9.598 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com header.b=aDejSELr; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=N/CiRZxu
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 I_CMDKrI8D8s for <netmod@ietfa.amsl.com>; Tue, 8 Sep 2020 05:07:17 -0700 (PDT)
Received: from alln-iport-3.cisco.com (alln-iport-3.cisco.com [173.37.142.90]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 267503A113D for <netmod@ietf.org>; Tue, 8 Sep 2020 05:07:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=5006; q=dns/txt; s=iport; t=1599566837; x=1600776437; h=from:to:subject:date:message-id:content-id: content-transfer-encoding:mime-version; bh=SQ8tqOOhf459YZCbVBYiqQlCO/80bSgUF7YCo+GWeco=; b=aDejSELr3nd0HN6HAQEFy7NrsrtjFCatTx8vLKIoWHn9EDglnQeGPzZc SiDpSWnE+gN5hN31aAmf6Q6PVUgQPedZjawBOoFVeStFZYK0iK1fis3XM WjRhkkwGvIacuXgbiHsRj642p2WXs3Essi0EmexHqtVthznndCyL1D4YD s=;
X-IPAS-Result: A0AYHgABc1df/5tdJa1fHAEBATwBAQQEAQECAQEHAQEVgU8CgTwCAREjLgdwWS8shDiDRgOmYIFCgREDVQsBAQEMAQEYCwoCBAEBhAdEGYF6AiQ3Bg4CAwEBAQMCAwEBAQEFAQEBAgEGBG2FXAyFcwIBAwEBEBERDAEBLAwRAQgaAiYCBCULFRIEARIigwQBgksDLgEOpzgCgTmIYXaBMoMBAQEFgkuCPxiCEAMGgQ4oAgEBAYJug2iGURuBQT+BEAEnHIJNPoJcAQECgSgBEgEhF4MAM4ItkxujUwqCZZoyAx6gVpJRn1cCBAIEBQIOAQEFgWokZ3BwFTsqAYI+UBcCDZIQhRSFQnQCNQIGAQkBAQMJfI59AQE
IronPort-PHdr: 9a23:MlH9kBw8zXe8+j7XCy+N+z0EezQntrPoPwUc9psgjfdUf7+++4j5ZRaDt/lohUXCG4TW9/wCjPDZ4OjsWm0FtJCGtn1KMJlBTAQMhshemQs8SNWEBkv2IL+PDWQ6Ec1OWUUj8yS9Nk5YS8r7bkfZ5Hy/8TBUHQ/wZkJ5I+3vEdvUiMK6n+m555zUZVBOgzywKbN/JRm7t0PfrM4T1IBjMa02jBDOpyhF
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="5.76,405,1592870400"; d="scan'208";a="529368002"
Received: from rcdn-core-4.cisco.com ([173.37.93.155]) by alln-iport-3.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 08 Sep 2020 12:07:15 +0000
Received: from XCH-ALN-002.cisco.com (xch-aln-002.cisco.com [173.36.7.12]) by rcdn-core-4.cisco.com (8.15.2/8.15.2) with ESMTPS id 088C7F2t018949 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 8 Sep 2020 12:07:15 GMT
Received: from xhs-aln-002.cisco.com (173.37.135.119) by XCH-ALN-002.cisco.com (173.36.7.12) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 8 Sep 2020 07:07:15 -0500
Received: from xhs-rcd-002.cisco.com (173.37.227.247) by xhs-aln-002.cisco.com (173.37.135.119) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 8 Sep 2020 07:07:14 -0500
Received: from NAM10-MW2-obe.outbound.protection.outlook.com (72.163.14.9) by xhs-rcd-002.cisco.com (173.37.227.247) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Tue, 8 Sep 2020 07:07:14 -0500
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BqkUFlPlGZPYI5ZTzbHAbdpYeUbprnDFN1GvtA+8uZdmKsDcR8WqhLj9LQllSc6XwSikBgauM9Va0KjG8W+hXM9h6LQA1NM8hS9aihPzkOUViE5NM9MfyTmOBg4BUkrloOQMPh3HDfSWI/vlG23hFu6u6E1na1nPdhE95lNiZMtXPmGC3PqjBWG4S9Woe+3g4gf1G2G1/g6VhPmik1gbjc3WgO/2evu8kw2PtWU4vX7MexLqrLErQcWikqSI+VR5++QgM7ll1yy+EdL1ZjFyuRzMC28cwG1862KyrlttrkmHqo/ukXpRKpscyixIRSeWNnULMBCBBJtlgBfSjRbosA==
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-SenderADCheck; bh=SQ8tqOOhf459YZCbVBYiqQlCO/80bSgUF7YCo+GWeco=; b=jAdGNCR8/0Sldv78jTkuOIQ3eAfpigJffgzB62d/LHkcp22Kw0V01MzDfgUlNduzEibVwdNaLUpeL5kMXMB7PeegMmIeAAwYNCFlmt4qYNxuTi57Z3OjFUo+DLu67kOOVvi/2Fq4qx9PldAXyuJ9grE+5X70U4ORD6F9yS9J3BMOtJNv57C+5DYjRdrS4gqwmG3snyKYU90QbkLWBd5BzvyoygfdobuCL648rlgLoG/IPuJKao2iJHaaeoWJZohKbnxfAClEYh/nI61PlXeVZsX963ifHPx8CIUXBuyUybX2WczetCDt7ZzUZUsj+PKBgisLUEKxBIu2kN+DHOJI0Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cisco.com; dmarc=pass action=none header.from=cisco.com; dkim=pass header.d=cisco.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.onmicrosoft.com; s=selector2-cisco-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SQ8tqOOhf459YZCbVBYiqQlCO/80bSgUF7YCo+GWeco=; b=N/CiRZxuBNG3GpR4ol60w988sC6AiX48KwI2ybfM2PfPi/mVCtFi28BYdB5Bsd2B5OotkWFH/xuXC62nlZfk+4F7/VLawT1uxptd2mpjzdS81mKgQrRaOey23HrSiZkpmwre1Hq+8ypPeVtc2Iq4J8OF3WfN3KgQrlQxq/za3PI=
Received: from BN6PR11MB3875.namprd11.prod.outlook.com (2603:10b6:405:80::37) by BN6PR11MB4164.namprd11.prod.outlook.com (2603:10b6:405:82::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3348.15; Tue, 8 Sep 2020 12:07:13 +0000
Received: from BN6PR11MB3875.namprd11.prod.outlook.com ([fe80::6db4:f6de:cc07:487]) by BN6PR11MB3875.namprd11.prod.outlook.com ([fe80::6db4:f6de:cc07:487%6]) with mapi id 15.20.3348.019; Tue, 8 Sep 2020 12:07:13 +0000
From: "Reshad Rahman (rrahman)" <rrahman@cisco.com>
To: "Rob Wilton (rwilton)" <rwilton=40cisco.com@dmarc.ietf.org>, "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: [netmod] Choice for filtering YANG imports
Thread-Index: AQHWhdiVZ8C7oxAjfUeX/Hav8A6jjA==
Date: Tue, 08 Sep 2020 12:07:12 +0000
Message-ID: <4C50EC32-F8D3-4E27-A9E7-44CDB425E98C@cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.37.20051002
authentication-results: dmarc.ietf.org; dkim=none (message not signed) header.d=none;dmarc.ietf.org; dmarc=none action=none header.from=cisco.com;
x-originating-ip: [2607:fea8:bee0:ea6:6c80:f181:189a:edf1]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: cd054639-3699-4254-a93e-08d853efb87b
x-ms-traffictypediagnostic: BN6PR11MB4164:
x-microsoft-antispam-prvs: <BN6PR11MB4164C564C50C05F896495982AB290@BN6PR11MB4164.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:8273;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: pNoJ7LmPru9iZr3WaXtMqJWWNHBYH3kyyZ/Kb/M/swKU4Z6ERwHLL9Na59wW+3YjrKQV/Mn87AygHQnBgAjB7NKifBoveYbCpsPrL5EuXEMSXQnZjfDUpqWUTS3CJxIY0WlS0wpRSo9hpQmLZ01q40em/1jo+GZiz59Y2prYXPRRP1yVg9xopEsFxqg9OznyaXEj4WNuD1pNIf5aGs0Z+rGad3z8C8/6GJwl+oROpUQrwi+EaClS2akhjk7Ft9MoUksgZzGg7Q+paJi8SyqjNQomtDeorebUb2MOiAMuqBDnP52HzFoCA7tCmBrW5bL+Kc61HYoK0Lny93FSro/wXiYwVrqiPefbKAiJtB/uKf8CmAhj5jdKXpPSVOZu3inZbWHmFrfMWEAaVneakm7sGg==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN6PR11MB3875.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(376002)(366004)(136003)(346002)(39860400002)(396003)(5660300002)(33656002)(2616005)(91956017)(8676002)(110136005)(316002)(64756008)(76116006)(66446008)(36756003)(66476007)(66946007)(66556008)(83380400001)(478600001)(6506007)(6486002)(71200400001)(966005)(86362001)(186003)(2906002)(6512007)(8936002); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata: 6jvow8gu/3nM4fUnb57SEhgGZyYUxz0afH+Ac4XjTVmmlKqwpR8TZeASuZJUO3wJyOi5kr0ontgCkGhSL9nGOIMYQgO9tIwLkwW3LE78Ix8CS1lch9cmK8j88s8YC2oUkVqcLr6+001I+fTBfEb65aPH61QaLtewmSZJued/qwr1Hz4/cmT+0/fjt1lc31bctJFE4Gn8e+iGdFpCk85dbGf0PR92icCawpjnwv8an2TnbMu8AU1bMZPPWAZxCvkr0ytNQr33SrPKNWjrAlpXasn5eKHPx00lk1whNdkgLw/89bBmn6EVpW66pIFkVhZcQtZoTMPOfq7sy5r4CcWsIQr9vhalRx5vQzYeMXc3rL52wDPLeH6FShZrUShhvikVe3IFKmxbPa9i1//8Bh1ox57JGF1nL1W9OySGmuVc01LSPKvZuO+Oz8LHih5U6YFgTIKZ2YC7k7oa6ixQPMIm94/JebcQxBEcQgJsFWUtChtKjrDvjJfrDsas1dA2Kgyi4QNWkHHJHfV49rYZ3Ptw0cw2ndKkAjxsq9fZlYjoTTfPcUUKlJt35ulj36/OSW2TT4ZZgEuAKkMO8VGhUGhu7ItyKszpn8H6xZFNVa9BrlWA6GmJtajcMvl59MbX74MAci7TsNzAVskh8yoBbGDpNVA4s5rH8/v9PAVbGMf4DZRBxqf2NXBtsRepVCjFJWxNBptCvt+9ii48QLLt2DvOQw==
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-ID: <B2B2B5090020404BA124657E05EA028D@namprd11.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN6PR11MB3875.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cd054639-3699-4254-a93e-08d853efb87b
X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Sep 2020 12:07:12.8547 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5ae1af62-9505-4097-a69a-c1553ef7840e
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: hJq4NBFICBlSU+wtY6RAS+/ch71kF6Tpbb64WZVHfGsehFUjixLlKSjtXd8M3YFFviUXDCcxa4KiH9e96SXTWA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB4164
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 173.36.7.12, xch-aln-002.cisco.com
X-Outbound-Node: rcdn-core-4.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/3GwwThY4LQlIyIblWy7TqqPJqSI>
Subject: Re: [netmod] Choice for filtering YANG imports
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: Tue, 08 Sep 2020 12:07:20 -0000

Hi Rob, all,

My concern with "rev:revision-or-derived" is that an NBC change to an imported module can "break" the importing module without any action on the part of the owner of the importing module.

So yes I would want to use "rev:revision-or-compatible-derived", despite the coupling described below.

Regards,
Reshad.

On 2020-09-02, 7:25 AM, "netmod on behalf of Rob Wilton (rwilton)" <netmod-bounces@ietf.org on behalf of rwilton=40cisco.com@dmarc.ietf.org> wrote:

    Hi,

    My second email on imports ...

    RFC 7950 supports two variants of import: The default choice is import any revision of a module, but the revision-date substatement may be used to restrict the import to a single specific revision.  The "import specific revision" has been found to be less useful than expected and potentially harmful by creating tight coupling between modules and hence draft-ietf-netmod-yang-module-versioning-01 states that the "revision-date" substatement SHOULD NOT be used.


    Instead, draft-ietf-netmod-yang-module-versioning-01 introduces the extension statement "rev:revision-or-derived AAAA-BB-CC" that specifies an earliest revision that may be imported.  Any module revision that included revision AAAA-BB-CC in the module's revision history would satisfy the import, regardless of whether the revision history includes non-backwards-compatible changes.

    There have also been discussions between the authors whether to also introduce a separate (perhaps rev:revision-or-compatible-derived AAAA-BB-CC) statement that would only allow a revision to be imported if it was backwards-compatible with the selected earliest revision.  Specifically, during the import, the module would check the imported modules history to ensure that the "rev:nbc-changes" extension statement isn't present in the history between the latest revision of the module and revision AAAA-BB-CC.

    Abstractly, you can consider these 4 revision options are gradually more restrictive subsets of revisions that could satisfy an import:
     (i) default import allows any published revision of an imported module,
     (ii) "revision-or-derived AAAA-BB-CC" reduces set (i) to only those that include AAAA-BB-CC in their revision history,
     (iii) "rev:revision-or-compatible-derived AAAA-BB-CC" reduces set (ii) to only include those that are backwards-compatible with AAAA-BB-CC,
     (iv) revision-date reduces (iii) to the set containing only the specified revision.

    The question to the WG is whether we should also define "rev:revision-or-compatible-derived" now, or initially just go with "rev:revision-or-derived"?

    The authors seem to be somewhat split on this issue.

    My personal concern regarding rev:revision-or-compatible-derived is that it may appear to have desirable properties for module authors but still result in too tight coupling between modules in practice, making it harder to release NBC fixes, although that could presumably be mitigated by having some guideline text warning of the potential risks.  This extension could be defined in future if it turns out to be useful.

    Conversely, some authors believe that this statement would be useful now to help more tightly constrain import dependencies, and arguably defining it now doesn't seem to do any real harm, and means it is available if required.

    Input from the WG on this issue is welcome and desired.

    Regards,
    Rob

    [As an individual contributor]

    _______________________________________________
    netmod mailing list
    netmod@ietf.org
    https://www.ietf.org/mailman/listinfo/netmod