Problem

How do I deploy Components/Containers around distributed hosts?

Solution

The basic principle is that

  • a Component runs inside a specified Container

i.e. for a component you specify only the name of the Container where it has to run and never explicitly the host.
The Container name is an information that you configure for Components in the CDB.

Then the issue becomes:

  • how do I start a Container on a certain host

There are various options for this, but the principle is:

  • I start a Container and I tell it where the Manager is, typically using the MANAGER_REFERENCE. environment variable.
    The container start up, logs into the Manager and then the Manager knows what to do when a component is requested for that Container.

You can find a short summary of the simplest, by hand strategy here:

Here is a more detailed description of the various strategies available:

Command Line

You can start the container "by hand" from the command line in the desired host.
See the acsStartContainer command in:
http://www.eso.org/projects/alma/develop/acs/OnlineDocs/ACS-Overview.pdf


      > export MANAGER_REFERENCE=corbaloc:::3000/Manager
         (or use the -m command line option os acsStartContainer)
      > acsStartContainer -cpp MyContainerName


Command Center

You can use the ACS Command Center.
See: http://www.eso.org/projects/alma/develop/acs/OnlineDocs/ACSCommandCenter/Acs_Command_Center_-_User_Guide.html

Just click on the [...] button for the configuration of the Container to start.
There you can specify the host and the remote login information.
The CommandCenter will do a remote ssh execution and set properly MANAGER_REFERENCE


ACS Daemon

You can use an ACS Daemon This is a feature introduced in ACS 6 and is being used for the actual ALMA deployment.
See: DeploymentOfComponentsOnNodesAndStartupOfContainers


More information

You can get some additional background information here:


-- GianlucaChiozzi - 09 Aug 2007