Version 16 (modified by anirban, 8 years ago)

--

Deploying an Authority

Overview

This section covers deployment steps for different types of site authorities.

Deploying an Eucalyptus/NEuca authority

DOCUMENTATION IN PROGRESS !!! Please come back later

Setup Eucalyptus with NEuca

Follow instructions for setting up Eucalyptus with NEuca patches at Eucalyptus 2.x setup with NEuca. Follow instructions at NEuca-in-orca to use NEuca with ORCA. For an overview of NEuca functionality, read NEuca overview.

Prepare ORCA_HOME

Set $ORCA_HOME. Use 'sudo' when needed. 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.

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

Make directories for storing Eucalyptus credentials, Euca site resource description files, ORCA actors' runtime credentials and ORCA configuration files.

$ mkdir $ORCA_HOME/ec2
$ mkdir $ORCA_HOME/ndl
$ mkdir $ORCA_HOME/runtime
$ mkdir $ORCA_HOME/config

Eucalyptus credentials

Unzip euca credentials zip file into $ORCA_HOME/ec2 . Assume that the downloaded euca credentials zip file is in the home directory.

$ cd $ORCA_HOME/ec2
$ cp $HOME/euca2-orca-x509.zip .
$ unzip euca2-orca-x509.zip 

Comment out the first line in $ORCA_HOME/ec2/eucarc.

#EUCA_KEY_DIR=$(dirname $(readlink -f ${BASH_SOURCE}))

Generate and Store Resource Representation for the Eucalyptus Site

Generate the NDL resource description of the Eucalyptus site and store it in $ORCA_HOME/ndl. Example of an Eucalyptus site NDL resource description can be found here. Consult RENCI staff on how to generate this.

$ cp $ORCA_SRC/network/src/main/resources/orca/network/rencivmsite.rdf $ORCA_HOME/ndl/.
$ cp $ORCA_SRC/network/src/main/resources/orca/network/renciNet.rdf $ORCA_HOME/ndl/.

Runtime credentials

Generate guids and certificates for all the actors in your container. Suppose you have three actors in your container - one for managing the Eucalyptus vms, one for managing the vlans inside the eucalyptus cluster and one for managing vlans when you want to connect your euca cluster to external resources through network transit domains. You need to do the following for each of the three actors in your container. Store the guids, which will be used for configuring the actors.

$ cd $ORCA_SRC/tools/config
$ ant guid
$ ant security.create.actor.config -Dactor=<guid_output_from_previous_command>

Store runtime credentials in $ORCA_HOME.

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

Configuration

$ORCA_HOME/config . Refer to the config files in the repository - config.xml and name it 'config.xml'. $ORCA_HOME/config/config.xml . Remember to insert the correct guids generated in the last step for eac of the actors. container.properties . Refer to container.properties and name it 'container.properties'. $ORCA_HOME/config/container.properties ec2.site.properties eucanet.cred.properties

Image Proxy

ORCA provides the capability for the user to specify urls for the filesystem image, kernel (optional) and ramdisk (optional) in their resource request. The user images would then be used to stand up the vms. The Image proxy is used to serve this purpose. Follow instructions on https://code.renci.org/gf/project/networkedclouds/wiki/?pagename=ImageProxy to setup and run Image proxy. To configure ORCA to use the Image proxy, follow instructions on ImageProxy with ORCA.

Image Proxy with Eucalyptus/NEuca

ssh Proxy Tunneling and Using Shorewall

When you need access to vm instances created in a private address space separated from the public Internet, ssh proxy tunneling can be used. We support Shorewall-DNAT proxy for this purpose. Install and run Shorewall on a machine (the NAT host) that is accessible via the public internet by following instructions at Shorewall setup. To use Shorewall with ORCA, follow instructions for Shorewall configuration for ORCA.

DNAT Proxy

Set up tomcat

$ cd $ORCA_HOME
$ wget https://geni-orca.renci.org/svn/software/tomcat.tar.gz
$ tar zxvf tomcat.tar.gz
$ cd $ORCA_HOME/tomcat

Edit start.sh and stop.sh to point to correct paths for ORCA_HOME and CATALINA_HOME. Example start.sh

#!/bin/bash

# customize this to your setup
export ORCA_HOME=/opt/orca

# if you are using non-standard java, uncomment and change this
# export JAVA_HOME=/opt/java/jdk-1.6.20
export JAVA_HOME=/opt/java/jdk1.6.0_23
export PATH=$JAVA_HOME/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/lib

# assuming tomcat is under $ORCA_HOME
export CATALINA_HOME=$ORCA_HOME/tomcat

# if you want to enable debugging, uncomment this line and comment out the following one. Default debug port is 11000
#declare -x CATALINA_OPTS="-ea -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=11000 -Xmx1024m"
declare -x CATALINA_OPTS="-Xmx1024m"

export ANT_HOME=
rm $CATALINA_HOME/logs/*
$CATALINA_HOME/bin/catalina.sh start

Example of stop.sh.

#!/bin/bash

# customize this to your install
export ORCA_HOME=/opt/orca

# uncomment and customize this if you are using non-standard Java install
export JAVA_HOME=/opt/java/jdk1.6.0_23
export PATH=$JAVA_HOME/bin:$PATH

# assuming tomcat lives under $ORCA_HOME
export CATALINA_HOME=$ORCA_HOME/tomcat

$CATALINA_HOME/bin/shutdown.sh
for x in `ps -ef | grep "org.apache.catalina.startup.Bootstrap" | awk '{print $2}'`; do kill -9 $x; done

Final Deployment

tomcat restart, state_recovery lock file, deploy to the machine

Some troubleshooting tips

Attachments