Return-Path: X-Original-To: apmail-ace-users-archive@minotaur.apache.org Delivered-To: apmail-ace-users-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 98F3210505 for ; Thu, 6 Feb 2014 10:30:13 +0000 (UTC) Received: (qmail 86374 invoked by uid 500); 6 Feb 2014 10:30:12 -0000 Delivered-To: apmail-ace-users-archive@ace.apache.org Received: (qmail 86307 invoked by uid 500); 6 Feb 2014 10:30:07 -0000 Mailing-List: contact users-help@ace.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@ace.apache.org Delivered-To: mailing list users@ace.apache.org Received: (qmail 86299 invoked by uid 99); 6 Feb 2014 10:30:04 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 06 Feb 2014 10:30:04 +0000 X-ASF-Spam-Status: No, hits=2.2 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of marcel.offermans@luminis.eu designates 213.199.154.82 as permitted sender) Received: from [213.199.154.82] (HELO emea01-db3-obe.outbound.protection.outlook.com) (213.199.154.82) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 06 Feb 2014 10:29:59 +0000 Received: from AMXPRD0310HT005.eurprd03.prod.outlook.com (10.255.55.40) by DBXPR03MB109.eurprd03.prod.outlook.com (10.242.139.11) with Microsoft SMTP Server (TLS) id 15.0.868.8; Thu, 6 Feb 2014 10:29:34 +0000 Received: from [10.1.18.112] (82.95.165.155) by pod51013.outlook.com (10.255.55.40) with Microsoft SMTP Server (TLS) id 14.16.411.0; Thu, 6 Feb 2014 10:29:33 +0000 From: Marcel Offermans Content-Type: multipart/alternative; boundary="Apple-Mail=_0E219AEB-3A0F-4ECF-9F13-1BC5A14385BA" Message-ID: <868E9DC8-0DF6-41DE-946D-5BD884A3B8EB@luminis.eu> MIME-Version: 1.0 (Mac OS X Mail 7.1 \(1827\)) Subject: Re: ACE Agent deployment after renaming/changing the agent.identification.agentid property Date: Thu, 6 Feb 2014 11:29:28 +0100 References: <76B27F08-773F-41D2-A970-604D2723545A@luminis.eu> <83CCD4C6D2018F4A9E31ABD2C253281C10D51E@imbpw2exd01.bosch-si.com> <83CCD4C6D2018F4A9E31ABD2C253281C10D7DA@imbpw2exd01.bosch-si.com> To: ACE-users Apache ACE users In-Reply-To: <83CCD4C6D2018F4A9E31ABD2C253281C10D7DA@imbpw2exd01.bosch-si.com> X-Mailer: Apple Mail (2.1827) X-Originating-IP: [82.95.165.155] X-Forefront-PRVS: 0114FF88F6 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009001)(189002)(199002)(51704005)(24454002)(377454003)(93516002)(90146001)(76786001)(83072002)(71186001)(89996001)(93916002)(74706001)(76796001)(93136001)(74876001)(77156001)(19580395003)(36756003)(95416001)(86362001)(62966002)(56816005)(85852003)(94946001)(94316002)(19580405001)(4396001)(81342001)(81542001)(66066001)(512934002)(74366001)(74502001)(46102001)(80022001)(57306001)(33656001)(83322001)(69226001)(63696002)(31966008)(81686001)(81816001)(83716003)(56776001)(74482001)(47446002)(85306002)(74662001)(54316002)(84326002)(47976001)(80976001)(65816001)(69556001)(50226001)(49866001)(51856001)(88136002)(59766001)(53806001)(87936001)(92566001)(77982001)(82746002)(92726001)(79102001)(87286001)(87266001)(76482001)(50986001)(47736001);DIR:OUT;SFP:1101;SCL:1;SRVR:DBXPR03MB109;H:AMXPRD0310HT005.eurprd03.prod.outlook.com;CLIP:82.95.165.155;FPR:EEC7F2E6.AFF2A5E0.B3D33DAF.4EE5F87D.204EC;InfoNoRecordsMX:1;A:1;LANG:en; X-OriginatorOrg: luminis.eu X-Virus-Checked: Checked by ClamAV on apache.org --Apple-Mail=_0E219AEB-3A0F-4ECF-9F13-1BC5A14385BA Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="iso-8859-1" Hello Wilfried, On 05 Feb 2014, at 17:07 pm, Sibla Wilfried = wrote: >> So you have many different targets that all have the same initial >> installation? Then why not directly give those targets their correct >> target ID, have them connect to ACE locally once, and then ship them = with >> bundle cache and everything? If they end up talking to the same = server, at >> some point you will have to configure each target anyway. > [Wilfried Sibla] The reason is that we are talking about embedded = devices which are produced by an external manufacturer, including the = initial installation and also doing some more or less meaningful tests. > For this uses case it's not possible to produce a runtime including = the installed DP in the bundle cache for each target device. >=20 > Another challenge in this manufacturer scenario is the max time = available for this action. All initial installation, configuration and = all tests must be performed within (roundabout) 1:30 minute.... > I would assume that this isn't possible from a network within the = factory. > Because our device is a small ARM based machine, which needs some time = for booting the OS, starting the felix etc. And the deployment of a DP = with roundabout 50 bundles also takes a while on that device. Ok, so you need some kind of generic image that is already installed. = You now use a "default" deployment package that you install into a = framework once and you are copying that, including the bundle cache, = onto these devices. In that case, I would slightly modify the controller in the agent as = follows: As soon as the controller detects that there is a version of the = software available for its (new) target ID, it will first uninstall the = default deployment package. Then it will proceed as normal and install = the new deployment package. This approach does not require any modification to ACE or other = "tricks". The only downside is that the first software update will = contain all the bundles (instead of the delta). >> It should not be hard to automate the registration of each new target = ID >> and once you've done that, you can either have a distribution that is >> associated to all existing targets, or use some kind of other scheme = te >> determine what distribution should be linked to the target. > [Wilfried Sibla] That's clear how this can be achieved. >>=20 >> Another problem with your approach is that if you have a "default" = target >> that has for example version 5 as its latest version, and you deploy = it to >> a new target, then rename that target and have it poll again, it will >> think it still has version 5 of the software installed, so if you = create a >> new target ID whose version starts at 1, it will not update the first = 5 >> versions because it thinks it already has a new version. In short, I = would >> keep target IDs unique and immutable. There are just too many things = in >> ACE that depend on that. > [Wilfried Sibla] This issue is also clear. Such a predeployed runtime = must mandatorily be created with a deployment version 1.0.0. Otherwise = this will not work. For such an initial version, I would even start with a version < 1 = because ACE always starts at 1, so that way, anything in ACE will = replace what was there initially. > Another option could be to add the functionality to do the initial = deployment file based directly on the target. But it would also be = necessary to set the DeploymentPackage-SymbolicName to the target = identification value. If you know the target ID at that point, you could write an InputStream = wrapper that reads the deployment package and, on the fly, changes that = name. > Another option: building a really small server providing the = deployment service and assembling the DP from a file structure (quite = similar to the StreamGenerator) including setting the = DeploymentPackage-SymbolicName to the value extracted from the HTTP = request params (a generic parameter replacement in manifest template = would also be possible) and the version accordingly (probably statically = to 1). > This solution wouldn't require any changes to ACE, as the other = options would do. To me this sounds like quite a complex solution. I think there are a few = options above, that don't require changes to ACE either, that are = simpler to do. Greetings, Marcel --Apple-Mail=_0E219AEB-3A0F-4ECF-9F13-1BC5A14385BA--