Re: [Netmod-ver-dt] Resolving package conflicts

"Rob Wilton (rwilton)" <rwilton@cisco.com> Thu, 12 September 2019 08:47 UTC

Return-Path: <rwilton@cisco.com>
X-Original-To: netmod-ver-dt@ietfa.amsl.com
Delivered-To: netmod-ver-dt@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D17F312081C for <netmod-ver-dt@ietfa.amsl.com>; Thu, 12 Sep 2019 01:47:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.499
X-Spam-Level:
X-Spam-Status: No, score=-14.499 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, 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=BBz7bIay; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=jozPxduE
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 kDsDHhB1nf4j for <netmod-ver-dt@ietfa.amsl.com>; Thu, 12 Sep 2019 01:47:08 -0700 (PDT)
Received: from alln-iport-1.cisco.com (alln-iport-1.cisco.com [173.37.142.88]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EEF9812006B for <netmod-ver-dt@ietf.org>; Thu, 12 Sep 2019 01:47:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=94906; q=dns/txt; s=iport; t=1568278027; x=1569487627; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=tNeSL0JXZOBfjs7TdtsMBaNhGNjqk/Ejy7aZXbdbXIU=; b=BBz7bIayFoFVQgQKyvExVxrHiUyP269C9W+PJSYFKhS6uQG6+VZfxm++ SUJBRgRYItSQq1VZbPVWWJ4+di3IryYwwJsfDofWmooZL6u1qiiTq9NcL ppFlxTgJrxMEX6OzDzcsn9VKRfF+Fw3QTaZdCBxH2Jys9fYRJ6p6tdv15 U=;
IronPort-PHdr: 9a23:T5EsMxbFIgxwgXt6lXOvDYn/LSx94ef9IxIV55w7irlHbqWk+dH4MVfC4el20gebRp3VvvRDjeee87vtX2AN+96giDgDa9QNMn1NksAKh0olCc+BB1f8KavwcC0+AMNEfFRk5Hq8d0NSHZW2ag==
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0AJAAC1BXpd/5pdJa1mGgEBAQEBAgEBAQEHAgEBAQGBUwUBAQEBCwGBFS9QA21WIAQLKgqEF4NHA4RShhSCXIlljguBLoEkA1AECQEBAQwBARgBCgoCAQGDekUCF4JCIzQJDgIDCQEBBAEBAQIBBgRthS4MhUoBAQEBAwEBEBEKEwEBLAsBDwIBCA4DAwEBASEBBgMCAgIfBgsUCQgCBAENBQgTBAODAYEdTQMdAQIMn1oCgTiIYXOBMoJ9AQEFgTYDC0ODAA0LghYDBoE0AYt3GIFAP4FXgkw+ghpHAQGBYx4NCYJVMoImj0CFIZcpQQqCIYwPBoRihBuZCo1/igqOZAIEAgQFAg4BAQWBUjiBWHAVO4JsgkILGINPhRSFP3OBKY1cAYEiAQE
X-IronPort-AV: E=Sophos;i="5.64,495,1559520000"; d="scan'208,217";a="324692317"
Received: from rcdn-core-3.cisco.com ([173.37.93.154]) by alln-iport-1.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 12 Sep 2019 08:47:06 +0000
Received: from XCH-RCD-006.cisco.com (xch-rcd-006.cisco.com [173.37.102.16]) by rcdn-core-3.cisco.com (8.15.2/8.15.2) with ESMTPS id x8C8l681017787 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Thu, 12 Sep 2019 08:47:06 GMT
Received: from xhs-aln-002.cisco.com (173.37.135.119) by XCH-RCD-006.cisco.com (173.37.102.16) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Thu, 12 Sep 2019 03:47:05 -0500
Received: from xhs-rtp-003.cisco.com (64.101.210.230) by xhs-aln-002.cisco.com (173.37.135.119) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Thu, 12 Sep 2019 03:47:05 -0500
Received: from NAM05-CO1-obe.outbound.protection.outlook.com (64.101.32.56) by xhs-rtp-003.cisco.com (64.101.210.230) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Thu, 12 Sep 2019 04:47:04 -0400
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Grhcnc5PAnqT1ZbL0k7BAgsf/wRCKkrCmzOa7rETom2SNJ91bX9WHBb59CfH4JBzp/ZVt0A3RBrEVh4y7BqBE7iV3kCqSQRJjVU6reU72I2xrWiSvvGpaZO2XmPZARJO4T2oK5oezB8GVQ2Lhzq+ntcd6AyTWsXiluWNa27FJxiqkdzT/cHOAo/wqHfAD+HqbPqmBQ8ZmO4wwhy4YasTl/X4XtOyIbgCMrDN//XXbOdCwnp9lAQUep9ucq08r+k3d8VN+bjvIBBCtyY8poRfxeQtl1BIYLptwd1QHJrewR9Dj7YLBu/rUvkACelcx8yeqt7Gs+95lzFUs6aHaHHwBA==
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=tNeSL0JXZOBfjs7TdtsMBaNhGNjqk/Ejy7aZXbdbXIU=; b=dY5R+1gM0K4o7HHPZne3Z7DGsTHh4c9Ck/EUgRJK11UmZJwZLsKDr+XgRhbk9K18FsZfPjJtZaixgR3eam3LyaKXu7LGVmJLcFbeGMB1dPLlhxh9vt6vrhQzjvd/GP9IehfI4r//26fJmZGQeeeNjLfCXGHl+dC0bC/2DSt2a2AI+guw/Ntmoe5W3GjkOgDkLrDQ1CbLkQ9CMVuk3tznzDbquljGmAo6ZR28RrF06jFqnlQY3kcZZE0aAdL2NyfjcU958xMD392B8IkPSWbiKm5MGeG8E5MPPdO5yP+zNvQ1G6HwXa6TDndsPUHibGq+/o/fgpSm/bA6DwnX/cpIJA==
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=tNeSL0JXZOBfjs7TdtsMBaNhGNjqk/Ejy7aZXbdbXIU=; b=jozPxduE8CYbROtPSEmhcqACDP0MhekjKQDDIRB5zTzLZT+STmbJkVBNeCbk4TLsPBKalNUMIZc4LMzbQcidqLK4njCiQlfy/0bgrVNAY6AAjN9yuMlbCv2mhojeEuZFTXsfeMQ+mJTEunbzy0YJ/E+MtRFdfX862r7miSWx6aY=
Received: from MN2PR11MB4366.namprd11.prod.outlook.com (52.135.38.209) by MN2PR11MB3646.namprd11.prod.outlook.com (20.178.253.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2263.17; Thu, 12 Sep 2019 08:47:02 +0000
Received: from MN2PR11MB4366.namprd11.prod.outlook.com ([fe80::6db3:f4c:467b:30f6]) by MN2PR11MB4366.namprd11.prod.outlook.com ([fe80::6db3:f4c:467b:30f6%7]) with mapi id 15.20.2241.022; Thu, 12 Sep 2019 08:47:02 +0000
From: "Rob Wilton (rwilton)" <rwilton@cisco.com>
To: Mahesh Jethanandani <mjethanandani@gmail.com>, "Reshad Rahman (rrahman)" <rrahman@cisco.com>
CC: "netmod-ver-dt@ietf.org" <netmod-ver-dt@ietf.org>
Thread-Topic: [Netmod-ver-dt] Resolving package conflicts
Thread-Index: AQHVaOJws4r3/Q6aeUqDjXc3AqMGSKcm/FOAgACuAMA=
Date: Thu, 12 Sep 2019 08:47:02 +0000
Message-ID: <MN2PR11MB43666E075DBF094BD58294AAB5B00@MN2PR11MB4366.namprd11.prod.outlook.com>
References: <00DA18F2-59DD-4F33-BE60-011C7A52E9CF@cisco.com> <01AFBB8A-68B4-40EF-9C74-B48A4065D410@gmail.com>
In-Reply-To: <01AFBB8A-68B4-40EF-9C74-B48A4065D410@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=rwilton@cisco.com;
x-originating-ip: [173.38.220.38]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 3a801863-112f-42fd-c185-08d7375dc843
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600166)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:MN2PR11MB3646;
x-ms-traffictypediagnostic: MN2PR11MB3646:
x-ms-exchange-purlcount: 3
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <MN2PR11MB3646BCFC1F334E82CE6D3079B5B00@MN2PR11MB3646.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 01583E185C
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(366004)(376002)(39860400002)(136003)(346002)(396003)(189003)(199004)(51444003)(64756008)(66476007)(52536014)(66446008)(66556008)(66946007)(186003)(71200400001)(71190400001)(53936002)(7696005)(236005)(76176011)(102836004)(478600001)(6246003)(9686003)(53946003)(26005)(66066001)(3846002)(6116002)(790700001)(110136005)(14454004)(76116006)(2906002)(316002)(7736002)(74316002)(5660300002)(966005)(6436002)(256004)(86362001)(33656002)(4001150100001)(4326008)(446003)(11346002)(476003)(486006)(25786009)(6506007)(53546011)(6636002)(9326002)(8936002)(6306002)(54896002)(55016002)(99286004)(606006)(8676002)(81156014)(81166006)(229853002)(559001)(579004); DIR:OUT; SFP:1101; SCL:1; SRVR:MN2PR11MB3646; H:MN2PR11MB4366.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None (protection.outlook.com: cisco.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: oAB3wLPzGmnUvGLFlDrlhlcbJnZpeyc0LLpSNvN+t+Pd6tVnNZx3YJK8INggGViZOxe1yMWgpgWds0hNIB25kqTcAWG6kBn90Ne+VG6Kuhk+MpnWB3xZCrxLtXtVDdreM3jfoKbX0frpPwQudl2Aw4iw/Lc7g/jwJ6kwi+l0e+vF7oop0Qmlxx06VgS/inaS7k3GhghNbi1H63buBYMxw9Icwui3kQodvPvFnVXBNSvX0lce4ubhxbKFZkeYHbhrY56Na09cZyIuZBfchM0Bl1Oz5ZhlrE4S3w0Vnt4DUB9IxcDhaBwmR1prNVckzWvZj9+irwe1Ki0vlHoclpoUYIeJA9ofx0k59HVmjdOxXSaKoeCXRHVMeLW7T5xhuDkRAJv8jVdvxOWXtTkm4g5pgk/V5HzkZtwUfexq5qHzh0c=
Content-Type: multipart/alternative; boundary="_000_MN2PR11MB43666E075DBF094BD58294AAB5B00MN2PR11MB4366namp_"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: 3a801863-112f-42fd-c185-08d7375dc843
X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Sep 2019 08:47:02.6125 (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: 2lYPIEx5CU12zVSqArAkU4DzlqOuMZ+ZQ114nFta9w0Dw+SMwD9VGaynig9H5OepE1aHq0quAfpBGSdJplfpcw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3646
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 173.37.102.16, xch-rcd-006.cisco.com
X-Outbound-Node: rcdn-core-3.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod-ver-dt/3BZx8OxI-_9RhsGd9zLdKpXtp-8>
Subject: Re: [Netmod-ver-dt] Resolving package conflicts
X-BeenThere: netmod-ver-dt@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NetMod WG YANG Model Versioning Design Team <netmod-ver-dt.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod-ver-dt>, <mailto:netmod-ver-dt-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod-ver-dt/>
List-Post: <mailto:netmod-ver-dt@ietf.org>
List-Help: <mailto:netmod-ver-dt-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod-ver-dt>, <mailto:netmod-ver-dt-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 12 Sep 2019 08:47:12 -0000

Hi Mahesh,

So, I don’t know all the dependencies, so I probably won’t get this quite right, but hopefully you’ll get the idea.

Perhaps we can fully work out this solution and then use this as the concrete example in the appendix of the packaging draft?

I would define packages for:

  *   Base Network YANG models (depends on nothing)
  *   Routing (depends on base network)
  *   BGP (depends on routing)
  *   L2VPN (depends on routing)
  *   EVPN (depends on L2VPN and BGP)

I have roughly put the YANG modules into packages below.

Open questions:
  - Should we split types modules into import-only/implemented.  Personally, I prefer to mark that as all implemented since I think that makes resolution easier.
- Should schema-mount be in the network base module?
- Should BGP RIB be split out of a base BGP package (e.g. could have bgp_base, bgp_rib, and bgp_all (that depends on both bgp_base and bgp_rib).


ex_ietf_base_ntwk_device_pkg:
  Version: 1.0.0
  Depends on:
               Nothing
  Modules:
    iana-crypt-hash@2014-08-06.yang
    ietf-yang-types@2013-07-15.yang
    ietf-inet-types@2013-07-15.yang
    iana-if-types@2019-02-08.yang
    ieee802-dot1q-types@2018-03-07.yang
   ietf-key-chain@2017-06-15.yang
    ietf-system@2014-08-06.yang
    ietf-yang-schema-mount@2019-01-14.yang ?
   ietf-interfaces@2018-02-20.yang
    ietf-ip@2018-02-22.yang
    ietf-interfaces-common@2019-03-05.yang
    ietf-if-l3-vlan@2019-03-05.yang
    ietf-netconf-acm@2018-02-14.yang

ex_ietf_base_routing_pkg:
  Version: 1.0.0
  Depends on:
               ex_ietf_base_ntwk_device_pkg@1.0.0
  Modules:
               ietf-interfaces@2018-02-20.yang
               ietf-ip@2018-02-22.yang
               ietf-routing-types@2017-12-04.yang
               iana-routing-types@2017-12-04.yang
               ietf-network-instance@2019-01-21.yang
               iana-bfd-types@2018-08-01.yang
ietf-routing-policy@2019-03-06.yang
ietf-routing@2018-03-13.yang
ietf-ipv4-unicast-routing@2018-03-13.yang
ietf-ipv6-unicast-routing@2018-03-13.yang

ex_ietf_bgp_pkg:
  Version: 1.0.0
  Depends on:
               ex_ietf_base_routing_pkg@1.0.0
  Modules:
               ietf-bgp-common-multiprotocol@2019-06-05.yang
               ietf-bgp-common-structure@2019-06-05.yang
               ietf-bgp-common@2019-06-05.yang
               ietf-bgp-neighbor@2019-06-05.yang
               ietf-bgp-peer-group@2019-06-05.yang
               ietf-bgp-policy@2019-06-05.yang
               ietf-bgp-rib-attributes@2019-06-05.yang
               ietf-bgp-rib-ext@2019-06-05.yang
               ietf-bgp-rib-table-attributes@2019-06-05.yang
               ietf-bgp-rib-tables@2019-06-05.yang
               ietf-bgp-rib-types@2019-06-05.yang
               ietf-bgp-rib@2019-06-05.yang
               ietf-bgp-types@2019-06-05.yang
               ietf-bgp@2019-06-05.yang

ex_ietf_l2vpn_pkg:
  Version: 1.0.0
  Depends on:
               ex_ietf_routing_base_pkg@1.0.0
  Modules:
               ietf-pseudowires@2018-10-17.yang
               ietf-l2vpn@2019-05-28.yang

ex_ietf_evpn_pkg:
   Version: 1.0.0
   Depends on:
     ex_ietf_l2vpn_pkg@1.0.0
     ex_ietf_bgp_pkg@1.0.0
   Modules:
     ietf-evpn@2018-02-20.yang

Thanks,
Rob


From: Netmod-ver-dt <netmod-ver-dt-bounces@ietf.org> On Behalf Of Mahesh Jethanandani
Sent: 11 September 2019 22:23
To: Reshad Rahman (rrahman) <rrahman@cisco.com>
Cc: Rob Wilton (rwilton) <rwilton@cisco.com>; netmod-ver-dt@ietf.org
Subject: Re: [Netmod-ver-dt] Resolving package conflicts

I have no objection either. But I want to take a very specific example, something I am already working on. With the package concept, how do you see this being packaged?

To support ietf-bgp model, I need the following modules:
·        iana-bfd-types@2018-08-01.yang<mailto:iana-bfd-types@2018-08-01.yang>
·        iana-if-type@2019-02-08.yang<mailto:iana-if-type@2019-02-08.yang>
·        ieee802-dot1q-types@2018-03-07.yang<mailto:ieee802-dot1q-types@2018-03-07.yang>
·        ietf-bfd-types@2018-08-01.yang<mailto:ietf-bfd-types@2018-08-01.yang>
·        ietf-bgp-common-multiprotocol@2019-06-05.yang<mailto:ietf-bgp-common-multiprotocol@2019-06-05.yang>
·        ietf-bgp-common-structure@2019-06-05.yang<mailto:ietf-bgp-common-structure@2019-06-05.yang>
·        ietf-bgp-common@2019-06-05.yang<mailto:ietf-bgp-common@2019-06-05.yang>
·        ietf-bgp-neighbor@2019-06-05.yang<mailto:ietf-bgp-neighbor@2019-06-05.yang>
·        ietf-bgp-peer-group@2019-06-05.yang<mailto:ietf-bgp-peer-group@2019-06-05.yang>
·        ietf-bgp-policy@2019-06-05.yang<mailto:ietf-bgp-policy@2019-06-05.yang>
·        ietf-bgp-rib-attributes@2019-06-05.yang<mailto:ietf-bgp-rib-attributes@2019-06-05.yang>
·        ietf-bgp-rib-ext@2019-06-05.yang<mailto:ietf-bgp-rib-ext@2019-06-05.yang>
·        ietf-bgp-rib-table-attributes@2019-06-05.yang<mailto:ietf-bgp-rib-table-attributes@2019-06-05.yang>
·        ietf-bgp-rib-tables@2019-06-05.yang<mailto:ietf-bgp-rib-tables@2019-06-05.yang>
·        ietf-bgp-rib-types@2019-06-05.yang<mailto:ietf-bgp-rib-types@2019-06-05.yang>
·        ietf-bgp-rib@2019-06-05.yang<mailto:ietf-bgp-rib@2019-06-05.yang>
·        ietf-bgp-types@2019-06-05.yang<mailto:ietf-bgp-types@2019-06-05.yang>
·        ietf-bgp@2019-06-05.yang<mailto:ietf-bgp@2019-06-05.yang>
·        ietf-if-l3-vlan@2019-03-05.yang<mailto:ietf-if-l3-vlan@2019-03-05.yang>
·        ietf-interfaces-common@2019-03-05.yang<mailto:ietf-interfaces-common@2019-03-05.yang>
·        ietf-interfaces@2018-02-20.yang<mailto:ietf-interfaces@2018-02-20.yang>
·        ietf-ip@2018-02-22.yang<mailto:ietf-ip@2018-02-22.yang>
·        ietf-key-chain@2017-06-15.yang<mailto:ietf-key-chain@2017-06-15.yang>
·        ietf-network-instance@2019-01-21.yang<mailto:ietf-network-instance@2019-01-21.yang>
·        ietf-routing-policy@2019-03-06.yang<mailto:ietf-routing-policy@2019-03-06.yang>
·        ietf-routing-types@2017-12-04.yang<mailto:ietf-routing-types@2017-12-04.yang>
·        ietf-routing@2018-03-13.yang<mailto:ietf-routing@2018-03-13.yang>
·        ietf-yang-schema-mount@2019-01-14.yang<mailto:ietf-yang-schema-mount@2019-01-14.yang>
To support ietf-evpn module, I need the following modules:
·        ietf-evpn@2018-02-20.yang<mailto:ietf-evpn@2018-02-20.yang>
·        ietf-interfaces@2018-02-20.yang<mailto:ietf-interfaces@2018-02-20.yang>
·        ietf-ip@2018-02-22.yang<mailto:ietf-ip@2018-02-22.yang>
·        ietf-l2vpn@2019-05-28.yang<mailto:ietf-l2vpn@2019-05-28.yang>
·        ietf-network-instance@2019-01-21.yang<mailto:ietf-network-instance@2019-01-21.yang>
·        ietf-pseudowires@2018-10-17.yang<mailto:ietf-pseudowires@2018-10-17.yang>
·        ietf-routing-types@2017-12-04.yang<mailto:ietf-routing-types@2017-12-04.yang>
·        ietf-yang-schema-mount@2019-01-14.yang<mailto:ietf-yang-schema-mount@2019-01-14.yang>
To support ietf-l2vpn module, I need the following modules:
·        ietf-interfaces@2018-02-20.yang<mailto:ietf-interfaces@2018-02-20.yang>
·        ietf-ip@2018-02-22.yang<mailto:ietf-ip@2018-02-22.yang>
·        ietf-l2vpn@2019-05-28.yang<mailto:ietf-l2vpn@2019-05-28.yang>
·        ietf-network-instance@2019-01-21.yang<mailto:ietf-network-instance@2019-01-21.yang>
·        ietf-pseudowires@2018-10-17.yang<mailto:ietf-pseudowires@2018-10-17.yang>
·        ietf-routing-types@2017-12-04.yang<mailto:ietf-routing-types@2017-12-04.yang>
·        ietf-yang-schema-mount@2019-01-14.yang<mailto:ietf-yang-schema-mount@2019-01-14.yang>
There are some common modules that all three need, e.g. ietf-interfaces, ietf-ip etc., then there are modules like ietf-l2vpn that are the L2VPN “package” but are needed by EVPN, and then there will be modules that are needed by two of them for which I do not have an example here, but I am sure I can dig one up.

How do you see this packaged?


On Sep 11, 2019, at 1:49 PM, Reshad Rahman (rrahman) <rrahman@cisco.com<mailto:rrahman@cisco.com>> wrote:

No objections, makes sense.

From: Netmod-ver-dt <netmod-ver-dt-bounces@ietf.org<mailto:netmod-ver-dt-bounces@ietf.org>> on behalf of "Rob Wilton (rwilton)" <rwilton@cisco.com<mailto:rwilton@cisco.com>>
Date: Wednesday, September 11, 2019 at 6:00 AM
To: "netmod-ver-dt@ietf.org<mailto:netmod-ver-dt@ietf.org>" <netmod-ver-dt@ietf.org<mailto:netmod-ver-dt@ietf.org>>
Subject: [Netmod-ver-dt] Resolving package conflicts

In the packages draft it is possible to for a package definition to combine modules from two separate packages which may conflict.  I.e. more than one version of a module might end up in the resultant package, or the import dependencies might need to be fixed.

This is OK, because the packages draft requires that these conflicts are always explicitly resolved by listing the specific module versions in the combined package, so the problem is solved.

But what about if we define a package ietf-base@1.0.0<mailto:ietf-base@1.0.0> that contains, say, 10 modules?

This package might be imported by a hypothetical ietf-routing@1.0.0<mailto:ietf-routing@1.0.0>.

Separately there might be a hypothetical ietf-l2vpn@1.0.0<mailto:ietf-l2vpn@1.0.0> package that has been published later and uses an updated version of ietf-base package, say ietf-base@1.5.0<mailto:ietf-base@1.5.0>, that may contain BC updates to several of the modules.

Say a device wants to implement a my-packages@0.5.0<mailto:my-packages@0.5.0> module that imports both ietf-routing@1.0.0<mailto:ietf-routing@1.0.0>and ietf-l2vpn@1..0.0<mailto:ietf-l2vpn@1.0.0>.  Currently the packages draft would require the my-packages definition to explicitly re-state each of the modules in ietf-base@1.5.0<mailto:ietf-base@1.5.0> that differed ietf-base@1.0.0<mailto:ietf-base@1.0.0> (because only a single version of a module can be implemented, and all conflicts must be explicitly resolved).

This works, but I’m wondering whether that might become overly verbose.  Hence, I’m thinking that it might be useful for the my-packages@0.5.0<mailto:my-packages@0.5.0> definition to explicitly list ietf-base@1.5.0<mailto:ietf-base@1.5.0> as a direct package import, stating that it is replacing ietf-base@1.0.0<mailto:ietf-base@1.0.0> (which is indirectly imported via ietf-routing@1.0.0<mailto:ietf-routing@1.0.0>).  Avoiding the need to explicitly list the conflicting modules.  In fact, we could require that all conflicting imported package versions must also be explicitly resolved, just like for modules.

Does anyone have any objections to this?

Thanks,
Rob


_______________________________________________
Netmod-ver-dt mailing list
Netmod-ver-dt@ietf.org<mailto:Netmod-ver-dt@ietf.org>
https://www.ietf.org/mailman/listinfo/netmod-ver-dt

Mahesh Jethanandani
mjethanandani@gmail.com<mailto:mjethanandani@gmail.com>