Version 11 (modified by ibaldin, 6 years ago)


Setup $ORCA_HOME for ORCA 4.x


While the structure of $ORCA_HOME in 4.x series is largely similar to 2.x and 3.x series, there are some differences. The file that described the deployment of ORCA in a Tomcat container has been renamed into and the its content has changed (see below).

Here we summarize the important points about the structure of $ORCA_HOME in ORCA 4.x series vs. previous versions:

  • The file is now the only place that contains the pointer to the database used by ORCA
  • The config.xml file has not changed. NDL files also have not changed. AM site properties files have not changed.
  • The XMLRPC controller that provides ORCA and GENI interfaces is now a *separate executable*. It is configured separately with a its own configuration directory, referred to as $ORCA_CONTROLLER_HOME.
  • Controller and AM configuration files have not changed compared to ORCA 3.x, although controller configuration will now reside under $ORCA_CONTROLLER_HOME, not $ORCA_HOME.
  • Database schema has not changed


Once you decide which host ORCA container will run on, you can begin configuring ORCA on it.

Set $ORCA_HOME (typically /opt/orca or similar). Change ownership of this directory to the user on whose behalf the euca site authority is going to run. 'geni-orca' is the user and 'nonrenci' is the group in this example. The user and group are presumed to exist.

$ export ORCA_HOME=/opt/orca 
$ mkdir -p $ORCA_HOME 
$ chown -R geni-orca:nonrenci .

Create config/ and runtime/ directories for storing container configuration, actor configuration and Axis2 credentials:

$ cd $ORCA_HOME; mkdir runtime config scripts

Populate directories

It is easiest to populate the $ORCA_HOME by checking out a sample configuration from the SVN repository:

$ svn co $ORCA_HOME

Next the installation needs to be customized.


An example of '' for a container can be found here. Modify this file to tailor to your installation:

  • Change 'protocols.soapaxis2.url' to point to this host and proper port (usually 11080)
  • Generate and change 'container.guid'. You can use 'uuidgen' program that ships with many Linux distros and Mac OS X. You can also use ORCA tools that come with a source distribution:
    $ cd $ORCA_SRC/tools/config
    $ ant guid
  • Adjust the database settings
  • Adjust the admin user login and password
  • Make sure emulation is turned off
  • Optionally, if you want to make the actors in the container talk to the RENCI Actor Registry, follow instructions for configuring with registry.
    • From Camano 3.0+ on, this is the recommended way to interconnect actors within and between containers.


This file contains the definitions of ORCA actors placed in this container. The contents is heavily dependent on your deployment type. Please refer to top-level documentation for more information.


Note that in ORCA 3.x series, the runtime directory was under $ORCA_HOME, now it is under $ORCA_HOME/config.

Generate admin security configuration:

$ cd $ORCA_SRC/tools/config
$ ant security.create.admin.config

Generate GUIDs and certificates for ALL the actors in your container (the number of actors is dependent on your deployment; actor type is not important). Store the guids somewhere (a plain text file), which will be used for configuring the actors later. Let ORCA_SRC be the root of the downloaded ORCA source:

$ cd $ORCA_SRC/tools/config
$ ant guid
$ ant -Dactor=<guid_output_from_previous_command>

Store runtime admin and actor credentials in $ORCA_HOME.

$ cp -r $ORCA_SRC/tools/config/runtime/* $ORCA_HOME/config/runtime/

Other configuration files

Authority actors require additional configuration files that are also usually placed under $ORCA_HOME. They are discussed in authority actor configuration.