Hello Wilfried,

On 04 Feb 2014, at 17:13 pm, Sibla Wilfried <[email protected]> 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

Reply via email to