ace-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marcel Offermans <marcel.offerm...@luminis.eu>
Subject Re: ACE Agent deployment after renaming/changing the agent.identification.agentid property
Date Wed, 05 Feb 2014 14:52:40 GMT
Hello Wilfried,

On 04 Feb 2014, at 17:13 pm, Sibla Wilfried <Wilfried.Sibla@bosch-si.com> wrote:

> I tried to prepare a default target runtime for initial installation.
> My uses was: creating multiple target environments upfront and initial startup with predeployed
DP and avoiding immediate deployment after first connection to the ACE server (efficient target
replication and provisioning).
> 
> I chose the following proceeding:
> 
> 1.) start my target with ID: default
> 2.) copied the whole osgi runtime including the bundle cache and its configuration to
new location
> 3.) changed the agent.identification.agentid property to e.g. myExampleID
> 4.) start the new target osgi container with ID myExampleID.
> 
> But this does not work.
> The reason is that the ACE server is writing the ID of the target into the DP manifest
as the DeploymentPackage-SymbolicName.
> And on the other side this value is used by the DeploymentAdmin to enable the installation
of multiple DPs on a target.
> 
> Using a fake value as DeploymentPackage-SymbolicName (within the StreamGeneratorImpl)
and ignoring the identification/target ID in DeploymentHandlerImpl.getInstalledVersion() (line
212) could support this use case.
> 
> Could this be a valuable use case for ACE? E.g. in a configurable manner (property "use
dummy DP-BSN": true/false; as a server and target property).
> 
> Thanks a lot in advance.

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.

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.

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.

Greetings, Marcel


Mime
View raw message