[netmod] Choice for filtering YANG imports

"Rob Wilton (rwilton)" <rwilton@cisco.com> Wed, 02 September 2020 11:25 UTC

Return-Path: <rwilton@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 943AE3A10DA for <netmod@ietfa.amsl.com>; Wed, 2 Sep 2020 04:25:36 -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_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com header.b=LEVqvPSK; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=b24K22lh
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 PvbQq5gxRphm for <netmod@ietfa.amsl.com>; Wed, 2 Sep 2020 04:25:35 -0700 (PDT)
Received: from rcdn-iport-7.cisco.com (rcdn-iport-7.cisco.com [173.37.86.78]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 61E143A10D8 for <netmod@ietf.org>; Wed, 2 Sep 2020 04:25:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=3033; q=dns/txt; s=iport; t=1599045935; x=1600255535; h=from:to:subject:date:message-id: content-transfer-encoding:mime-version; bh=YJrUGE3vyMEITI/TBc5dSCeC48zGDqLn74NgsFhBDYo=; b=LEVqvPSKIRwTBgsW1nKN1NxXGpgqVy3Vh0zJl1ahDSHsu1783Xf7/eW2 jlFR3idtG85eT2+jLJ30aOi9i2J54iVDbTi5BGRz7+IaimzQZdjCz5SZt aU7MuMVKMyh3EURlw8K9WpsKMb/H2E+/XnELLG4lFlAypN/EO/0SL/Rsh 0=;
IronPort-PHdr: 9a23:PvPydxOvOJyEW0S5rjIl6mtXPHoupqn0MwgJ65Eul7NJdOG58o//OFDEvKw33l7EQYud7OhL2KLasKHlDGoH55vJ8HUPa4dFWBJNj8IK1xchD8iIBQyeTrbqYiU2Ed4EWApj+He2YklYBMi4YEfd8TW+6DcIEUD5Mgx4bu3+Bo/ViZGx0Oa/s53eaglFnnyze7R3eR63tg7W8MIRhNhv
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0CCDgCxgE9f/4sNJK1gHQEBPAEFBQECAQkBFYFKAoFQIy4HgUgvLAqHdAOmaYEuFIERA1ULAQEBDAEBLQIEAQGESwKCIwIkNgcOAgMBAQsBAQUBAQECAQYEbYVcAQuGCygGAQE4EQE+QiYBBBsahVADLgEDpHwCgTmIYXSBNIMBAQEFhTMYghAJgTgBgnCKNxuBQT+BEAFDhxMBEgEjg0iCLbZuCoJlBJpPoFaSUZ9XAgQCBAUCDgEBBYFbBC8qPXBwFYMkUBcCDZIQilZ0NwIGCgEBAwl8jjwBgRABAQ
X-IronPort-AV: E=Sophos;i="5.76,381,1592870400"; d="scan'208";a="808829403"
Received: from alln-core-6.cisco.com ([173.36.13.139]) by rcdn-iport-7.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 02 Sep 2020 11:25:26 +0000
Received: from XCH-RCD-003.cisco.com (xch-rcd-003.cisco.com [173.37.102.13]) by alln-core-6.cisco.com (8.15.2/8.15.2) with ESMTPS id 082BPQ2o032589 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL) for <netmod@ietf.org>; Wed, 2 Sep 2020 11:25:26 GMT
Received: from xhs-aln-002.cisco.com (173.37.135.119) by XCH-RCD-003.cisco.com (173.37.102.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 2 Sep 2020 06:25:26 -0500
Received: from xhs-aln-002.cisco.com (173.37.135.119) by xhs-aln-002.cisco.com (173.37.135.119) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 2 Sep 2020 06:25:25 -0500
Received: from NAM10-BN7-obe.outbound.protection.outlook.com (173.37.151.57) by xhs-aln-002.cisco.com (173.37.135.119) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Wed, 2 Sep 2020 06:25:25 -0500
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SZIDgQSu/qEd828CQaThw8yMCWDeCjp5+hV/qXsnXles1PKrXkC0RuswpYkJGHLAkHfXpvenwphsXmXk3m0NxtIMF+tcDi1lno/Xddd88/bW5qs0+gMsJ301FBj8NS5Dda+uHZr1gpVgQJ/Yl1Devz4CDO8dSE1eP4GnVtPY7f7DyOqn8GZ4nWaclAqhUBaaWOGiOawU8S7EDzZg1LUE8BR5jFb1YaMzDQEntjgnWjhinixWafmEzGjeMA8qnUM43c1ZSd59KORHJq1TbXnDTQOj2Y8/n1lxCgSzl+p/ybWE2M8jN2XDQXEIXv4AXQD0DT4ePSmUYKdVIuVbpjCQJg==
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=hfdlvKEvbb/7RPY19/wTmSajdIB8znZA3os/KfDgpaU=; b=ll/EP9yA74fPvr0JCl9MWPl/V6qthrkXhfu36G132ygNlO5gqq1LpNMbAcfnnd04wvgwQdv+5Lo9h5qHIv4aZLI9wrJD7QygIf7NJ6v9js8Ap8w8caJg11hXJKQoH0G5vZMTeMChwcW41WuBX7VcmLpOg6ggRSHfywgqbmtdH/sJKZ/NBIaeS5Di++XetbnhZ91Is30IGsLK8AHOtEEj9Wg/cTus3tI4CIWo9WfKNFJUzLL1WO1ymyFn2iaNroeB1q9KapGArs7oRsjhpp0hWBLpfEJJfUdTohdnVsFlyfKiLWOXWJtvXRXdQ+ZT+lf3FHcRdUUteVuC9dtzdrAsEw==
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=hfdlvKEvbb/7RPY19/wTmSajdIB8znZA3os/KfDgpaU=; b=b24K22lhdfu/XdF532w3OeQMLdjn2IOWJq2+HL/BMTRVcthuYD50ii+4u2WdVafqkM9WsxoJZOTXkSzS3ma4SM2rG5iaSJ1nidgqfJLfPQMerxQI4SCko0pEBmNT5izGQnQNYjgkwjMA0BNncUwJBDF2ID099KH8ByHO2KhR5h8=
Received: from MN2PR11MB4366.namprd11.prod.outlook.com (2603:10b6:208:190::17) by BL0PR11MB3378.namprd11.prod.outlook.com (2603:10b6:208:68::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3326.23; Wed, 2 Sep 2020 11:25:24 +0000
Received: from MN2PR11MB4366.namprd11.prod.outlook.com ([fe80::4d3f:f3e:add7:dfc1]) by MN2PR11MB4366.namprd11.prod.outlook.com ([fe80::4d3f:f3e:add7:dfc1%3]) with mapi id 15.20.3305.026; Wed, 2 Sep 2020 11:25:24 +0000
From: "Rob Wilton (rwilton)" <rwilton@cisco.com>
To: "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: Choice for filtering YANG imports
Thread-Index: AdaAa1JQIVxp9g9wQR+b+QHOq+Togw==
Date: Wed, 02 Sep 2020 11:25:24 +0000
Message-ID: <MN2PR11MB43669162BD08C2AF143CD351B52F0@MN2PR11MB4366.namprd11.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: ietf.org; dkim=none (message not signed) header.d=none;ietf.org; dmarc=none action=none header.from=cisco.com;
x-originating-ip: [82.15.79.32]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 90fff63d-a5ee-4ec9-0461-08d84f32e2f2
x-ms-traffictypediagnostic: BL0PR11MB3378:
x-microsoft-antispam-prvs: <BL0PR11MB33788FD259001E2058F8DD79B52F0@BL0PR11MB3378.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: h+rsw44TxXpQwpXiXf8xkXcNS/sH6iyaFtUehXtI7M56aU39BELUuP71VUZazuHAwoEWm/8RppGtrTyo4TTYJkDdqV7Q7SxI9WCEyhm/sPYYEEOfQVlnUu4B0pdaCYs8B6WHsWqCZ3g4VcnVAg4ZoyzYDgPWzyvH1ygzzqPZZt0bOv/g37XvVpufq5DW61tIr26OoGEJiysTA0cFp8QtanrPO1xvu75fQZxEG4aA6A/NlWqL+jcmSzsh7ifrwyotIU1DEQ55bMI9HKTiTPjhyHZtveHHTGpdWt5d3ZSrMQVhla2G+11ewM0rJomtq6AjWldtEMeWMY/w2xtJCmRbsg==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB4366.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(396003)(136003)(376002)(366004)(39860400002)(346002)(71200400001)(316002)(86362001)(52536014)(2906002)(5660300002)(6916009)(478600001)(33656002)(8936002)(66446008)(55016002)(64756008)(6506007)(66476007)(66946007)(26005)(76116006)(186003)(9686003)(8676002)(7696005)(66556008)(83380400001); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata: KdK59FAwJoF4+5zGXzaNrxUXABsOePjYA/FEELcgJkZlNo5JDfirh6PFqbw+LknTBjJBT9HV9bxHsFbZ5duIJH4GT97pc2WaFC5zbhHl4itZIkchmiFBYnjnlPY4dK3XLZTfaUXEg8D1oNLH0Qzr+eBGNp15Xh20r7N1HlARVWOF/B1UGq5nJ82hiUlS/cAACknfsJhd5Zc+KVmxXxzaDC4/M1EGOJtnufc+qtFbKYnN5GF1r3IejUZjZ5QcbDkCtKffdz3A9Wjm8K8pmfGNqsXqf8a7m1M4k2UubyzzCvD/Ru7UGkXuvsUE9IO8RUa1FY1CR6/aU9x4RB5rQuLzGMTwebgOj0qEZq4PIcVDe/pYEjoq0OuRHElHo4VcNczx8TnAtpi6NAR1YUKAxwcC3CnWFNVjz2usAuSYko3T0dEoMM2XnRCbiRNLpoFsVZaXCd0DAN5AQYN4Errp1BUd5kPTv4mQvH7S9nzX6XPoTyCgk2HOmwpnxklARlWD1CmfriYoJY32lXNMGXplZaDwyVUxnc3qrlozZJSxhaLbEXedvwaxAdwY1ALB9yM2XZ5csgEGTdQoFvFob3bx53pJHimetxGM2Yvq57xVgPX7H/fhc2sRGErNjgVL9e13vuQkDjsQeJcyOFWbExBP9N3cMA==
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MN2PR11MB4366.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 90fff63d-a5ee-4ec9-0461-08d84f32e2f2
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Sep 2020 11:25:24.6206 (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: TQDdMVfCFYNWTvybWD4T6JVG+EG+1JGzx5M1EI21XGIZEDauWHR+nNr0W4xjpc999t0QLMgPCGerFjrIMw2q1A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR11MB3378
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 173.37.102.13, xch-rcd-003.cisco.com
X-Outbound-Node: alln-core-6.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/dGQX4jeQWjPT1TqPjk8_yjVJhFM>
Subject: [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: Wed, 02 Sep 2020 11:25:37 -0000

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]