Skip to Content.
Sympa Menu

perfsonar-dev - perfsonar: r2903 - in branches/geant2_java-rrd-ma-extra: . ant bin

Subject: perfsonar development work

List archive

perfsonar: r2903 - in branches/geant2_java-rrd-ma-extra: . ant bin


Chronological Thread 
  • From:
  • To:
  • Subject: perfsonar: r2903 - in branches/geant2_java-rrd-ma-extra: . ant bin
  • Date: Thu, 4 Oct 2007 08:45:11 -0400

Author: roman
Date: 2007-10-04 08:45:11 -0400 (Thu, 04 Oct 2007)
New Revision: 2903

Removed:
branches/geant2_java-rrd-ma-extra/ant/install-targets.xml
branches/geant2_java-rrd-ma-extra/ant/test-targets.xml
branches/geant2_java-rrd-ma-extra/tools/
Modified:
branches/geant2_java-rrd-ma-extra/ant/build.xml
branches/geant2_java-rrd-ma-extra/bin/perfsonar-rrdma.sh
Log:

installation procedure moved to shell script



Modified: branches/geant2_java-rrd-ma-extra/ant/build.xml
===================================================================
--- branches/geant2_java-rrd-ma-extra/ant/build.xml 2007-10-04 11:41:08
UTC (rev 2902)
+++ branches/geant2_java-rrd-ma-extra/ant/build.xml 2007-10-04 12:45:11
UTC (rev 2903)
@@ -35,8 +35,6 @@

<import file="libs-download-targets.xml"/>
<import file="compile-targets.xml"/>
- <import file="install-targets.xml"/>
- <import file="test-targets.xml"/>
<import file="release-targets.xml"/>



Deleted: branches/geant2_java-rrd-ma-extra/ant/install-targets.xml

Deleted: branches/geant2_java-rrd-ma-extra/ant/test-targets.xml

Modified: branches/geant2_java-rrd-ma-extra/bin/perfsonar-rrdma.sh
===================================================================
--- branches/geant2_java-rrd-ma-extra/bin/perfsonar-rrdma.sh 2007-10-04
11:41:08 UTC (rev 2902)
+++ branches/geant2_java-rrd-ma-extra/bin/perfsonar-rrdma.sh 2007-10-04
12:45:11 UTC (rev 2903)
@@ -2,21 +2,33 @@

# $Id$
# project: perfSONAR
-# date: 2007/09/11
+# date: 2007/10/04
# author: romradz

+# Installation script for Java RRD MA

-BIN_HOME=`dirname "$0"`
-ANT_HOME=$BIN_HOME/../tools/apache-ant-1.7.0
+
ACTION=$1

-#echo $BIN_HOME
-#echo $ACTION
-#echo $ANT_HOME
+BASE_DIR=$(pwd)/$(dirname $0)/..
+CONF_DIR=$BASE_DIR/conf
+LIB_DIR=$BASE_DIR/lib
+RRDJTOOL=$BASE_DIR/contrib/rrdjtool
+SERVER=jetty-6.1.3
+SERVER_DIR=$BASE_DIR/server/$SERVER

-chmod u+x $ANT_HOME/bin/*
-cd $BIN_HOME/../ant
+SERVICE_NAME=perfSONAR-RRD-MA
+SERVICE_VERSION=2.3-dev

+
+if [ -z "$JAVA_HOME" ]
+then
+ echo "JAVA_HOME can not be found!"
+ exit 1
+fi
+
+
+
usage()
{
echo "\n\tUsage: $0
{install|uninstall|start|stop|test|test-metadata|help}\n"
@@ -27,48 +39,409 @@



+ps_input_1()
+{
+ read USER_INPUT
+ if [ -z "$USER_INPUT" ]
+ then
+ USER_INPUT=$1
+ fi
+ return 0
+}
+
+ps_input_2()
+{
+ while read USER_INPUT
+ do
+ if [ -z "$USER_INPUT" ]
+ then
+ #first parameter is a default answer
+ USER_INPUT=$1
+ break
+ fi
+ str_found=1
+ for str in $*
+ do
+ if [ "$str" = "$USER_INPUT" ]
+ then
+ str_found=0
+ break
+ fi
+ done
+ if [ $str_found -eq 0 ]
+ then
+ break
+ fi
+ done
+ return 0
+}
+
+
+ps_install()
+{
+ DAFAULT_SERVICE_PORT=8080
+ #DEFAULT_RRDTOOL_HEADER_FILE_DIR=/usr/local/rrdtool/include
+ DEFAULT_RRDTOOL_HEADER_FILE_DIR=/usr/include
+ #DEFAULT_RRDTOOL_LIB_DIR=/usr/local/rrdtool/lib
+ DEFAULT_RRDTOOL_LIB_DIR=/usr/lib
+
+ echo "Enter the port which will be used by your service:
[$DAFAULT_SERVICE_PORT]"
+ ps_input_1 $DAFAULT_SERVICE_PORT
+ SERVICE_PORT=$USER_INPUT
+
+ echo "Enter operating system type: ([linux], linux-64bit, freebsd,
solaris, other)"
+ ps_input_2 linux linux-64bit freebsd solaris other
+ SERVICE_OS=$USER_INPUT
+
+ echo "Enter the directory path where header file of the rrdtool (rrd.h)
can be found: [$DEFAULT_RRDTOOL_HEADER_FILE_DIR]"
+ ps_input_1 $DEFAULT_RRDTOOL_HEADER_FILE_DIR
+ RRDTOOL_HEADER_FILE_DIR=$USER_INPUT
+
+ echo "Enter the directory path where library files of the rrdtool
(librrd*) can be found: [$DEFAULT_RRDTOOL_LIB_DIR]"
+ ps_input_1 $DEFAULT_RRDTOOL_LIB_DIR
+ RRDTOOL_LIB_DIR=$USER_INPUT
+
+ rrd_native_lib_build
+
+ echo "Turn on service registration to Lookup Service: ([n],y)"
+ ps_input_2 n y
+ LS_REGISTER=$USER_INPUT
+ ls_register_func
+
+ DAFAULT_SERVICE_DESC="perfSONAR service"
+ echo "Enter the service description: [$DAFAULT_SERVICE_DESC]"
+ ps_input_1 $DAFAULT_SERVICE_DESC
+ SERVICE_DESC=$USER_INPUT
+
+ DAFAULT_CONTACT_EMAIL=""
+ echo "Enter the contact email address of service owner:
[$DAFAULT_CONTACT_EMAIL]"
+ ps_input_1 $DAFAULT_CONTACT_EMAIL
+ CONTACT_EMAIL=$USER_INPUT
+
+ DAFAULT_ORGANIZATION_NAME=""
+ echo "Enter the organization name where the service is being installed:
[$DAFAULT_ORGANIZATION_NAME]"
+ ps_input_1 $DAFAULT_ORGANIZATION_NAME
+ ORGANIZATION_NAME=$USER_INPUT
+
+ service_conf_create_1
+ service_conf_create_2
+ service_conf_create_3
+
+ webapp_dir_create
+
+ exit 0
+}
+
+rrd_java_lib_build()
+{
+ $JAVA_HOME/bin/javac -d $RRDJTOOL/java/ $RRDJTOOL/java/src/*.java
+ $JAVA_HOME/bin/jar -c0f $RRDJTOOL/build/rrdjtool.jar $RRDJTOOL/java/*
+}
+
+rrd_native_lib_build()
+{
+ LIB_NAME=$RRDJTOOL/build/libjrrd.so
+
+ if [ "$SERVICE_OS" = "linux" ]
+ then
+ rrd_java_lib_build
+ echo
-------------------------------------------------------------------------------
+ gcc -o $LIB_NAME -shared -Wl,-soname,$LIB_NAME \
+ -I $RRDTOOL_HEADER_FILE_DIR -L$RRDTOOL_LIB_DIR \
+ -I $JAVA_HOME/include -I $JAVA_HOME/include/linux/
$RRDJTOOL/native/*.c \
+ -lc -lrrd
+ echo
-------------------------------------------------------------------------------
+ elif [ "$SERVICE_OS" = "linux-64bit" ]
+ then
+ echo
-------------------------------------------------------------------------------
+ gcc -o $LIB_NAME -shared -Wl,-soname,$LIB_NAME \
+ -I $RRDTOOL_HEADER_FILE_DIR -L$RRDTOOL_LIB_DIR \
+ -I $JAVA_HOME/include -I $JAVA_HOME/include/linux/
$RRDJTOOL/native/Rrd.c \
+ -lc -lrrd -fPIC
+ echo
-------------------------------------------------------------------------------
+ elif [ "$SERVICE_OS" = "freebsd" ]
+ then
+ echo
-------------------------------------------------------------------------------
+ gcc -o $LIB_NAME -shared -Wl,-soname,$LIB_NAME \
+ -I $RRDTOOL_HEADER_FILE_DIR -L$RRDTOOL_LIB_DIR \
+ -I $JAVA_HOME/include -I $JAVA_HOME/include/freebsd/
$RRDJTOOL/native/Rrd.c \
+ -lc -lrrd
+ echo
-------------------------------------------------------------------------------
+ elif [ "$SERVICE_OS" = "solaris" ]
+ then
+ echo
-------------------------------------------------------------------------------
+ gcc -o $LIB_NAME -G \
+ -I $RRDTOOL_HEADER_FILE_DIR -L$RRDTOOL_LIB_DIR \
+ -I $JAVA_HOME/include -I $JAVA_HOME/include/solaris/
$RRDJTOOL/native/Rrd.c \
+ -lc -lrrd
+ echo
-------------------------------------------------------------------------------
+ elif [ "$SERVICE_OS" = "other" ]
+ then
+ echo "Other OS is not supported by this script"
+ fi
+
+ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$RRDTOOL_LIB_DIR:$RRDJTOOL/build
+
+ return 0
+}
+
+ls_register_func()
+{
+ if [ "$LS_REGISTER" = "y" ]
+ then
+ DAFAULT_LS_URL=""
+ DEFAULT_REGISTER_INTERVAL="30000"
+ DEFAULT_HOST_ADDRESS=""
+
+ echo "Enter the URL of LS: [$DAFAULT_LS_URL]"
+ ps_input_1 $DAFAULT_LS_URL
+ LS_URL=$USER_INPUT
+
+ echo "Enter the registration interval: [$DEFAULT_REGISTER_INTERVAL]"
+ ps_input_1 $DEFAULT_REGISTER_INTERVAL
+ REGISTER_INTERVAL=$USER_INPUT
+
+ echo "Enter IP or DNS address of the host you are using now to deploy
the service: [$DEFAULT_HOST_ADDRESS]"
+ ps_input_1 $DEFAULT_HOST_ADDRESS
+ HOST_ADDRESS=$USER_INPUT
+ fi
+}
+
+service_conf_create_1()
+{
+ #service.properties
+
+ cp $CONF_DIR/service.properties.template $CONF_DIR/service.properties
+
+ echo "service.port=$SERVICE_PORT\n\n" >> $CONF_DIR/service.properties
+
+ echo "component.ma.xmldb.db_status=on" >> $CONF_DIR/service.properties
+ echo "component.ma.xmldb.db_access=http" >> $CONF_DIR/service.properties
+ echo
"component.ma.xmldb.db_uri=http://localhost:$SERVICE_PORT/exist/rest/db/rrdmaconfig";
>> $CONF_DIR/service.properties
+ echo
"component.ma.xmldb.db_uri.xmlrpc=xmldb:exist://localhost:$SERVICE_PORT/exist/xmlrpc/db/rrdmaconfig"
>> $CONF_DIR/service.properties
+ echo "component.ma.xmldb.db_username=rrdmaservice" >>
$CONF_DIR/service.properties
+ echo "component.ma.xmldb.db_adminpassword=" >> $CONF_DIR/service.properties
+ echo "component.ma.xmldb.db_password=rrdmaservice" >>
$CONF_DIR/service.properties
+ echo "component.ma.xmldb.type=webapp\n\n" >> $CONF_DIR/service.properties
+
+ echo "service.ma.xmldb.db_store=off\n\n" >> $CONF_DIR/service.properties
+
+ echo "service.r.service_description=$SERVICE_DESC" >>
$CONF_DIR/service.properties
+ echo "service.r.organization_name=$ORGANIZATION_NAME" >>
$CONF_DIR/service.properties
+ echo "service.r.service_name=$SERVICE_NAME" >> $CONF_DIR/service.properties
+ echo "service.r.service_version=$SERVICE_VERSION" >>
$CONF_DIR/service.properties
+ echo "service.r.contact_email=$CONTACT_EMAIL\n\n" >>
$CONF_DIR/service.properties
+
+ echo
"service.log.log4j.config=$BASE_DIR/server/$SERVER/webapps/$SERVICE_NAME-$SERVICE_VERSION/WEB-INF/classes/perfsonar/conf/log4j.properties"
>> $CONF_DIR/service.properties
+ echo
"service.sax_parser.config=$BASE_DIR/server/$SERVER/webapps/$SERVICE_NAME-$SERVICE_VERSION/WEB-INF/classes/perfsonar/conf/objects.config\n\n"
>> $CONF_DIR/service.properties
+}
+
+service_conf_create_2()
+{
+ #components.properties
+
+ cp ${CONF_DIR}/components.properties.template
${CONF_DIR}/components.properties
+
+ if [ "$LS_REGISTER" = "y" ]
+ then
+ echo
"ma_scheduler=org.perfsonar.base.auxiliary.components.simplescheduler.Scheduler"
>> $CONF_DIR/components.properties
+ echo
"registrator=org.perfsonar.service.measurementArchive.register.LSRegistrationComponent"
>> $CONF_DIR/components.properties
+
+ echo "service.r.ls_url=$LS_URL" >> $CONF_DIR/service.properties
+ echo
"service.r.access_point=http://HOST_ADDRESS:$SERVICE_PORT/$SERVICE_NAME-$SERVICE_VERSION/services/MeasurementArchiveService";
>> ${CONF_DIR}/service.properties
+ echo "component.registrator.interval=$REGISTER_INTERVAL\n\n" >>
$CONF_DIR/service.properties
+ fi
+}
+
+service_conf_create_3()
+{
+ #log4j.properties
+
+ cp $CONF_DIR/log4j.properties.template $CONF_DIR/log4j.properties
+
+
LOGPATH=$BASE_DIR/server/$SERVER/webapps/$SERVICE_NAME-$SERVICE_VERSION/WEB-INF/logs
+
+ echo "log4j.appender.debugAppender.File=$LOGPATH/perfsonar_debug.log" >>
$CONF_DIR/log4j.properties
+ echo "log4j.appender.infoAppender.File=$LOGPATH/perfsonar_info.log" >>
$CONF_DIR/log4j.properties
+ echo "log4j.appender.warnAppender.File=$LOGPATH/perfsonar_warn.log" >>
$CONF_DIR/log4j.properties
+ echo "log4j.appender.errorAppender.File=$LOGPATH/perfsonar_error.log" >>
$CONF_DIR/log4j.properties
+ echo "log4j.appender.fatalAppender.File=$LOGPATH/perfsonar_fatal.log" >>
$CONF_DIR/log4j.properties
+ echo "log4j.appender.psRootAppender.File=$LOGPATH/perfsonar.log" >>
$CONF_DIR/log4j.properties
+}
+
+webapp_dir_create()
+{
+ if [ -d $SERVER_DIR/webapps/$SERVICE_NAME-$SERVICE_VERSION ]
+ then
+ rm -fr $SERVER_DIR/webapps/$SERVICE_NAME-$SERVICE_VERSION
+ fi
+
+ mkdir $SERVER_DIR/webapps/$SERVICE_NAME-$SERVICE_VERSION
+ mkdir $SERVER_DIR/webapps/$SERVICE_NAME-$SERVICE_VERSION/WEB-INF
+ mkdir $SERVER_DIR/webapps/$SERVICE_NAME-$SERVICE_VERSION/WEB-INF/lib
+ mkdir $SERVER_DIR/webapps/$SERVICE_NAME-$SERVICE_VERSION/WEB-INF/classes
+ mkdir
$SERVER_DIR/webapps/$SERVICE_NAME-$SERVICE_VERSION/WEB-INF/classes/perfsonar
+ mkdir
$SERVER_DIR/webapps/$SERVICE_NAME-$SERVICE_VERSION/WEB-INF/classes/perfsonar/conf
+ mkdir $SERVER_DIR/webapps/$SERVICE_NAME-$SERVICE_VERSION/WEB-INF/logs
+
+ JARS=$(ls -Rl $LIB_DIR/repository/ | grep .jar | awk '{ print $8 }')
+ dest=$SERVER_DIR/webapps/$SERVICE_NAME-$SERVICE_VERSION/WEB-INF/lib/
+ for jar in $JARS
+ do
+ src=$(find $LIB_DIR/repository/ -name $jar -print)
+ cp $src $dest
+ done
+
+ cp $BASE_DIR/build/*.jar $dest
+
+ cp $CONF_DIR/axis-1.4/server-config.wsdd
$SERVER_DIR/webapps/$SERVICE_NAME-$SERVICE_VERSION/WEB-INF/
+
+ cp $CONF_DIR/eventType-map.xml
$SERVER_DIR/webapps/$SERVICE_NAME-$SERVICE_VERSION/WEB-INF/classes/perfsonar/conf/
+ cp $CONF_DIR/eventType-rules.xml
$SERVER_DIR/webapps/$SERVICE_NAME-$SERVICE_VERSION/WEB-INF/classes/perfsonar/conf/
+
+ cp $CONF_DIR/service.properties
$SERVER_DIR/webapps/$SERVICE_NAME-$SERVICE_VERSION/WEB-INF/classes/perfsonar/conf/
+ cp $CONF_DIR/components.properties
$SERVER_DIR/webapps/$SERVICE_NAME-$SERVICE_VERSION/WEB-INF/classes/perfsonar/conf/
+ cp $CONF_DIR/log4j.properties
$SERVER_DIR/webapps/$SERVICE_NAME-$SERVICE_VERSION/WEB-INF/classes/perfsonar/conf/
+ cp $CONF_DIR/objects.config
$SERVER_DIR/webapps/$SERVICE_NAME-$SERVICE_VERSION/WEB-INF/classes/perfsonar/conf/
+
+ cp $CONF_DIR/axis-1.4/fingerprint.jsp
$SERVER_DIR/webapps/$SERVICE_NAME-$SERVICE_VERSION/
+ cp $CONF_DIR/axis-1.4/happyaxis.jsp
$SERVER_DIR/webapps/$SERVICE_NAME-$SERVICE_VERSION/
+ cp $CONF_DIR/axis-1.4/i18nLib.jsp
$SERVER_DIR/webapps/$SERVICE_NAME-$SERVICE_VERSION/
+ cp $CONF_DIR/axis-1.4/index.html
$SERVER_DIR/webapps/$SERVICE_NAME-$SERVICE_VERSION/
+ cp $CONF_DIR/axis-1.4/index.jsp
$SERVER_DIR/webapps/$SERVICE_NAME-$SERVICE_VERSION/
+
+ cp $CONF_DIR/axis-1.4/WEB-INF/users.lst
$SERVER_DIR/webapps/$SERVICE_NAME-$SERVICE_VERSION/WEB-INF/
+ cp $CONF_DIR/axis-1.4/WEB-INF/web.xml
$SERVER_DIR/webapps/$SERVICE_NAME-$SERVICE_VERSION/WEB-INF/
+
+ cp $CONF_DIR/axis-1.4/WEB-INF/classes/i18n.properties
$SERVER_DIR/webapps/$SERVICE_NAME-$SERVICE_VERSION/WEB-INF/classes
+}
+
+ps_server_start()
+{
+ PORTLINE=$(grep "service.port"
$SERVER_DIR/webapps/$SERVICE_NAME-$SERVICE_VERSION/WEB-INF/classes/perfsonar/conf/service.properties)
+ SERVICE_PORT=$(echo $PORTLINE | awk -F'=' '{print $2}')
+
+ export JETTY_PORT=$SERVICE_PORT
+ cd $SERVER_DIR
+ $SERVER_DIR/bin/jetty.sh start
+}
+
+ps_server_stop()
+{
+ $SERVER_DIR/bin/jetty.sh stop
+}
+
+ps_uninstall()
+{
+ rm -fr $SERVER_DIR/webapps/$SERVICE_NAME-$SERVICE_VERSION
+}
+
+
+JARS=$(ls -Rl $LIB_DIR/repository | grep .jar | awk '{ print $8 }')
+CPATH=""
+for jar in $JARS
+do
+ path=$(find $LIB_DIR/repository -name $jar -print)
+ CPATH=$CPATH:$path
+done
+
+java_client_call()
+{
+ PORTLINE=$(grep "service.port"
$SERVER_DIR/webapps/$SERVICE_NAME-$SERVICE_VERSION/WEB-INF/classes/perfsonar/conf/service.properties)
+ SERVICE_PORT=$(echo $PORTLINE | awk -F'=' '{print $2}')
+
+ $JAVA_HOME/bin/java -cp $CPATH -client
org.perfsonar.client.testHarness.SOAPClient \
+
http://127.0.0.1:$SERVICE_PORT/$SERVICE_NAME-$SERVICE_VERSION/services/MeasurementArchiveService
\
+ $1 $2
+}
+
+simple_test()
+{
+ echo "Echo test:"
+ java_client_call $BASE_DIR/samples/requests/EchoRequest.xml \
+ $BASE_DIR/samples/requests/response-1.xml
+ echo
+ echo "LookupInfo test:"
+ java_client_call $BASE_DIR/samples/requests/LookupInfoRequest.xml \
+ $BASE_DIR/samples/requests/response-2.xml
+}
+
+metadata_test(){
+ echo "Metadata configuration test:"
+ echo
+
+ #utilization
+ java_client_call
$BASE_DIR/samples/requests/MetadataKeyRequest-Utilization-1.xml \
+ $BASE_DIR/samples/requests/response-3.xml
+ echo
+ java_client_call
$BASE_DIR/samples/requests/MetadataKeyRequest-Utilization-3.xml \
+ $BASE_DIR/samples/requests/response-4.xml
+ echo
+ java_client_call
$BASE_DIR/samples/requests/SetupDataRequest-Utilization-2.xml \
+ $BASE_DIR/samples/requests/response-5.xml
+ echo
+ java_client_call
$BASE_DIR/samples/requests/SetupDataRequest-Utilization-4.xml \
+ $BASE_DIR/samples/requests/response-6.xml
+ echo
+
+ #errors
+ java_client_call $BASE_DIR/samples/requests/MetadataKeyRequest-Errors-1 \
+ $BASE_DIR/samples/requests/response-7.xml
+ echo
+ java_client_call $BASE_DIR/samples/requests/SetupDataRequest-Errors-1.xml \
+ $BASE_DIR/samples/requests/response-8.xml
+ echo
+
+ #discards
+ java_client_call $BASE_DIR/samples/requests/MetadataKeyRequest-Discards-1 \
+ $BASE_DIR/samples/requests/response-9.xml
+ java_client_call
$BASE_DIR/samples/requests/SetupDataRequest-Discards-1.xml \
+ $BASE_DIR/samples/requests/response-10.xml
+
+}
+
+
case "$ACTION" in
install)
echo "Installing the service... "
- $ANT_HOME/bin/ant -q ps-install
+ ps_install
;;

uninstall)
echo "Uninstalling the service... "
- $ANT_HOME/bin/ant -q ps-uninstall
+ ps_uninstall
;;

start)
echo "Starting up the service... "
- $ANT_HOME/bin/ant -q ps-server-start
+ ps_server_start
;;

stop)
echo "Shutting down the service... "
- $ANT_HOME/bin/ant -q ps-server-stop
+ ps_server_stop
;;

test)
echo "Testing the service... "
- $ANT_HOME/bin/ant echo-test
- $ANT_HOME/bin/ant lookup-info-test
+ simple_test
;;

test-metadata)
echo "Testing the service including the test metadata
configuration... "
- $ANT_HOME/bin/ant ps-test
+ metadata_test
;;

help)
usage
;;

- ant-version)
- echo "Checking the Ant version... "
- $ANT_HOME/bin/ant -version
- ;;
-
*)
usage
;;
-esac
\ No newline at end of file
+esac
+
+
+exit 0
+
+



  • perfsonar: r2903 - in branches/geant2_java-rrd-ma-extra: . ant bin, svnlog, 10/04/2007

Archive powered by MHonArc 2.6.16.

Top of Page