Version 20 (modified by ibaldin, 10 years ago)

--

Building and Deploying GENI-ORCA

The GENI-ORCA development platform uses the CentOS 5.2 linux distribution with JPackage 5.0 installed. Here are the instructions to duplicate our CentOS environment. See additional notes at end of page.

Prerequisites

Notes on the requirements to build and install GENI-ORCA:

It is expected that the path and all appropriate standard variables (such as JAVA_HOME, M2_HOME, etc.) are configured for the required tools.

  • Java version 1.5.x
    • java -version and $JAVA_HOME/bin/java -version should both show a 1.5.0.x revision.
      java version "1.5.0_16"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_16-b06-284)
      Java HotSpot(TM) Client VM (build 1.5.0_16-133, mixed mode, sharing)
      
  • Ant 1.7.0+
    • The version shipped with Debian etch is known *NOT* to work.
    • The version shipped with Mac OS 10.4 is known *NOT* to work.
    • ant -version and $ANT_HOME/bin/ant -version should both show something like
      Apache Ant version 1.7.0 compiled on August 25 2008
      
  • Maven 2.0.6+
    • mvn -version and $M2_HOME/bin/mvn -version should both show something like
      Maven version: 2.0.6
      
  • Maven tasks for ant (installed in your ant's lib directory)
    • If these are installed, you should see something like the following:
      $ ant -diagnostics | grep maven-ant-tasks
      maven-ant-tasks-2.0.9.jar (1018394 bytes)
      java.class.path : /usr/share/ant/lib/ant-launcher.jar:/Users/sayler/.ant/lib/maven-
      ant-tasks-2.0.9.jar:/usr/share/ant/lib/ant-jai.jar:/usr/share/ant/lib/ant-jmf.jar:
      /usr/share/ant/lib/ant-junit.jar:/usr/share/ant/lib/ant-launcher.jar:/usr/share
      /ant/lib/ant-nodeps.jar:/usr/share/ant/lib/ant-swing.jar:/usr/share/ant/lib
      /ant-testutil.jar:/usr/share/ant/lib/ant-trax.jar:/usr/share/ant/lib/ant.jar:
      /usr/share/ant/lib/xercesImpl.jar:/usr/share/ant/lib/xml-apis.jar
      $
      
  • Subversion client with https support
    • You should have a ra_dav module with https support as follows
      $ svn --version
      svn, version 1.4.4 (r25188)
         compiled May 31 2008, 03:45:57
      
      Copyright (C) 2000-2006 CollabNet.
      Subversion is open source software, see http://subversion.tigris.org/
      This product includes software developed by CollabNet (http://www.Collab.Net/).
      
      The following repository access (RA) modules are available:
      
      * ra_dav : Module for accessing a repository via WebDAV (DeltaV) protocol.
        - handles 'http' scheme
        - handles 'https' scheme
      * ra_svn : Module for accessing a repository using the svn network protocol.
        - handles 'svn' scheme
      * ra_local : Module for accessing a repository on local disk.
        - handles 'file' scheme
      $
      
  • Read access to https://geni-orca.renci.org/svn
  • An ssh client
  • wget (any version and on path)

If there are issues with your build system, you can retrieve a working software set from svn co https://geni-orca.renci.org/svn/software. Running tar xvfz [filename] will extract the software needed. If necessary modify the first line of the environment file to reflect your path to the software directory, and source the environment file.

Instructions for Building ORCA

Step by Step build instructions.

Once you have retrieved and built the source tree, it is possible to build a sub project. Simply execute your ant or maven target in a sub project, and it will be excuted within the sub project. This method is much faster for incremental builds rather than building the entire ORCA tree.

Instructions for Deploying ORCA

Generating the GENI-ORCA web application

1. Create the webapp with the new information by running

mvn package

in orca/webapp.

2. Deploy into an already running tomcat instance on the local machine by typing

ant deploy

3. Wait until the actors start ticking before you log into the portal. Check in the log file (tomcat/logs/log) or just wait 45-60 seconds. Either tomcat or ORCA has an annoying race condition during webapp initialization.

Attachments