Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 3F2E5200D1A for ; Mon, 9 Oct 2017 10:56:35 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 3D7931609E0; Mon, 9 Oct 2017 08:56:35 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 323D51609BB for ; Mon, 9 Oct 2017 10:56:34 +0200 (CEST) Received: (qmail 15906 invoked by uid 500); 9 Oct 2017 08:56:33 -0000 Mailing-List: contact dev-help@felix.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@felix.apache.org Delivered-To: mailing list dev@felix.apache.org Received: (qmail 15893 invoked by uid 99); 9 Oct 2017 08:56:32 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 09 Oct 2017 08:56:32 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id F09BF18C21A for ; Mon, 9 Oct 2017 08:56:31 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -1.012 X-Spam-Level: X-Spam-Status: No, score=-1.012 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=-1, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd3-us-west.apache.org (amavisd-new); dkim=pass (1024-bit key) header.d=luminiseu.onmicrosoft.com Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id ZSaB7Y_w-6pO for ; Mon, 9 Oct 2017 08:56:29 +0000 (UTC) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0124.outbound.protection.outlook.com [104.47.2.124]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id 2530F5F642 for ; Mon, 9 Oct 2017 08:56:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=luminiseu.onmicrosoft.com; s=selector1-luminis-eu; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=B9DagOH48tnjExMfVP+KJaUThb2VaDR7gV3zIlkI1L4=; b=hfgmESU7k1cM/d/SUOQBy4RYWM6BA1cTh9elUjq4MKsy7VqxIbFrLtJ6XESwLJUQWwosXe2TNsPxnOB4doWUHXdSDwn+YKhPYQlodvst0HkQ8In/RDcwEnzbQs+BkSYqAH3n5eS/sg3E9FtDUDvY1eWdzlj8UGjOIN61CfKNQFQ= Received: from AMSPR03MB406.eurprd03.prod.outlook.com (10.242.21.144) by AMSPR03MB408.eurprd03.prod.outlook.com (10.242.21.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Mon, 9 Oct 2017 08:56:20 +0000 Received: from AMSPR03MB406.eurprd03.prod.outlook.com ([fe80::c54:8671:d024:408b]) by AMSPR03MB406.eurprd03.prod.outlook.com ([fe80::c54:8671:d024:408b%15]) with mapi id 15.20.0077.020; Mon, 9 Oct 2017 08:56:20 +0000 From: Jan Willem Janssen To: "dev@felix.apache.org" Subject: Re: [DISCUSS] Contribution of Bundle ARchive (BAR) installer Thread-Topic: [DISCUSS] Contribution of Bundle ARchive (BAR) installer Thread-Index: AQHTP4mrzKQqkvPCjkmod8kUcLYPHqLbOd6A Date: Mon, 9 Oct 2017 08:56:20 +0000 Message-ID: <2D7EB410-A3EF-43C3-A06C-B8BE3E779130@luminis.eu> References: <9F2D9F9C-0C17-4554-8D86-CC48DFF09C4F@paremus.com> In-Reply-To: <9F2D9F9C-0C17-4554-8D86-CC48DFF09C4F@paremus.com> Accept-Language: en-US, en-GB, nl-NL Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=janwillem.janssen@luminis.eu; x-originating-ip: [80.100.196.56] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;AMSPR03MB408;6:dGbTVksld5QlQrj9mXLKqdikAqF3sqcn1QNx1ZS6SmhH6iyvDOMo1fsA2ET3OS3TSYFZBOt1WRnjL3ooc/IDxqDTHGNIZAI0HhFwGgB8ch+uetA0BAUr0fQw3g6cx2UhVkgc42GDllQ/QYdVG78FtluQd/KaKnnQxnHJKnGgDyj2k07Fa8TcrrC5nBIBiyr5929MiEpElahrbB50A9/TqQQBSGV1acixR0GUG0tc3C4KysLyRPt4KFN/cNW4FqMZa2YS+PGGZG5oM6tR89gDeFzMFkrsS5DQsGWEEJ0ugLQ+nQPdg6NkyAV9oE0ZhXMhKdZN0b4MvMw7kU56xqD5xQ==;5:eegez3dgXT/QgVrsm6a3NSSAhWDzIuofrPmb8xOf8t7iAL4+wVIa9lZzqOsXJCrpZ/A/eywpB+hpRWtL30JGePriXa9HBKMsYh7pvwTl1WK9T2wgM2rgJ184nNVCULjWsPty6FmrH9wwMJ6nqqtWMuVKRebi74Q6p6PJJ5MaRf0=;24:DOYY57v3ZWyyxrZ8sExqzp3DJ4CUTviEviWkqbtv31E2mmhm2JuvyL/QrT+0FsijqGV8m/Yeqw/C0FgqYni7Nl2fdEJ5k0N8+UyJoAwrqfY=;7:tvrVF0pJafC0gswJEhi9V6I0kw2F+m0OHofoUATKcxW0eATOQj5S0Pp2Dzrr23YubiaCBytJ96wwRHGCvrMNigqJEKwE7x5F7SWZ05vfbkiDWmjF5bDGf4HyXHGntCShJXMJX6TxNs5ZwekTRUKkRgi0ydPGIzfie3Wn/pYHsyVjCXyXPQ8vPNzIjm7wKOl8xBy80LHR19LJ49Z+AuVm4QD4K66EZ+b8nSELofJ33w8= x-ms-exchange-antispam-srfa-diagnostics: SSOS; x-ms-office365-filtering-correlation-id: 8bfc1687-20a1-4e54-b281-08d50ef39c4d x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(2017030254152)(2017052603199)(49563074)(201703131423075)(201703031133081)(201702281549075);SRVR:AMSPR03MB408; x-ms-traffictypediagnostic: AMSPR03MB408: x-exchange-antispam-report-test: UriScan:(192374486261705); x-microsoft-antispam-prvs: x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(102415395)(6040450)(2401047)(8121501046)(5005006)(10201501046)(3002001)(100000703101)(100105400095)(93006095)(93001095)(6041248)(20161123558100)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:AMSPR03MB408;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:AMSPR03MB408; x-forefront-prvs: 045584D28C x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6009001)(346002)(376002)(39830400002)(199003)(189002)(24454002)(6506006)(6436002)(5640700003)(6486002)(3280700002)(3660700001)(478600001)(74482002)(966005)(36756003)(2906002)(316002)(66066001)(25786009)(99936001)(82746002)(6246003)(83716003)(3846002)(6116002)(102836003)(86362001)(33656002)(6916009)(2950100002)(53546010)(229853002)(6512007)(6306002)(54356999)(76176999)(50986999)(53936002)(101416001)(99286003)(14454004)(2900100001)(68736007)(106356001)(105586002)(81156014)(8936002)(7736002)(81166006)(305945005)(97736004)(8676002)(1730700003)(2351001)(5250100002)(2501003)(5660300001)(189998001);DIR:OUT;SFP:1102;SCL:1;SRVR:AMSPR03MB408;H:AMSPR03MB406.eurprd03.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; received-spf: None (protection.outlook.com: luminis.eu does not designate permitted sender hosts) spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: multipart/signed; boundary="Apple-Mail=_3F7818AA-61C7-4C31-BBD8-FE065E23E1F8"; protocol="application/pgp-signature"; micalg=pgp-sha256 MIME-Version: 1.0 X-OriginatorOrg: luminis.eu X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Oct 2017 08:56:20.4347 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 92b1c82c-10a6-40ec-8b2e-1e63eeb29438 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AMSPR03MB408 archived-at: Mon, 09 Oct 2017 08:56:35 -0000 --Apple-Mail=_3F7818AA-61C7-4C31-BBD8-FE065E23E1F8 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On 7 Oct 2017, at 18:30, Neil Bartlett (Paremus) = wrote: >=20 > Hello Felix developers, >=20 > I would like to initiate a contribution of external code into Apache = Felix. This code is being contributed on behalf of Intel Corporation, = who funded development. The contribution is a plugin for File Install = =E2=80=94 an implementation of the ArtifactInstaller service =E2=80=94 = which handles Bundle ARchive (BAR) files. This is a proposed format for = an aggregate of functionality represented as one or more OSGi bundles = along with an OSGi index. It includes use of the OSGi resolver API to = check consistency and permits overlapping resources from multiple = installable units. >=20 > A BAR file is physically a JAR file with some defined manifest headers = to control the behaviour of the installer. It must contain an OSGi index = (in the XML format specified by the Repository Service specification) = and the index can reference bundles contained within the BAR, or = optionally external bundles. Additionally the BAR manifest contains a = set of requirements (a Require-Bundle and/or Require-Capability header) = that define the root requirements to be resolved against that index. >=20 > Dropping a BAR file into the File Install monitored directory does not = immediately install its contents. Instead a resolution process is = initiated to ensure that the contents of the BAR are complete and = consistent. If that resolution process succeeds then the BAR contents = become available for installation. The application or management agent = is responsible for triggering the actual installation. Multiple BAR = files can require the same resource transitively. We use a reference = counting mechanism to ensure that BARs with overlapping requirements can = be installed concurrently, and those resources are only uninstalled when = the last BAR that references them is uninstalled. >=20 > This differs from existing approaches in the following ways: >=20 > 1. The OSGi Deployment Admin specification defines a similar file = format for aggregates of bundles, but the contents of a Deployment = Package cannot overlap with previously installed Deployment Packages. = This limitation makes the specification unworkable in many practical = scenarios. >=20 > 2. Eclipse and Karaf both have a similar concept of =E2=80=9Cfeatures=E2= =80=9D, but these are simply listings of bundles. The BAR Installer uses = the OSGi resolver to ensure that the contents of the BAR can actually be = installed cleanly in the current OSGi framework, and will never attempt = to reinstall a bundle that is already in use. >=20 > 3. The OSGi Subsystem Service specification has the ability to resolve = the contents of a subsystem, but the resolved bundles are usually = installed into an isolated =E2=80=9Cregion=E2=80=9D of the target OSGi = framework. This creates a lot of complexity, and as a result the = Subsystems chapter of the OSGi specification makes for a daunting read. = BARs are installed into the flat OSGi framework without isolation, have = a simpler lifecycle and are easier for developers to reason about. >=20 > All sources are already Apache licensed, and were originally developed = for the Open Security Controller project = (https://www.opensecuritycontroller.org/ = ). Nice work! I=E2=80=99ve glanced through the code and was wondering = whether it is an idea to separate the file-install specifics from the = more generic resolver/management parts. It would allow BARs to be = installed by using different means (for example, a custom management = agent) than file install. WDYT? -- Met vriendelijke groeten | Kind regards Jan Willem Janssen | Software Architect +31 631 765 814 My world is something with Amdatu and Apache Luminis Technologies John F. Kennedylaan 32 7314 PS Apeldoorn +31 88 586 46 25 https://www.luminis.eu KvK (CoC) 09 16 28 93 BTW (VAT) NL8170.94.441.B.01 --Apple-Mail=_3F7818AA-61C7-4C31-BBD8-FE065E23E1F8 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="signature.asc" Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- Comment: (JaWi) iQIcBAEBCAAGBQJZ2zm0AAoJEKF/mP2eHDc4h2EP/jgU+MNlvG5V4WIbGiIkdZbd Rkcp1pEbS45bYMw0eFnIABjsM0P/ZKoBSxIvRLotYYPrSQwIJg6vx/y2FsQ+etPB /4wp/5YVXIx9ygYhkvTjoOejGcTgootX0snl+Wspll2E5Q5fxTf0AIpcvSAOxEqv 6GROjz/9blF1/1j16W0UwJdNSL86U64tUGh0mSR0G1v2Om5utaNDtkr0okPO3h+e x+E786hDRmckQK6GI/Ud2LpbuxoNwQy+b3g/GzQb5oXslgbU4GkPB3tIaIL6XeOj 6qTaj+X8LiqVbYhEAkgVOhSpNQTmxFnHWQ2purqZNzoN4WTbHKmabe/mk0v+360f 2w/ffhm3PM0rWV7uLjIfHVXiCalGZ3en5XJzuqM5XzmI9WoR29027d1T06CLq9pd jXuRRQeUJS1zy5MvTEEpdFT+nc1BOBSaoqKvP6eXGHdZo9To2wwoPCVR/kgOM6Wt 0bnb7c36MptNuRKXzuoQgdNEUWpjnxcUl8pxTgpychN966SSjZXXYAxzjvfaS7KO q++SBwogaQr6E2v9frFOadOvJ12kgeKyDK4EarQQgoSArOKWo6ewwijTjR1/er3a RgwXcHjHRlA/TxkoqVQTR049m58D8WanyApvkW0SMU/6gxyCmZ3P74nl4cxr/L9K gOyWcVQZDs31TQtDpEp6 =QLsx -----END PGP SIGNATURE----- --Apple-Mail=_3F7818AA-61C7-4C31-BBD8-FE065E23E1F8--