Version 36 (modified by ibaldin, 8 years ago)


Q: Something went wrong, I don't know where to look?

A: Fear not. Check $ORCA_HOME/tomcat/logs/orca.log and $ORCA_HOME/tomcat/logs/catalina.out

Q: Where is antlib.xml?

A: Install maven ant tasks (you can download and install maven-ant-tasks-2.1.0.jar directly from and in Linux put it in /usr/share/ant/lib/). See Prerequisites.

You can check it:

$ jar -tf $ANT_HOME/lib/maven-ant-tasks*.jar | grep antlib.xml

Q: Maven complains about heap space while doing "mvn install", what's this about?


$ export MAVEN_OPTS="-XX:MaxPermSize=512m -Xmx1024m"
$ mvn install

Q: Webapp complains about not being able to find

A: As of Anacortes 1.2 ORCA no longer packages with the webapp. Create a directory (e.g. /opt/orca), make sure tomcat has a definition of $ORCA_HOME in its pointing to it (e.g. add 'export ORCA_HOME=/opt/orca') to tomcat, then copy in $ORCA_HOME/config/ and try again.

Q: My node agent randomly quits

A: Nodeagents ship with remote debugging port open by default. Port scans on that port tend to kill the NA. Reconfigure the NA not to use remote debugging (/root/na/bin/

# Uncomment this line to turn on debugging. Note that a port scan on the debug port will kill the
# JVM. This is a known bug in Java 1.5.
#DEBUG_OPTIONS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=${DEBUG_PORT}"

Q: My webapp randomly quits

A: You may have opened debug port in tomcat/ Close it by commenting out the long CATALINA_OPTS declaration and uncommenting the short one:

declare -x CATALINA_OPTS="-Xmx1024m"
#declare -x CATALINA_OPTS="-ea -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=11111 -Xmx1024m"

Q: How do I modify the path to Java executables used by ORCA?

A: Different ORCA components deal with it differently. For command-line testing, it is enough that your shell environment has proper $PATH and $JAVA_HOME settings. For container deployments, you can prepend tomcat/ with

export JAVA_HOME=<new path to java installation>
export PATH=$JAVA_HOME/bin:$PATH

For node agents, you can prepend the /etc/init.d/na script after the node agent is deployed to a host:

export JAVA_HOME=<new path to java installation>
export PATH=$JAVA_HOME/bin:$PATH

Q: What do I need to do to cancel a lease in Bella 2.x?

A: A controller injects a reservation object in the system by calling the service manager's demand(IReservation) method. All you need to cancel the lease is to call close() on that same reservation object.

You can close a reservation at any time. The internal state machine is designed to handle this and should do the right thing.

Q: I'm confused about all the steps needed to build ORCA?

A: The correct sequence when starting with a fresh orca installation is:

 ant get.all
 ant get.certificate (or ant get.certificate.sudo) - ONLY IF DOING FOR THE FIRST TIME ON THIS HOST
 mvn install
 ant prepare.use

ant get.all will check the code out from the different subversion projects that constitute ORCA

ant get.certificate will install RENCI's ( host certificate in your host's Java keystore - this only needs to be done once on a given host

ant will create Maven pom files at the top level of each project

mvn install will compile the jars and place them in target/ of each project and in ~/.m2/repository

ant prepare.use executes the following script: build-all/ If you take a look at this script, you will see that it executes ant get.packages in tools/cmdline.

The story about ant get.packages is as follows: when Orca starts it loads all extensions under $ORCA_HOME/startup. ant get.packages places the default extensions there. It should be rerun every time one of these extensions changes, so that $ORCA_HOME/startup would contain the most recent version of that extension. These versions come from the Maven repository (~/.m2/repository)

Q: What login/password do I use to login to ORCA portal?

A: In the pre 2.0 ORCA the password was stored in MySQL database and the default was 'admin' with an empty password. Starting from Bella 2.0 the password is stored in the file. This file is placed in $ORCA_HOME/config/. A stub for can be found under $ORCA_SRC/webapp2/config/

Q: I get an artifact missing error during one of the build stages?

A: Sometimes these errors are due to problems with pom files, however a lot of times they are transient, having to do with the behavior of Maven. Re-running 'mvn install' may clear them.

Q: How do I get actor certificate?

A: From $ORCA_SRC/tools/config:

ant -emacs -Dactor=guid_of_the_actor

Q: How can I add an external jar file to maven project?

A: An out-of-date procedure is described below. A better way is to deploy it using Artifactory ( You need to have BEN LDAP credentials to do it.

Outdated procedure: get this file from svn: Copy it in the root of your code checkout.

Read the file and create ~/.m2/settings.xml as directed.

Invoke the file like this: groupid artifactid version packaging path_to_artifact

groupid: flowvisor
artifactid: flowvisor
version: 1.0
packaging: jar
path_to_artifact: path_to_your jar

Then you can refer to this jar in your pom file like this:


NOTE: change the groupid/artifactid/version as you see fit. Just make sure you remember what you passed to so that you can use the same parameters in your dependency declaration.

Q: I'm getting a RuntimeException "Cannot obtain actor portal plugin"?

A: You are missing an extension package in the deployed webapp. Stop Tomcat, remove tomcat/webapps/orca/ subtree, remove $ORCA_HOME/state_recovery.lock file, then do

$ cd $ORCA_SRC/webapp
$ mvn clean; mvn package; ant deploy

Q: Tomcat is running out of memory? e.g. logs/catalina.out reports exceptions

Caused by: java.lang.OutOfMemoryError: PermGen space

A: locate Tomcat's, within there is a line that looks like this:

declare -x CATALINA_OPTS="-ea -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 -Xmx1024m"

add another option to it:

declare -x CATALINA_OPTS="-ea -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 -Xmx1024m  -XX:MaxPermSize=512M"

Here we are declaring PermGen? space to be 512M, which is quite large. Anything at 128M or above would improve the situation as Tomcat default is 64M.