diff options
Diffstat (limited to 'testsuites/rubbos')
91 files changed, 5049 insertions, 0 deletions
diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/1-1-1.xml b/testsuites/rubbos/rubbos_scripts/1-1-1/1-1-1.xml new file mode 100644 index 00000000..07a64362 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/1-1-1.xml @@ -0,0 +1,350 @@ +<?xml version="1.0"?> + +<xtbl name="RubbosBenchmark" version="0.1"> + + +<instances> + <params> + <env> + <!-- Experiment name on Emulab --> + <param name="EMULAB_EXPERIMENT_NAME" value="hanwei.infosphere.emulab.net"/> + + <!-- Directories from which files are copied --> + <param name="WORK_HOME" value="/bottlenecks/rubbos/rubbos_scripts/rubbosMulini6"/> + <param name="OUTPUT_HOME" value="/bottlenecks/rubbos/rubbos_scripts/1-1-1"/> + <param name="SOFTWARE_HOME" value="/bottlenecks/rubbos/app_tools"/> + + <!-- Output directory for results of RUBBoS benchmark --> + <param name="RUBBOS_RESULTS_HOST" value="bonn.cc.gt.atl.ga.us"/> + <param name="RUBBOS_RESULTS_DIR_BASE" value="/bottlenecks/rubbos/rubbos_results"/> + + <!-- Top directories --> + <param name="BOTTLENECKS_TOP" value="/bottlenecks"/> + <param name="RUBBOS_TOP" value="$BOTTLENECKS_TOP/rubbos"/> + <param name="RUBBOS_APP" value="$RUBBOS_TOP/app"> + <param name="TMP_RESULTS_DIR_BASE" value="$RUBBOS_TOP/tmp_results"/> + + <!-- Sysstat & Dstat--> + <param name="SYSSTAT_HOME" value="$RUBBOS_APP/sysstat-9.0.6"/> + <param name="SYSSTAT_TARBALL" value="sysstat-9.0.6.tar.gz"/> + <param name="DSTAT_TARBALL" value="$SOFTWARE_HOME/dstat.tar.gz"/> + + <!-- Ant --> + <param name="ANT_HOME" value="$RUBBOS_TOP/apache-ant-1.6.5"/> + <param name="ANT_TARBALL" value="apache-ant-1.6.5.tar.gz"/> + + <!-- Rubbos --> + <param name="RUBBOS_HOME" value="$RUBBOS_APP/RUBBoS"/> + <param name="RUBBOS_TARBALL" value="RUBBoS-servlets.tar.gz"/> + <param name="RUBBOS_DATA_TARBALL" value="rubbos_data.tar.gz"/> + <param name="RUBBOS_DATA_TEXTFILES_TARBALL" value="smallDB-rubbos-modified.tgz"/> + + <!-- Java --> + <!--jdk j2sdk-1_4_2_19-linux-i586 + <param name="JAVA_HOME" value="/mnt/elba/rubbos/jdk1.5.0_07"/> + <param name="JAVA_OPTS" value="-Xmx1300m"/> + <param name="JAVA_TARBALL" value="jdk1.5.0_07.tar.gz"/> + --> + <!-- jdk-1_5_0_7-linux-i586 + <param name="JAVA_HOME" value="/mnt/elba/rubbos/jdk1.5.0_07"/> + <param name="JAVA_OPTS" value="-Xmx1300m"/> + <param name="JAVA_TARBALL" value="jdk1.5.0_07.tar.gz"/> + --> + <!--jdk-1_5_0_22-linux-i586 + <param name="JAVA_HOME" value="/mnt/elba/rubbos/jdk1.5.0_07"/> + <param name="JAVA_OPTS" value="-Xmx1300m"/> + <param name="JAVA_TARBALL" value="jdk1.5.0_07.tar.gz"/> + --> + <!-- jdk-6u27-linux-i586 --> + <param name="JAVA_HOME" value="$RUBBOS_APP/jdk1.6.0_27"/> + <param name="JAVA_OPTS" value="-Xmx1300m"/> + <param name="JAVA_TARBALL" value="jdk1.6.0_27.tar.gz"/> + <!-- J2EE --> + <param name="J2EE_HOME" value="$RUBBOS_APP/j2sdkee1.3.1"/> + <param name="J2EE_TARBALL" value="j2sdkee1.3.1.jar.gz"/> + + <!-- Apache --> + <param name="HTTPD_HOME" value="$RUBBOS_APP/apache2"/> + <param name="HTTPD_INSTALL_FILES" value="$RUBBOS_APP/httpd-2.0.64"/> + <param name="HTTPD_TARBALL" value="httpd-2.0.64.tar.gz"/> + + <!-- mod_jk --> + <!-- jakarta-tomcat-connectors-1.2.15 + <param name="MOD_JK_INSTALL_FILES" value="$RUBBOS_TOP/jakarta-tomcat-connectors-1.2.15-src"/> + <param name="MOD_JK_INSTALL_CONFIGURE" value="$MOD_JK_INSTALL_FILES/jk/native"/> + <param name="MOD_JK_TARBALL" value="jakarta-tomcat-connectors-1.2.15-src.tar.gz"/> + --> + <!-- tomcat-connectors-1.2.32 --> + <param name="MOD_JK_INSTALL_FILES" value="$RUBBOS_APP/tomcat-connectors-1.2.32-src"/> + <param name="MOD_JK_INSTALL_CONFIGURE" value="$MOD_JK_INSTALL_FILES/native"/> + <param name="MOD_JK_TARBALL" value="tomcat-connectors-1.2.32-src.tar.gz"/> + + <!-- Tomcat --> + <!-- apache-tomcat-5.5.17 --> + <param name="CATALINA_HOME" value="$RUBBOS_APP/apache-tomcat-5.5.17"/> + <param name="CATALINA_BASE" value="$CATALINA_HOME"/> + <param name="TOMCAT_TARBALL" value="apache-tomcat-5.5.17.tar.gz"/> + <param name="SERVLET_API_PATH" value="$CATALINA_HOME/common/lib/servlet-api.jar"/> + + <!-- apache-tomcat-5.5.33 + <param name="CATALINA_HOME" value="/mnt/elba/rubbos/apache-tomcat-5.5.33"/> + <param name="CATALINA_BASE" value="$CATALINA_HOME"/> + <param name="TOMCAT_TARBALL" value="apache-tomcat-5.5.33.tar.gz"/> + <param name="SERVLET_API_PATH" value="$CATALINA_HOME/common/lib/servlet-api.jar"/> + --> + <!-- apache-tomcat-6.0.33 + <param name="CATALINA_HOME" value="/mnt/elba/rubbos/apache-tomcat-6.0.33"/> + <param name="CATALINA_BASE" value="$CATALINA_HOME"/> + <param name="TOMCAT_TARBALL" value="apache-tomcat-6.0.33.tar.gz"/> + <param name="SERVLET_API_PATH" value="$CATALINA_HOME/lib/servlet-api.jar"/> + --> + <!-- apache-tomcat-7.0.21 + <param name="CATALINA_HOME" value="/mnt/elba/rubbos/apache-tomcat-7.0.21"/> + <param name="CATALINA_BASE" value="$CATALINA_HOME"/> + <param name="TOMCAT_TARBALL" value="apache-tomcat-7.0.21.tar.gz"/> + <param name="SERVLET_API_PATH" value="$CATALINA_HOME/lib/servlet-api.jar"/> + --> + + <!-- C-JDBC + <param name="CJDBC_HOME" value="$RUBBOS_TOP/c-jdbc-2.0.2-bin"/> + <param name="CJDBC_TARBALL" value="c-jdbc-2.0.2-bin-modified.tar.gz"/> + <param name="CJDBC_DRIVER" value="c-jdbc-driver.jar"/> + <param name="CJDBC_CONTROLLER" value="c-jdbc-controller.jar"/> + <param name="CJDBC_PORT" value="25322"/> + --> + + <!-- Mysql --> + <param name="MYSQL_HOME" value="$RUBBOS_APP/mysql-5.0.51a-linux-i686-glibc23"/> + <param name="MYSQL_TARBALL" value="mysql-5.0.51a-linux-i686-glibc23.tar.gz"/> + <param name="MYSQL_TARBALL_RT" value="mysql-5.0.51a-modified-bin.tar.gz"/> + <param name="MYSQL_CONNECTOR" value="mysql-connector-java-5.1.7-bin.jar"/> + <param name="MYSQL_PORT" value="3313"/> + <param name="MYSQL_SOCKET" value="$MYSQL_HOME/mysql.sock"/> + <param name="MYSQL_DATA_DIR" value="$MYSQL_HOME/data"/> + <param name="MYSQL_ERR_LOG" value="$MYSQL_HOME/data/mysql.log"/> + <param name="MYSQL_PID_FILE" value="$MYSQL_HOME/run/mysqld.pid"/> + <param name="MYSQL_ROOT_PW" value="new-password"/> + + <!-- for PostgreSQL + <param name="POSTGRES_HOME" value="$RUBBOS_TOP/pgsql"/> + <param name="POSTGRES_INSTALL_FILES" value="$RUBBOS_TOP/postgresql-8.3.1"/> + <param name="POSTGRES_CONNECTOR" value="postgresql-8.3-603.jdbc3.jar"/> + <param name="POSTGRES_DATA_DIR" value="$POSTGRES_HOME/data"/> + --> + + <!-- for DBs & C-JDBC --> + <param name="ROOT_PASSWORD" value="new-password"/> + <param name="ELBA_USER" value="elba"/> + <param name="ELBA_PASSWORD" value="elba"/> + + </env> + + <workloads> + <param name="workload" value="200"/> + <param name="workload" value="300"/> + <param name="workload" value="400"/> + <param name="workload" value="500"/> + <param name="workload" value="600"/> + <param name="workload" value="700"/> + <param name="workload" value="800"/> + <param name="workload" value="900"/> + <param name="workload" value="1000"/> + <param name="workload" value="1100"/> + <param name="workload" value="1200"/> + <param name="workload" value="1300"/> + <param name="workload" value="1400"/> + <param name="workload" value="1500"/> + <param name="workload" value="1600"/> + <param name="workload" value="1700"/> + </workloads> + + <rubbos-conf> + <param name="connectionPoolSize" value="12"/> + <param name="upRampTime" value="480000"/> + <param name="runTime" value="720000"/> + <param name="downRampTime" value="30000"/> + <param name="removeBinFiles" value="true"/> + <param name="MON_FREQUENCY" value="1" /> + <param name="sarMonitor" value="false"/> + <param name="psMonitor" value="false"/> + <param name="iostatMonitor" value="true"/> + <param name="connectionTimeoutValue" value="300"/> + </rubbos-conf> + + <apache-conf> + <param name="Timeout" value="5"/> + <param name="KeepAlive" value="Off"/> + <param name="MaxKeepAliveRequests" value="100"/> + <param name="ServerLimit" value="200"/> + <param name="ThreadLimit" value="300"/> + <param name="StartServers" value="1"/> + <param name="MaxClients" value="300"/> + <param name="MinSpareThreads" value="5"/> + <param name="MaxSpareThreads" value="50"/> + <param name="ThreadsPerChild" value="150"/> + <param name="MaxRequestsPerChild" value="0"/> + </apache-conf> + + <tomcat-conf> + <param name="maxThreads" value="330"/> + <param name="minSpareThreads" value="5"/> + <param name="maxSpareThreads" value="50"/> + <param name="acceptCount" value="6000"/> + </tomcat-conf> + + <cjdbc-conf> + <param name="initPoolSize" value="30"/> + <param name="minPoolSize" value="25"/> + <param name="maxPoolSize" value="90"/> + <param name="idleTimeout" value="30"/> + <param name="waitTimeout" value="10"/> + <param name="waitForCompletion" value="all"/> + <!-- "all" or "first", "first" is default" --> + <param name="loadBalancing" value="LeastPendingRequestsFirst"/> + <!-- "LeastPendingRequestsFirst" or "RoundRobin", "LeastPendingRequestsFirst" is default" --> + </cjdbc-conf> + + <!-- + <postgres-conf> + <param name="max_connections" value="150"/> + <param name="shared_buffers" value="24MB"/> + <param name="max_fsm_pages" value="153600"/> + <param name="checkpoint_segments" value="16"/> + </postgres-conf> + --> + <logging> + <param name="apacheResponseTime" value="false"/> + <param name="tomcatResponseTime" value="false"/> + <param name="cjdbcResponseTime" value="false"/> + <param name="mysqlResponseTime" value="false"/> + </logging> + + </params> + + <instance name="CONTROL" type="control_server"> + <target>node1</target> + <action type="checkScp_exec" seq="1" template="../templates/DeployScript/check_scp.xsl" /> + <action type="emulabConf_exec" seq="2" template="../templates/DeployScript/emulab_config.xsl" /> + <action type="rubbos_exec" seq="250" template="../templates/DeployScript/RUBBOSexecution.xsl" /> + </instance> + + <instance name="BENCHMARK" type="benchmark_server"> + <target>node2</target> + <action type="rubbos_install" seq="19" template="../templates/DeployScript/RUBBOSinstall.xsl" /> + <action type="install" seq="21" template="../templates/DeployScript/RUBBOS_CLIENTinstall.xsl" /> + <action type="configure" seq="104" template="../templates/DeployScript/RUBBOS_CLIENTconfigure.xsl" /> + <action type="uninstall" seq="401" template="../templates/DeployScript/RUBBOS_CLIENTuninstall.xsl" /> + <action type="rubbos_uninstall" seq="402" template="../templates/DeployScript/RUBBOSuninstall.xsl" /> + </instance> + + <instance name="CLIENT1" type="client_server"> + <target>node3</target> + <action type="rubbos_install" seq="20" template="../templates/DeployScript/RUBBOSinstall.xsl" /> + <action type="install" seq="22" template="../templates/DeployScript/RUBBOS_CLIENTinstall.xsl" /> + <action type="configure" seq="105" template="../templates/DeployScript/RUBBOS_CLIENTconfigure.xsl" /> + <action type="uninstall" seq="403" template="../templates/DeployScript/RUBBOS_CLIENTuninstall.xsl" /> + <action type="rubbos_uninstall" seq="404" template="../templates/DeployScript/RUBBOSuninstall.xsl" /> + </instance> + + <instance name="CLIENT2" type="client_server"> + <target>node4</target> + <action type="rubbos_install" seq="20" template="../templates/DeployScript/RUBBOSinstall.xsl" /> + <action type="install" seq="22" template="../templates/DeployScript/RUBBOS_CLIENTinstall.xsl" /> + <action type="configure" seq="105" template="../templates/DeployScript/RUBBOS_CLIENTconfigure.xsl" /> + <action type="uninstall" seq="403" template="../templates/DeployScript/RUBBOS_CLIENTuninstall.xsl" /> + <action type="rubbos_uninstall" seq="404" template="../templates/DeployScript/RUBBOSuninstall.xsl" /> + </instance> + + <instance name="CLIENT3" type="client_server"> + <target>node5</target> + <action type="rubbos_install" seq="20" template="../templates/DeployScript/RUBBOSinstall.xsl" /> + <action type="install" seq="22" template="../templates/DeployScript/RUBBOS_CLIENTinstall.xsl" /> + <action type="configure" seq="105" template="../templates/DeployScript/RUBBOS_CLIENTconfigure.xsl" /> + <action type="uninstall" seq="403" template="../templates/DeployScript/RUBBOS_CLIENTuninstall.xsl" /> + <action type="rubbos_uninstall" seq="404" template="../templates/DeployScript/RUBBOSuninstall.xsl" /> + </instance> + + <instance name="CLIENT4" type="client_server"> + <target>node6</target> + <action type="rubbos_install" seq="20" template="../templates/DeployScript/RUBBOSinstall.xsl" /> + <action type="install" seq="22" template="../templates/DeployScript/RUBBOS_CLIENTinstall.xsl" /> + <action type="configure" seq="105" template="../templates/DeployScript/RUBBOS_CLIENTconfigure.xsl" /> + <action type="uninstall" seq="403" template="../templates/DeployScript/RUBBOS_CLIENTuninstall.xsl" /> + <action type="rubbos_uninstall" seq="404" template="../templates/DeployScript/RUBBOSuninstall.xsl" /> + </instance> + + <instance name="HTTPD" type="web_server"> + <target>node7</target> + <action type="install" seq="14" template="../templates/DeployScript/WEBinstall.xsl" /> + <action type="rubbos_install" seq="18" template="../templates/DeployScript/RUBBOSinstall.xsl" /> + <action type="configure" seq="103" template="../templates/DeployScript/WEBconfigure.xsl" /> + <action type="ignition" seq="204" template="../templates/DeployScript/WEBignition.xsl" /> + <action type="stop" seq="301" template="../templates/DeployScript/WEBstop.xsl" /> + <action type="rubbos_uninstall" seq="405" template="../templates/DeployScript/RUBBOSuninstall.xsl" /> + <action type="uninstall" seq="406" template="../templates/DeployScript/WEBuninstall.xsl" /> + </instance> + + <instance name="TOMCAT1" type="app_server"> + <target>node8</target> + <action type="install" seq="13" template="../templates/DeployScript/TOMCATinstall.xsl"/> + <action type="rubbos_install" seq="17" template="../templates/DeployScript/RUBBOSinstall.xsl" /> + <action type="configure" seq="102" template="../templates/DeployScript/TOMCATconfigure.xsl" /> + <action type="rubbosSL_configure" seq="106" template="../templates/DeployScript/RUBBOS_SERVLETconfigure.xsl" /> + <action type="ignition" seq="203" template="../templates/DeployScript/TOMCATignition.xsl" /> + <action type="stop" seq="302" template="../templates/DeployScript/TOMCATstop.xsl" /> + <action type="rubbos_uninstall" seq="407" template="../templates/DeployScript/RUBBOSuninstall.xsl" /> + <action type="uninstall" seq="408" template="../templates/DeployScript/TOMCATuninstall.xsl" /> + </instance> + + <!-- + <instance name="TOMCAT2" type="app_server"> + <target>node9</target> + <action type="install" seq="13" template="../templates/DeployScript/TOMCATinstall.xsl"/> + <action type="rubbos_install" seq="17" template="../templates/DeployScript/RUBBOSinstall.xsl" /> + <action type="configure" seq="102" template="../templates/DeployScript/TOMCATconfigure.xsl" /> + <action type="rubbosSL_configure" seq="106" template="../templates/DeployScript/RUBBOS_SERVLETconfigure.xsl" /> + <action type="ignition" seq="203" template="../templates/DeployScript/TOMCATignition.xsl" /> + <action type="stop" seq="302" template="../templates/DeployScript/TOMCATstop.xsl" /> + <action type="rubbos_uninstall" seq="407" template="../templates/DeployScript/RUBBOSuninstall.xsl" /> + <action type="uninstall" seq="408" template="../templates/DeployScript/TOMCATuninstall.xsl" /> + </instance> + + <instance name="CJDBC" type="cjdbc_server"> + <swname>CJDBC_Controller</swname> + <target>node10</target> + <action type="install" seq="12" template="../templates/DeployScript/CJDBC_CONTROLLERinstall.xsl" /> + <action type="rubbos_install" seq="16" template="../templates/DeployScript/RUBBOSinstall.xsl" /> + <action type="ignition" seq="202" template="../templates/DeployScript/CJDBC_CONTROLLERignition.xsl" /> + <action type="stop" seq="303" template="../templates/DeployScript/CJDBC_CONTROLLERstop.xsl" /> + <action type="rubbos_uninstall" seq="409" template="../templates/DeployScript/RUBBOSuninstall.xsl" /> + <action type="uninstall" seq="410" template="../templates/DeployScript/CJDBC_CONTROLLERuninstall.xsl" /> + </instance> + --> + + <instance name="MYSQL1" type="db_server"> + <target>node9</target> + <action type="install" seq="11" template="../templates/DeployScript/MYSQLinstall.xsl" /> + <action type="rubbos_install" seq="15" template="../templates/DeployScript/RUBBOSinstall.xsl" /> + <action type="configure" seq="101" template="../templates/DeployScript/MYSQLconfigure.xsl" /> + <action type="reset" seq="150" template="../templates/DeployScript/MYSQLreset.xsl" /> + <action type="ignition" seq="201" template="../templates/DeployScript/MYSQLignition.xsl" /> + <action type="stop" seq="304" template="../templates/DeployScript/MYSQLstop.xsl" /> + <action type="rubbos_uninstall" seq="411" template="../templates/DeployScript/RUBBOSuninstall.xsl" /> + <action type="uninstall" seq="412" template="../templates/DeployScript/MYSQLuninstall.xsl" /> + </instance> + <!-- + <instance name="MYSQL2" type="db_server"> + <target>node12</target> + <action type="install" seq="11" template="../templates/DeployScript/MYSQLinstall.xsl" /> + <action type="rubbos_install" seq="15" template="../templates/DeployScript/RUBBOSinstall.xsl" /> + <action type="configure" seq="101" template="../templates/DeployScript/MYSQLconfigure.xsl" /> + <action type="reset" seq="150" template="../templates/DeployScript/MYSQLreset.xsl" /> + <action type="ignition" seq="201" template="../templates/DeployScript/MYSQLignition.xsl" /> + <action type="stop" seq="304" template="../templates/DeployScript/MYSQLstop.xsl" /> + <action type="rubbos_uninstall" seq="411" template="../templates/DeployScript/RUBBOSuninstall.xsl" /> + <action type="uninstall" seq="412" template="../templates/DeployScript/MYSQLuninstall.xsl" /> + </instance> + --> +</instances> + +</xtbl> diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/apache_conf/httpd.conf b/testsuites/rubbos/rubbos_scripts/1-1-1/apache_conf/httpd.conf new file mode 100644 index 00000000..819bfa63 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/apache_conf/httpd.conf @@ -0,0 +1,1076 @@ + +# +# Based upon the NCSA server configuration files originally by Rob McCool. +# +# This is the main Apache server configuration file. It contains the +# configuration directives that give the server its instructions. +# See <URL:http://httpd.apache.org/docs-2.0/> for detailed information about +# the directives. +# +# Do NOT simply read the instructions in here without understanding +# what they do. They're here only as hints or reminders. If you are unsure +# consult the online docs. You have been warned. +# +# The configuration directives are grouped into three basic sections: +# 1. Directives that control the operation of the Apache server process as a +# whole (the 'global environment'). +# 2. Directives that define the parameters of the 'main' or 'default' server, +# which responds to requests that aren't handled by a virtual host. +# These directives also provide default values for the settings +# of all virtual hosts. +# 3. Settings for virtual hosts, which allow Web requests to be sent to +# different IP addresses or hostnames and have them handled by the +# same Apache server process. +# +# Configuration and logfile names: If the filenames you specify for many +# of the server's control files begin with "/" (or "drive:/" for Win32), the +# server will use that explicit path. If the filenames do *not* begin +# with "/", the value of ServerRoot is prepended -- so "logs/foo.log" +# with ServerRoot set to "/mnt/elba/rubbos/apache2" will be interpreted by the +# server as "/mnt/elba/rubbos/apache2/logs/foo.log". +# + +### Section 1: Global Environment +# +# The directives in this section affect the overall operation of Apache, +# such as the number of concurrent requests it can handle or where it +# can find its configuration files. +# + +# +# ServerRoot: The top of the directory tree under which the server's +# configuration, error, and log files are kept. +# +# NOTE! If you intend to place this on an NFS (or otherwise network) +# mounted filesystem then please read the LockFile documentation (available +# at <URL:http://httpd.apache.org/docs-2.0/mod/mpm_common.html#lockfile>); +# you will save yourself a lot of trouble. +# +# Do NOT add a slash at the end of the directory path. +# +#ServerRoot "/mnt/elba/rubbos/apache2" +ServerRoot "/bottlenecks/rubbos/app/apache2" + +# +# The accept serialization lock file MUST BE STORED ON A LOCAL DISK. +# +<IfModule !mpm_winnt.c> +<IfModule !mpm_netware.c> +#LockFile logs/accept.lock +</IfModule> +</IfModule> + +# +# ScoreBoardFile: File used to store internal server process information. +# If unspecified (the default), the scoreboard will be stored in an +# anonymous shared memory segment, and will be unavailable to third-party +# applications. +# If specified, ensure that no two invocations of Apache share the same +# scoreboard file. The scoreboard file MUST BE STORED ON A LOCAL DISK. +# +<IfModule !mpm_netware.c> +<IfModule !perchild.c> +#ScoreBoardFile logs/apache_runtime_status +</IfModule> +</IfModule> + + +# +# PidFile: The file in which the server should record its process +# identification number when it starts. +# +<IfModule !mpm_netware.c> +PidFile logs/httpd.pid +</IfModule> + +# +# Timeout: The number of seconds before receives and sends time out. +# +Timeout 5 + +# +# KeepAlive: Whether or not to allow persistent connections (more than +# one request per connection). Set to "Off" to deactivate. +# +#KeepAlive On +KeepAlive Off + +# +# MaxKeepAliveRequests: The maximum number of requests to allow +# during a persistent connection. Set to 0 to allow an unlimited amount. +# We recommend you leave this number high, for maximum performance. +# +MaxKeepAliveRequests 100 + +# +# KeepAliveTimeout: Number of seconds to wait for the next request from the +# same client on the same connection. +# +KeepAliveTimeout 15 + +## +## Server-Pool Size Regulation (MPM specific) +## + +# prefork MPM +# StartServers: number of server processes to start +# MinSpareServers: minimum number of server processes which are kept spare +# MaxSpareServers: maximum number of server processes which are kept spare +# MaxClients: maximum number of server processes allowed to start +# MaxRequestsPerChild: maximum number of requests a server process serves +<IfModule prefork.c> +StartServers 5 +MinSpareServers 5 +MaxSpareServers 10 +ServerLimit 4000 +MaxClients 4000 +MaxRequestsPerChild 0 +</IfModule> + +# worker MPM +# StartServers: initial number of server processes to start +# MaxClients: maximum number of simultaneous client connections +# MinSpareThreads: minimum number of worker threads which are kept spare +# MaxSpareThreads: maximum number of worker threads which are kept spare +# ThreadsPerChild: constant number of worker threads in each server process +# MaxRequestsPerChild: maximum number of requests a server process serves +<IfModule worker.c> +ServerLimit 200 +ThreadLimit 300 +StartServers 1 +MaxClients 300 +MinSpareThreads 5 +MaxSpareThreads 50 +ThreadsPerChild 150 +MaxRequestsPerChild 0 +</IfModule> + +# perchild MPM +# NumServers: constant number of server processes +# StartThreads: initial number of worker threads in each server process +# MinSpareThreads: minimum number of worker threads which are kept spare +# MaxSpareThreads: maximum number of worker threads which are kept spare +# MaxThreadsPerChild: maximum number of worker threads in each server process +# MaxRequestsPerChild: maximum number of connections per server process +<IfModule perchild.c> +NumServers 5 +StartThreads 5 +MinSpareThreads 5 +MaxSpareThreads 10 +MaxThreadsPerChild 20 +MaxRequestsPerChild 0 +</IfModule> + +# WinNT MPM +# ThreadsPerChild: constant number of worker threads in the server process +# MaxRequestsPerChild: maximum number of requests a server process serves +<IfModule mpm_winnt.c> +ThreadsPerChild 250 +MaxRequestsPerChild 0 +</IfModule> + +# BeOS MPM +# StartThreads: how many threads do we initially spawn? +# MaxClients: max number of threads we can have (1 thread == 1 client) +# MaxRequestsPerThread: maximum number of requests each thread will process +<IfModule beos.c> +StartThreads 10 +MaxClients 50 +MaxRequestsPerThread 10000 +</IfModule> + +# NetWare MPM +# ThreadStackSize: Stack size allocated for each worker thread +# StartThreads: Number of worker threads launched at server startup +# MinSpareThreads: Minimum number of idle threads, to handle request spikes +# MaxSpareThreads: Maximum number of idle threads +# MaxThreads: Maximum number of worker threads alive at the same time +# MaxRequestsPerChild: Maximum number of requests a thread serves. It is +# recommended that the default value of 0 be set for this +# directive on NetWare. This will allow the thread to +# continue to service requests indefinitely. +<IfModule mpm_netware.c> +ThreadStackSize 65536 +StartThreads 250 +MinSpareThreads 25 +MaxSpareThreads 250 +MaxThreads 1000 +MaxRequestsPerChild 0 +MaxMemFree 100 +</IfModule> + +# OS/2 MPM +# StartServers: Number of server processes to maintain +# MinSpareThreads: Minimum number of idle threads per process, +# to handle request spikes +# MaxSpareThreads: Maximum number of idle threads per process +# MaxRequestsPerChild: Maximum number of connections per server process +<IfModule mpmt_os2.c> +StartServers 2 +MinSpareThreads 5 +MaxSpareThreads 10 +MaxRequestsPerChild 0 +</IfModule> + +# +# Listen: Allows you to bind Apache to specific IP addresses and/or +# ports, instead of the default. See also the <VirtualHost> +# directive. +# +# Change this to Listen on specific IP addresses as shown below to +# prevent Apache from glomming onto all bound IP addresses (0.0.0.0) +# +#Listen 12.34.56.78:80 + +Listen 8000 + +# +# Dynamic Shared Object (DSO) Support +# +# To be able to use the functionality of a module which was built as a DSO you +# have to place corresponding `LoadModule' lines at this location so the +# directives contained in it are actually available _before_ they are used. +# Statically compiled modules (those listed by `httpd -l') do not need +# to be loaded here. +# +# Example: +# LoadModule foo_module modules/mod_foo.so +# + +# +# ExtendedStatus controls whether Apache will generate "full" status +# information (ExtendedStatus On) or just basic information (ExtendedStatus +# Off) when the "server-status" handler is called. The default is Off. +# +#ExtendedStatus On + +### Section 2: 'Main' server configuration +# +# The directives in this section set up the values used by the 'main' +# server, which responds to any requests that aren't handled by a +# <VirtualHost> definition. These values also provide defaults for +# any <VirtualHost> containers you may define later in the file. +# +# All of these directives may appear inside <VirtualHost> containers, +# in which case these default settings will be overridden for the +# virtual host being defined. +# + +<IfModule !mpm_winnt.c> +<IfModule !mpm_netware.c> +# +# If you wish httpd to run as a different user or group, you must run +# httpd as root initially and it will switch. +# +# User/Group: The name (or #number) of the user/group to run httpd as. +# . On SCO (ODT 3) use "User nouser" and "Group nogroup". +# . On HPUX you may not be able to use shared memory as nobody, and the +# suggested workaround is to create a user www and use that user. +# NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET) +# when the value of (unsigned)Group is above 60000; +# don't use Group #-1 on these systems! +# +User apache +Group apache +</IfModule> +</IfModule> + +# +# ServerAdmin: Your address, where problems with the server should be +# e-mailed. This address appears on some server-generated pages, such +# as error documents. e.g. admin@your-domain.com +# +ServerAdmin you@example.com + +# +# ServerName gives the name and port that the server uses to identify itself. +# This can often be determined automatically, but we recommend you specify +# it explicitly to prevent problems during startup. +# +# If this is not set to valid DNS name for your host, server-generated +# redirections will not work. See also the UseCanonicalName directive. +# +# If your host doesn't have a registered DNS name, enter its IP address here. +# You will have to access it by its address anyway, and this will make +# redirections work in a sensible way. +# +#ServerName www.example.com:80 + +# +# UseCanonicalName: Determines how Apache constructs self-referencing +# URLs and the SERVER_NAME and SERVER_PORT variables. +# When set "Off", Apache will use the Hostname and Port supplied +# by the client. When set "On", Apache will use the value of the +# ServerName directive. +# +UseCanonicalName Off + +# +# DocumentRoot: The directory out of which you will serve your +# documents. By default, all requests are taken from this directory, but +# symbolic links and aliases may be used to point to other locations. +# +#DocumentRoot "/mnt/elba/rubbos/apache2/htdocs" +DocumentRoot "/bottlenecks/rubbos/app/apache2/htdocs" + +# +# Each directory to which Apache has access can be configured with respect +# to which services and features are allowed and/or disabled in that +# directory (and its subdirectories). +# +# First, we configure the "default" to be a very restrictive set of +# features. +# +<Directory /> + Options FollowSymLinks + AllowOverride None +</Directory> + +# +# Note that from this point forward you must specifically allow +# particular features to be enabled - so if something's not working as +# you might expect, make sure that you have specifically enabled it +# below. +# + +# +# This should be changed to whatever you set DocumentRoot to. +# +<Directory "/bottlenecks/rubbos/app/apache2/htdocs"> + +# +# Possible values for the Options directive are "None", "All", +# or any combination of: +# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews +# +# Note that "MultiViews" must be named *explicitly* --- "Options All" +# doesn't give it to you. +# +# The Options directive is both complicated and important. Please see +# http://httpd.apache.org/docs-2.0/mod/core.html#options +# for more information. +# + Options Indexes FollowSymLinks + +# +# AllowOverride controls what directives may be placed in .htaccess files. +# It can be "All", "None", or any combination of the keywords: +# Options FileInfo AuthConfig Limit +# + AllowOverride None + +# +# Controls who can get stuff from this server. +# + Order allow,deny + Allow from all + +</Directory> + +# +# UserDir: The name of the directory that is appended onto a user's home +# directory if a ~user request is received. +# +UserDir public_html + +# +# Control access to UserDir directories. The following is an example +# for a site where these directories are restricted to read-only. +# +#<Directory /home/*/public_html> +# AllowOverride FileInfo AuthConfig Limit Indexes +# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec +# <Limit GET POST OPTIONS PROPFIND> +# Order allow,deny +# Allow from all +# </Limit> +# <LimitExcept GET POST OPTIONS PROPFIND> +# Order deny,allow +# Deny from all +# </LimitExcept> +#</Directory> + +# +# DirectoryIndex: sets the file that Apache will serve if a directory +# is requested. +# +# The index.html.var file (a type-map) is used to deliver content- +# negotiated documents. The MultiViews Option can be used for the +# same purpose, but it is much slower. +# +DirectoryIndex index.html index.html.var + +# +# AccessFileName: The name of the file to look for in each directory +# for additional configuration directives. See also the AllowOverride +# directive. +# +AccessFileName .htaccess + +# +# The following lines prevent .htaccess and .htpasswd files from being +# viewed by Web clients. +# +<Files ~ "^\.ht"> + Order allow,deny + Deny from all +</Files> + +# +# TypesConfig describes where the mime.types file (or equivalent) is +# to be found. +# +TypesConfig conf/mime.types + +# +# DefaultType is the default MIME type the server will use for a document +# if it cannot otherwise determine one, such as from filename extensions. +# If your server contains mostly text or HTML documents, "text/plain" is +# a good value. If most of your content is binary, such as applications +# or images, you may want to use "application/octet-stream" instead to +# keep browsers from trying to display binary files as though they are +# text. +# +DefaultType text/plain + +# +# The mod_mime_magic module allows the server to use various hints from the +# contents of the file itself to determine its type. The MIMEMagicFile +# directive tells the module where the hint definitions are located. +# +<IfModule mod_mime_magic.c> + MIMEMagicFile conf/magic +</IfModule> + +# +# HostnameLookups: Log the names of clients or just their IP addresses +# e.g., www.apache.org (on) or 204.62.129.132 (off). +# The default is off because it'd be overall better for the net if people +# had to knowingly turn this feature on, since enabling it means that +# each client request will result in AT LEAST one lookup request to the +# nameserver. +# +HostnameLookups Off + +# +# EnableMMAP: Control whether memory-mapping is used to deliver +# files (assuming that the underlying OS supports it). +# The default is on; turn this off if you serve from NFS-mounted +# filesystems. On some systems, turning it off (regardless of +# filesystem) can improve performance; for details, please see +# http://httpd.apache.org/docs-2.0/mod/core.html#enablemmap +# +#EnableMMAP off + +# +# EnableSendfile: Control whether the sendfile kernel support is +# used to deliver files (assuming that the OS supports it). +# The default is on; turn this off if you serve from NFS-mounted +# filesystems. Please see +# http://httpd.apache.org/docs-2.0/mod/core.html#enablesendfile +# +#EnableSendfile off + +# +# ErrorLog: The location of the error log file. +# If you do not specify an ErrorLog directive within a <VirtualHost> +# container, error messages relating to that virtual host will be +# logged here. If you *do* define an error logfile for a <VirtualHost> +# container, that host's errors will be logged there and not here. +# +ErrorLog logs/error_log + +# +# LogLevel: Control the number of messages logged to the error_log. +# Possible values include: debug, info, notice, warn, error, crit, +# alert, emerg. +# +LogLevel warn + +# +# The following directives define some format nicknames for use with +# a CustomLog directive (see below). +# +LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined +LogFormat "%h %l %u %t \"%r\" %>s %b" common +LogFormat "%{Referer}i -> %U" referer +LogFormat "%{User-agent}i" agent + +# You need to enable mod_logio.c to use %I and %O +#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio + +# +# The location and format of the access logfile (Common Logfile Format). +# If you do not define any access logfiles within a <VirtualHost> +# container, they will be logged here. Contrariwise, if you *do* +# define per-<VirtualHost> access logfiles, transactions will be +# logged therein and *not* in this file. +# +CustomLog logs/access_log common + +# +# If you would like to have agent and referer logfiles, uncomment the +# following directives. +# +#CustomLog logs/referer_log referer +#CustomLog logs/agent_log agent + +# +# If you prefer a single logfile with access, agent, and referer information +# (Combined Logfile Format) you can use the following directive. +# +#CustomLog logs/access_log combined + +# +# ServerTokens +# This directive configures what you return as the Server HTTP response +# Header. The default is 'Full' which sends information about the OS-Type +# and compiled in modules. +# Set to one of: Full | OS | Minor | Minimal | Major | Prod +# where Full conveys the most information, and Prod the least. +# +ServerTokens Full + +# +# Optionally add a line containing the server version and virtual host +# name to server-generated pages (internal error documents, FTP directory +# listings, mod_status and mod_info output etc., but not CGI generated +# documents or custom error documents). +# Set to "EMail" to also include a mailto: link to the ServerAdmin. +# Set to one of: On | Off | EMail +# +ServerSignature On + +# +# Aliases: Add here as many aliases as you need (with no limit). The format is +# Alias fakename realname +# +# Note that if you include a trailing / on fakename then the server will +# require it to be present in the URL. So "/icons" isn't aliased in this +# example, only "/icons/". If the fakename is slash-terminated, then the +# realname must also be slash terminated, and if the fakename omits the +# trailing slash, the realname must also omit it. +# +# We include the /icons/ alias for FancyIndexed directory listings. If you +# do not use FancyIndexing, you may comment this out. +# +Alias /icons/ "/bottlenecks/rubbos/app/apache2/icons/" + +<Directory "/bottlenecks/rubbos/app/apache2/icons"> + Options Indexes MultiViews + AllowOverride None + Order allow,deny + Allow from all +</Directory> + +# +# This should be changed to the ServerRoot/manual/. The alias provides +# the manual, even if you choose to move your DocumentRoot. You may comment +# this out if you do not care for the documentation. +# +AliasMatch ^/manual(?:/(?:de|en|es|fr|ja|ko|ru))?(/.*)?$ "/bottlenecks/rubbos/app/apache2/manual$1" + +<Directory "/bottlenecks/rubbos/app/apache2/manual"> + Options Indexes + AllowOverride None + Order allow,deny + Allow from all + + <Files *.html> + SetHandler type-map + </Files> + + SetEnvIf Request_URI ^/manual/(de|en|es|fr|ja|ko|ru)/ prefer-language=$1 + RedirectMatch 301 ^/manual(?:/(de|en|es|fr|ja|ko|ru)){2,}(/.*)?$ /manual/$1$2 +</Directory> + +# +# ScriptAlias: This controls which directories contain server scripts. +# ScriptAliases are essentially the same as Aliases, except that +# documents in the realname directory are treated as applications and +# run by the server when requested rather than as documents sent to the client. +# The same rules about trailing "/" apply to ScriptAlias directives as to +# Alias. +# +ScriptAlias /cgi-bin/ "/bottlenecks/rubbos/app/apache2/cgi-bin/" + +<IfModule mod_cgid.c> +# +# Additional to mod_cgid.c settings, mod_cgid has Scriptsock <path> +# for setting UNIX socket for communicating with cgid. +# +#Scriptsock logs/cgisock +</IfModule> + +# +# "/mnt/elba/rubbos/apache2/cgi-bin" should be changed to whatever your ScriptAliased +# CGI directory exists, if you have that configured. +# +<Directory "/bottlenecks/rubbos/app/apache2/cgi-bin"> + AllowOverride None + Options None + Order allow,deny + Allow from all +</Directory> + +# +# Redirect allows you to tell clients about documents which used to exist in +# your server's namespace, but do not anymore. This allows you to tell the +# clients where to look for the relocated document. +# Example: +# Redirect permanent /foo http://www.example.com/bar + +# +# Directives controlling the display of server-generated directory listings. +# + +# +# IndexOptions: Controls the appearance of server-generated directory +# listings. +# +IndexOptions FancyIndexing VersionSort + +# +# AddIcon* directives tell the server which icon to show for different +# files or filename extensions. These are only displayed for +# FancyIndexed directories. +# +AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip + +AddIconByType (TXT,/icons/text.gif) text/* +AddIconByType (IMG,/icons/image2.gif) image/* +AddIconByType (SND,/icons/sound2.gif) audio/* +AddIconByType (VID,/icons/movie.gif) video/* + +AddIcon /icons/binary.gif .bin .exe +AddIcon /icons/binhex.gif .hqx +AddIcon /icons/tar.gif .tar +AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv +AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip +AddIcon /icons/a.gif .ps .ai .eps +AddIcon /icons/layout.gif .html .shtml .htm .pdf +AddIcon /icons/text.gif .txt +AddIcon /icons/c.gif .c +AddIcon /icons/p.gif .pl .py +AddIcon /icons/f.gif .for +AddIcon /icons/dvi.gif .dvi +AddIcon /icons/uuencoded.gif .uu +AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl +AddIcon /icons/tex.gif .tex +AddIcon /icons/bomb.gif core + +AddIcon /icons/back.gif .. +AddIcon /icons/hand.right.gif README +AddIcon /icons/folder.gif ^^DIRECTORY^^ +AddIcon /icons/blank.gif ^^BLANKICON^^ + +# +# DefaultIcon is which icon to show for files which do not have an icon +# explicitly set. +# +DefaultIcon /icons/unknown.gif + +# +# AddDescription allows you to place a short description after a file in +# server-generated indexes. These are only displayed for FancyIndexed +# directories. +# Format: AddDescription "description" filename +# +#AddDescription "GZIP compressed document" .gz +#AddDescription "tar archive" .tar +#AddDescription "GZIP compressed tar archive" .tgz + +# +# ReadmeName is the name of the README file the server will look for by +# default, and append to directory listings. +# +# HeaderName is the name of a file which should be prepended to +# directory indexes. +ReadmeName README.html +HeaderName HEADER.html + +# +# IndexIgnore is a set of filenames which directory indexing should ignore +# and not include in the listing. Shell-style wildcarding is permitted. +# +IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t + +# +# DefaultLanguage and AddLanguage allows you to specify the language of +# a document. You can then use content negotiation to give a browser a +# file in a language the user can understand. +# +# Specify a default language. This means that all data +# going out without a specific language tag (see below) will +# be marked with this one. You probably do NOT want to set +# this unless you are sure it is correct for all cases. +# +# * It is generally better to not mark a page as +# * being a certain language than marking it with the wrong +# * language! +# +# DefaultLanguage nl +# +# Note 1: The suffix does not have to be the same as the language +# keyword --- those with documents in Polish (whose net-standard +# language code is pl) may wish to use "AddLanguage pl .po" to +# avoid the ambiguity with the common suffix for perl scripts. +# +# Note 2: The example entries below illustrate that in some cases +# the two character 'Language' abbreviation is not identical to +# the two character 'Country' code for its country, +# E.g. 'Danmark/dk' versus 'Danish/da'. +# +# Note 3: In the case of 'ltz' we violate the RFC by using a three char +# specifier. There is 'work in progress' to fix this and get +# the reference data for rfc1766 cleaned up. +# +# Catalan (ca) - Croatian (hr) - Czech (cs) - Danish (da) - Dutch (nl) +# English (en) - Esperanto (eo) - Estonian (et) - French (fr) - German (de) +# Greek-Modern (el) - Hebrew (he) - Italian (it) - Japanese (ja) +# Korean (ko) - Luxembourgeois* (ltz) - Norwegian Nynorsk (nn) +# Norwegian (no) - Polish (pl) - Portugese (pt) +# Brazilian Portuguese (pt-BR) - Russian (ru) - Swedish (sv) +# Simplified Chinese (zh-CN) - Spanish (es) - Traditional Chinese (zh-TW) +# +AddLanguage ca .ca +AddLanguage cs .cz .cs +AddLanguage da .dk +AddLanguage de .de +AddLanguage el .el +AddLanguage en .en +AddLanguage eo .eo +AddLanguage es .es +AddLanguage et .et +AddLanguage fr .fr +AddLanguage he .he +AddLanguage hr .hr +AddLanguage it .it +AddLanguage ja .ja +AddLanguage ko .ko +AddLanguage ltz .ltz +AddLanguage nl .nl +AddLanguage nn .nn +AddLanguage no .no +AddLanguage pl .po +AddLanguage pt .pt +AddLanguage pt-BR .pt-br +AddLanguage ru .ru +AddLanguage sv .sv +AddLanguage zh-CN .zh-cn +AddLanguage zh-TW .zh-tw + +# +# LanguagePriority allows you to give precedence to some languages +# in case of a tie during content negotiation. +# +# Just list the languages in decreasing order of preference. We have +# more or less alphabetized them here. You probably want to change this. +# +LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW + +# +# ForceLanguagePriority allows you to serve a result page rather than +# MULTIPLE CHOICES (Prefer) [in case of a tie] or NOT ACCEPTABLE (Fallback) +# [in case no accepted languages matched the available variants] +# +ForceLanguagePriority Prefer Fallback + +# +# Commonly used filename extensions to character sets. You probably +# want to avoid clashes with the language extensions, unless you +# are good at carefully testing your setup after each change. +# See http://www.iana.org/assignments/character-sets for the +# official list of charset names and their respective RFCs. +# +AddCharset ISO-8859-1 .iso8859-1 .latin1 +AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen +AddCharset ISO-8859-3 .iso8859-3 .latin3 +AddCharset ISO-8859-4 .iso8859-4 .latin4 +AddCharset ISO-8859-5 .iso8859-5 .latin5 .cyr .iso-ru +AddCharset ISO-8859-6 .iso8859-6 .latin6 .arb +AddCharset ISO-8859-7 .iso8859-7 .latin7 .grk +AddCharset ISO-8859-8 .iso8859-8 .latin8 .heb +AddCharset ISO-8859-9 .iso8859-9 .latin9 .trk +AddCharset ISO-2022-JP .iso2022-jp .jis +AddCharset ISO-2022-KR .iso2022-kr .kis +AddCharset ISO-2022-CN .iso2022-cn .cis +AddCharset Big5 .Big5 .big5 +# For russian, more than one charset is used (depends on client, mostly): +AddCharset WINDOWS-1251 .cp-1251 .win-1251 +AddCharset CP866 .cp866 +AddCharset KOI8-r .koi8-r .koi8-ru +AddCharset KOI8-ru .koi8-uk .ua +AddCharset ISO-10646-UCS-2 .ucs2 +AddCharset ISO-10646-UCS-4 .ucs4 +AddCharset UTF-8 .utf8 + +# The set below does not map to a specific (iso) standard +# but works on a fairly wide range of browsers. Note that +# capitalization actually matters (it should not, but it +# does for some browsers). +# +# See http://www.iana.org/assignments/character-sets +# for a list of sorts. But browsers support few. +# +AddCharset GB2312 .gb2312 .gb +AddCharset utf-7 .utf7 +AddCharset utf-8 .utf8 +AddCharset big5 .big5 .b5 +AddCharset EUC-TW .euc-tw +AddCharset EUC-JP .euc-jp +AddCharset EUC-KR .euc-kr +AddCharset shift_jis .sjis + +# +# AddType allows you to add to or override the MIME configuration +# file mime.types for specific file types. +# +#AddType application/x-tar .tgz +# +# AddEncoding allows you to have certain browsers uncompress +# information on the fly. Note: Not all browsers support this. +# Despite the name similarity, the following Add* directives have nothing +# to do with the FancyIndexing customization directives above. +# +#AddEncoding x-compress .Z +#AddEncoding x-gzip .gz .tgz +# +# If the AddEncoding directives above are commented-out, then you +# probably should define those extensions to indicate media types: +# +AddType application/x-compress .Z +AddType application/x-gzip .gz .tgz + +# +# AddHandler allows you to map certain file extensions to "handlers": +# actions unrelated to filetype. These can be either built into the server +# or added with the Action directive (see below) +# +# To use CGI scripts outside of ScriptAliased directories: +# (You will also need to add "ExecCGI" to the "Options" directive.) +# +#AddHandler cgi-script .cgi + +# +# For files that include their own HTTP headers: +# +#AddHandler send-as-is asis + +# +# For server-parsed imagemap files: +# +#AddHandler imap-file map + +# +# For type maps (negotiated resources): +# (This is enabled by default to allow the Apache "It Worked" page +# to be distributed in multiple languages.) +# +AddHandler type-map var + +# +# Filters allow you to process content before it is sent to the client. +# +# To parse .shtml files for server-side includes (SSI): +# (You will also need to add "Includes" to the "Options" directive.) +# +#AddType text/html .shtml +#AddOutputFilter INCLUDES .shtml + +# +# Action lets you define media types that will execute a script whenever +# a matching file is called. This eliminates the need for repeated URL +# pathnames for oft-used CGI file processors. +# Format: Action media/type /cgi-script/location +# Format: Action handler-name /cgi-script/location +# + +# +# Customizable error responses come in three flavors: +# 1) plain text 2) local redirects 3) external redirects +# +# Some examples: +#ErrorDocument 500 "The server made a boo boo." +#ErrorDocument 404 /missing.html +#ErrorDocument 404 "/cgi-bin/missing_handler.pl" +#ErrorDocument 402 http://www.example.com/subscription_info.html +# + +# +# Putting this all together, we can internationalize error responses. +# +# We use Alias to redirect any /error/HTTP_<error>.html.var response to +# our collection of by-error message multi-language collections. We use +# includes to substitute the appropriate text. +# +# You can modify the messages' appearance without changing any of the +# default HTTP_<error>.html.var files by adding the line: +# +# Alias /error/include/ "/your/include/path/" +# +# which allows you to create your own set of files by starting with the +# /mnt/elba/rubbos/apache2/error/include/ files and copying them to /your/include/path/, +# even on a per-VirtualHost basis. The default include files will display +# your Apache version number and your ServerAdmin email address regardless +# of the setting of ServerSignature. +# +# The internationalized error documents require mod_alias, mod_include +# and mod_negotiation. To activate them, uncomment the following 30 lines. + +# Alias /error/ "/mnt/elba/rubbos/apache2/error/" +# +# <Directory "/mnt/elba/rubbos/apache2/error"> +# AllowOverride None +# Options IncludesNoExec +# AddOutputFilter Includes html +# AddHandler type-map var +# Order allow,deny +# Allow from all +# LanguagePriority en cs de es fr it ja ko nl pl pt-br ro sv tr +# ForceLanguagePriority Prefer Fallback +# </Directory> +# +# ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var +# ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var +# ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var +# ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var +# ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var +# ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var +# ErrorDocument 410 /error/HTTP_GONE.html.var +# ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var +# ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var +# ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var +# ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var +# ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var +# ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var +# ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var +# ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var +# ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var +# ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var + + +# +# The following directives modify normal HTTP response behavior to +# handle known problems with browser implementations. +# +BrowserMatch "Mozilla/2" nokeepalive +BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 +BrowserMatch "RealPlayer 4\.0" force-response-1.0 +BrowserMatch "Java/1\.0" force-response-1.0 +BrowserMatch "JDK/1\.0" force-response-1.0 + +# +# The following directive disables redirects on non-GET requests for +# a directory that does not include the trailing slash. This fixes a +# problem with Microsoft WebFolders which does not appropriately handle +# redirects for folders with DAV methods. +# Same deal with Apple's DAV filesystem and Gnome VFS support for DAV. +# +BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully +BrowserMatch "^WebDrive" redirect-carefully +BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully +BrowserMatch "^gnome-vfs" redirect-carefully + +# +# Allow server status reports generated by mod_status, +# with the URL of http://servername/server-status +# Change the ".example.com" to match your domain to enable. +# +#<Location /server-status> +# SetHandler server-status +# Order deny,allow +# Deny from all +# Allow from .example.com +#</Location> + +# +# Allow remote server configuration reports, with the URL of +# http://servername/server-info (requires that mod_info.c be loaded). +# Change the ".example.com" to match your domain to enable. +# +#<Location /server-info> +# SetHandler server-info +# Order deny,allow +# Deny from all +# Allow from .example.com +#</Location> + + +# +# Bring in additional module-specific configurations +# +<IfModule mod_ssl.c> + Include conf/ssl.conf +</IfModule> + + +### Section 3: Virtual Hosts +# +# VirtualHost: If you want to maintain multiple domains/hostnames on your +# machine you can setup VirtualHost containers for them. Most configurations +# use only name-based virtual hosts so the server doesn't need to worry about +# IP addresses. This is indicated by the asterisks in the directives below. +# +# Please see the documentation at +# <URL:http://httpd.apache.org/docs-2.0/vhosts/> +# for further details before you try to setup virtual hosts. +# +# You may use the command line option '-S' to verify your virtual host +# configuration. + +# +# Use name-based virtual hosting. +# +#NameVirtualHost *:80 + +# +# VirtualHost example: +# Almost any Apache directive may go into a VirtualHost container. +# The first VirtualHost section is used for requests without a known +# server name. +# +#<VirtualHost *:80> +# ServerAdmin webmaster@dummy-host.example.com +# DocumentRoot /www/docs/dummy-host.example.com +# ServerName dummy-host.example.com +# ErrorLog logs/dummy-host.example.com-error_log +# CustomLog logs/dummy-host.example.com-access_log common +#</VirtualHost> + + + +LoadModule jk_module "/bottlenecks/rubbos/app/apache2/modules/mod_jk.so" + +# Where to find workers.properties +JkWorkersFile /bottlenecks/rubbos/app/apache2/conf/workers.properties + +# Where to put jk logs +JkLogFile /bottlenecks/rubbos/app/apache2/logs/mod_jk.log + +# Set the jk log level [debug/error/info] +JkLogLevel info + +# Select the log format +JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " + +# JkOptions indicate to send SSL KEY SIZE, +JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories + +# JkRequestLogFormat set the request format +JkRequestLogFormat "%w %V %T" + +# Globally deny access to the WEB-INF directory +<LocationMatch '.*WEB-INF.*'> + AllowOverride None + deny from all +</LocationMatch> + + +JkMount /*/servlet/* worker1 +JkMount /*.jsp worker1 +#JkMount /rubbos worker1 +#JkMount /rubbos/* worker1 + + +ServerName localhost diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/apache_conf/workers.properties_template b/testsuites/rubbos/rubbos_scripts/1-1-1/apache_conf/workers.properties_template new file mode 100644 index 00000000..313d4d64 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/apache_conf/workers.properties_template @@ -0,0 +1,215 @@ + +# workers.properties - +# +# This file provides jk derived plugins with the needed information to +# connect to the different tomcat workers. Note that the distributed +# version of this file requires modification before it is usable by a +# plugin. +# +# As a general note, the characters $( and ) are used internally to define +# macros. Do not use them in your own configuration!!! +# +# Whenever you see a set of lines such as: +# x=value +# y=$(x)\something +# +# the final value for y will be value\something +# +# Normaly all you will need to do is un-comment and modify the first three +# properties, i.e. workers.tomcat_home, workers.java_home and ps. +# Most of the configuration is derived from these. +# +# When you are done updating workers.tomcat_home, workers.java_home and ps +# you should have 3 workers configured: +# +# - An ajp12 worker that connects to localhost:8007 +# - An ajp13 worker that connects to localhost:8009 +# - A jni inprocess worker. +# - A load balancer worker +# +# However by default the plugins will only use the ajp12 worker. To have +# the plugins use other workers you should modify the worker.list property. +# +# + +# OPTIONS ( very important for jni mode ) + +# +# workers.tomcat_home should point to the location where you +# installed tomcat. This is where you have your conf, webapps and lib +# directories. +# +#workers.tomcat_home=/mnt/elba/rubbos/apache-tomcat-5.5.17 +workers.tomcat_home=/bottlenecks/rubbos/app/apache-tomcat-5.5.17 + +# +# workers.java_home should point to your Java installation. Normally +# you should have a bin and lib directories beneath it. +# +#workers.java_home=/mnt/elba/rubbos/jdk1.6.0_27 +workers.java_home=/bottlenecks/rubbos/app/jdk1.6.0_27 + +# +# You should configure your environment slash... ps=\ on NT and / on UNIX +# and maybe something different elsewhere. +# +ps=/ + +# +#------ ADVANCED MODE ------------------------------------------------ +#--------------------------------------------------------------------- +# + +# +#------ DEFAULT worket list ------------------------------------------ +#--------------------------------------------------------------------- +# +# +# The workers that your plugins should create and work with +# +# Add 'inprocess' if you want JNI connector +worker.list=worker1 +# , inprocess + + +worker.TOMCAT1.port=8009 +worker.TOMCAT1.host=REPLACE_TOMCAT1_HOST +worker.TOMCAT1.type=ajp13 +worker.TOMCAT1.lbfactor=1 + + +# +#------ DEFAULT ajp12 WORKER DEFINITION ------------------------------ +#--------------------------------------------------------------------- +# + +# +# Defining a worker named ajp12 and of type ajp12 +# Note that the name and the type do not have to match. +# +#worker.ajp12.port=8007 +#worker.ajp12.host=localhost +#worker.ajp12.type=ajp12 +# +# Specifies the load balance factor when used with +# a load balancing worker. +# Note: +# ----> lbfactor must be > 0 +# ----> Low lbfactor means less work done by the worker. +#worker.ajp12.lbfactor=1 + +# +#------ DEFAULT ajp13 WORKER DEFINITION ------------------------------ +#--------------------------------------------------------------------- +# + +# +# Defining a worker named ajp13 and of type ajp13 +# Note that the name and the type do not have to match. +# +#worker.ajp13.port=8009 +#worker.ajp13.host=node60.rubbostest.Infosphere.emulab.net +#worker.ajp13.type=ajp13 +# +# Specifies the load balance factor when used with +# a load balancing worker. +# Note: +# ----> lbfactor must be > 0 +# ----> Low lbfactor means less work done by the worker. +#worker.ajp13.lbfactor=1 + +# +# Specify the size of the open connection cache. +#worker.ajp13.cachesize + +# +#------ DEFAULT LOAD BALANCER WORKER DEFINITION ---------------------- +#--------------------------------------------------------------------- +# + +# +# The router (type lb) workers perform wighted round-robin +# load balancing with sticky sessions. +# Note: +# ----> If a worker dies, the load balancer will check its state +# once in a while. Until then all work is redirected to peer +# workers. +worker.worker1.type=lb +worker.worker1.balance_workers=TOMCAT1 +worker.worker1.sticky_session=True +worker.worker1.method=Session + +# +#------ DEFAULT JNI WORKER DEFINITION--------------------------------- +#--------------------------------------------------------------------- +# + +# +# Defining a worker named inprocess and of type jni +# Note that the name and the type do not have to match. +# +worker.inprocess.type=jni + +# +#------ CLASSPATH DEFINITION ----------------------------------------- +#--------------------------------------------------------------------- +# + +# +# Additional class path components. +# +worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)tomcat.jar + +# +# Setting the command line for tomcat. +# Note: The cmd_line string may not contain spaces. +# +worker.inprocess.cmd_line=start + +# Not needed, but can be customized. +#worker.inprocess.cmd_line=-config +#worker.inprocess.cmd_line=$(workers.tomcat_home)$(ps)conf$(ps)server.xml +#worker.inprocess.cmd_line=-home +#worker.inprocess.cmd_line=$(workers.tomcat_home) + +# +# The JVM that we are about to use +# +# This is for Java2 +# +# Windows +#worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)jvm.dll +# IBM JDK1.3 +#worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)libjvm.so +# Unix - Sun VM or blackdown +#worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)lib$(ps)i386$(ps)classic$(ps)libjvm.so +worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)lib$(ps)i386$(ps)server$(ps)libjvm.so + +# +# And this is for jdk1.1.X +# +#worker.inprocess.jvm_lib=$(workers.java_home)$(ps)bin$(ps)javai.dll + + +# +# Setting the place for the stdout and stderr of tomcat +# +worker.inprocess.stdout=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stdout +worker.inprocess.stderr=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stderr + +# +# Setting the tomcat.home Java property +# +#worker.inprocess.sysprops=tomcat.home=$(workers.tomcat_home) + +# +# Java system properties +# +# worker.inprocess.sysprops=java.compiler=NONE +# worker.inprocess.sysprops=myprop=mypropvalue + +# +# Additional path components. +# +# worker.inprocess.ld_path=d:$(ps)SQLLIB$(ps)bin +# diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/mysql_conf/my.cnf b/testsuites/rubbos/rubbos_scripts/1-1-1/mysql_conf/my.cnf new file mode 100644 index 00000000..af273226 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/mysql_conf/my.cnf @@ -0,0 +1,6 @@ + +[client] +port = 3306 + +[mysqld] +server-id=1 diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/nsFile.txt b/testsuites/rubbos/rubbos_scripts/1-1-1/nsFile.txt new file mode 100644 index 00000000..00c73f3d --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/nsFile.txt @@ -0,0 +1,48 @@ + +set ns [new Simulator] +source tb_compat.tcl + + +set node1 [$ns node] +tb-set-node-os $node1 FC4-RUBBoS +tb-set-hardware $node1 pc3000 + +set node2 [$ns node] +tb-set-node-os $node2 FC4-RUBBoS +tb-set-hardware $node2 pc3000 + +set node3 [$ns node] +tb-set-node-os $node3 FC4-RUBBoS +tb-set-hardware $node3 pc3000 + +set node4 [$ns node] +tb-set-node-os $node4 FC4-RUBBoS +tb-set-hardware $node4 pc3000 + +set node5 [$ns node] +tb-set-node-os $node5 FC4-RUBBoS +tb-set-hardware $node5 pc3000 + +set node6 [$ns node] +tb-set-node-os $node6 FC4-RUBBoS +tb-set-hardware $node6 pc3000 + +set node7 [$ns node] +tb-set-node-os $node7 FC4-RUBBoS +tb-set-hardware $node7 pc3000 + +set node8 [$ns node] +tb-set-node-os $node8 FC4-RUBBoS +tb-set-hardware $node8 pc3000 + +set node9 [$ns node] +tb-set-node-os $node9 FC4-RUBBoS +tb-set-hardware $node9 pc3000 + +set lan1 [$ns make-lan "$node1 $node2 $node3 $node4 $node5 $node6 $node7 " 1000Mb 0ms] +set lan2 [$ns make-lan "$node7 $node8 " 1000Mb 0ms] +set lan4 [$ns make-lan "$node8 $node9 " 1000Mb 0ms] + + +$ns rtproto Static +$ns run diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/Config.java b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/Config.java new file mode 100644 index 00000000..f84ded04 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/Config.java @@ -0,0 +1,34 @@ +package edu.rice.rubbos.servlets; + +public class Config +{ + + /** + * Creates a new <code>Config</code> instance. + */ + Config() + { + } + + + public static final String HTMLFilesPath = "/bottlenecks/rubbos/app/RUBBoS/Servlet_HTML"; + public static final String[] DatabaseProperties = {"/bottlenecks/rubbos/app/RUBBoS/Servlets/mysql.properties"}; + public static final int DatabasePropertiesSize = 1; + + public static final int AboutMePoolSize = 10; + public static final int BrowseCategoriesPoolSize = 6; + public static final int BrowseRegionsPoolSize = 6; + public static final int BuyNowPoolSize = 4; + public static final int PutBidPoolSize = 8; + public static final int PutCommentPoolSize = 2; + public static final int RegisterItemPoolSize = 2; + public static final int RegisterUserPoolSize = 2; + public static final int SearchItemsByCategoryPoolSize = 15; + public static final int SearchItemsByRegionPoolSize = 20; + public static final int StoreBidPoolSize = 8; + public static final int StoreBuyNowPoolSize = 4; + public static final int StoreCommentPoolSize = 2; + public static final int ViewBidHistoryPoolSize = 4; + public static final int ViewItemPoolSize = 20; + public static final int ViewUserInfoPoolSize = 4; +} diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/Makefile b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/Makefile new file mode 100644 index 00000000..565b22be --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/Makefile @@ -0,0 +1,80 @@ + + +########################### +# RUBBoS Makefile # +########################### + +include config.mk + +############################## +# Environment variables # +############################## + +JAVA = $(JAVA_HOME)/bin/java +JAVAC = $(JAVA_HOME)/bin/javac +JAVACOPTS = -deprecation +JAVACC = $(JAVAC) $(JAVACOPTS) +RMIC = $(JAVA_HOME)/bin/rmic +RMIREGISTRY= $(JAVA_HOME)/bin/rmiregistry +#CLASSPATH = .:$(J2EE_HOME)/lib/j2ee.jar:$(JAVA_HOME)/jre/lib/rt.jar:$TOMCATservlet.jar +CLASSPATH = .:$(J2EE_HOME)/lib/j2ee.jar:$(JAVA_HOME)/jre/lib/rt.jar +JAVADOC = $(JAVA_HOME)/javadoc + + +######################### +# Servlets version # +######################### +#ServletPrinter +Servlets = Config TimeManagement BrowseCategories Auth RegisterUser RubbosHttpServlet BrowseRegions SearchItemsByCategory SearchItemsByRegion ViewItem ViewBidHistory ViewUserInfo SellItemForm RegisterItem PutCommentAuth PutComment StoreComment BuyNowAuth BuyNow StoreBuyNow PutBidAuth PutBid StoreBid AboutMe + +all_servlets_sources = $(addprefix edu/rice/rubbos/servlets/, $(addsuffix .java, $(Servlets))) +all_servlets_obj = $(addprefix edu/rice/rubbos/servlets/, $(addsuffix .class, $(Servlets))) + +servlets: $(all_servlets_obj) + +clean_servlets: + rm -f edu/rice/rubbos/servlets/*.class + +#################### +# Client # +#################### + +ClientFiles = URLGenerator URLGeneratorPHP RUBBoSProperties Stats \ + TransitionTable ClientEmulator UserSession + +all_client_sources = $(addprefix edu/rice/rubbos/client/, $(addsuffix .java, $(ClientFiles))) +all_client_obj = $(addprefix edu/rice/rubbos/client/, $(addsuffix .class, $(ClientFiles))) edu/rice/rubbos/beans/TimeManagement.class + +client: $(all_client_obj) + +initDB: + ${JAVA} -classpath .:./database edu.rice.rubbos.client.InitDB ${PARAM} + +emulator: + ${JAVA} -classpath Client:Client/rubbos_client.jar:. -Xmx1300m -Dhttp.keepAlive=true -Dhttp.maxConnections=1000000 edu.rice.rubbos.client.ClientEmulator + +emulatorDebug: + ${JAVA} -classpath Client:Client/rubbos_client.jar:. -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n -Xmx1300m -Dhttp.keepAlive=true -Dhttp.maxConnections=1000000 edu.rice.rubbos.client.ClientEmulator + + +############################ +# Global rules # +############################ + + +all: beans ejb_servlets client javadoc flush_cache + +world: all servlets + +javadoc : + ${JAVADOC} -d ./doc/api -bootclasspath ${CLASSPATH} -version -author -windowtitle "RUBBoS API" -header "<b>RUBBoS (C)2001 Rice University/INRIA</b><br>" edu.rice.rubbos.beans edu.rice.rubbos.beans.servlets edu.rice.rubbos.client + +clean: + rm -f core edu/rice/rubbos/beans/*.class edu/rice/rubbos/beans/JOnAS* edu/rice/rubbos/beans/servlets/*.class edu/rice/rubbos/client/*.class edu/rice/rubbos/servlets/*.class + +%.class: %.java + ${JAVACC} -classpath ${CLASSPATH} $< + +flush_cache: bench/flush_cache.c + gcc bench/flush_cache.c -o bench/flush_cache + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/build.properties b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/build.properties new file mode 100644 index 00000000..dc3fbaaa --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/build.properties @@ -0,0 +1,8 @@ + +src = . +dist =. +classes.dir = ./build +web.dir = ../Servlet_HTML + +j2ee = /bottlenecks/rubbos/app/j2sdkee1.3.1 +mysql_connector = ./mysql-connector-java-5.1.7-bin.jar diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/build.xml b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/build.xml new file mode 100644 index 00000000..37472041 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/build.xml @@ -0,0 +1,114 @@ + + +<project name="RUBBoS Servlets" default="dist" basedir="."> + <!-- RUBBoS Servlets Ant build file --> + + <!-- set global properties for this build --> + <property file="../build.properties" /> + <property name="servlets.html" value="../Servlet_HTML" /> + +<!-- ====================================================================== --> +<!-- Init --> +<!-- ====================================================================== --> + + <!-- init rule creates build directory --> + <target name="init"> + <!-- Create the time stamp --> + <tstamp/> + <!-- Create the build directory structure used by compile --> + <mkdir dir="${classes.dir}"/> + </target> + +<!-- ====================================================================== --> +<!-- Servlets --> +<!-- ====================================================================== --> + + <!-- The classpath to be used to compile --> + <path id="base.classpath"> + <pathelement location="${classes.dir}" /> + <fileset dir="${j2ee}/lib"> + <include name="j2ee.jar"/> + </fileset> + </path> + + <!-- Creates a jar file containing the servlets --> + <target name="jar" depends="init, compile"> + <jar destfile="${dist}/rubbos_servlets.jar"> + <fileset dir="${classes.dir}" + includes="edu/rice/rubbos/servlets/*.class"/> + </jar> + </target> + + <!-- Create a war file--> + <target name="war" depends="init, compile, jar"> + <copy file="${dist}/rubbos_servlets.jar" todir="${servlets.html}/WEB-INF/lib"/> + <copy file="${j2ee}/lib/j2ee.jar" todir="${servlets.html}/WEB-INF/lib"/> + + <copy file="${mysql_connector}" todir="${servlets.html}/WEB-INF/lib"/> + + <war destfile="${dist}/rubbos.war" webxml="${servlets.html}/WEB-INF/web.xml" basedir="${web.dir}"> + <fileset dir="${classes.dir}" + includes="*" excludes="**/web.xml" /> + </war> + </target> + + <!-- Dist rule --> + <target name="dist" depends="init, compile, jar, war"> + </target> + + <!-- compile rule: Compile the beans and the servlets --> + <target name="compile" depends="init"> + <javac srcdir="${src}" + includes="edu/rice/rubbos/servlets/*" + destdir="${classes.dir}" + classpath="${build.classpath}" + depend="yes" + deprecation="yes"> + <classpath refid="base.classpath" /> + </javac> + </target> + +<!-- ====================================================================== --> +<!-- Javadoc --> +<!-- ====================================================================== --> + + <!-- Generate Javadoc documentation --> + <target name="doc"> + <mkdir dir="docs/api"/> + <javadoc classpathref="base.classpath" + packagenames="edu.rice.rubbos.*.*" + sourcepath="." + defaultexcludes="yes" + destdir="docs/api" + author="true" + version="true" + use="true" + windowtitle="RUBBoS API"> + <doctitle><![CDATA[<h1>RUBBoS API</h1>]]></doctitle> + <bottom><![CDATA[<i>Copyright © 2004 - ObjectWeb Consortium - All Rights Reserved.</i>]]></bottom> + </javadoc> + </target> + +<!-- ====================================================================== --> +<!-- Clean --> +<!-- ====================================================================== --> + + <target name="clean"> + <!-- Delete the ${classes.dir} and ${dist} directory trees --> + <delete dir="${classes.dir}"/> + <delete> + <fileset dir="${dist}" includes="rubbos_servlets.jar"/> + </delete> + <delete> + <fileset dir="${dist}" includes="rubbos.war"/> + </delete> + <delete> + <fileset dir="edu" includes="**/*.class"/> + </delete> + </target> + + <target name="clean-doc"> + <delete dir="docs/api"/> + </target> +</project> + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/config.mk b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/config.mk new file mode 100644 index 00000000..9182da4d --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/config.mk @@ -0,0 +1,32 @@ + +############################## +# Environment variables # +############################## + +JAVA = $(JAVA_HOME)/bin/java +JAVAC = $(JAVA_HOME)/bin/javac +JAVACOPTS = -deprecation +JAVACC = $(JAVAC) $(JAVACOPTS) +RMIC = $(JAVA_HOME)/bin/rmic +RMIREGISTRY= $(JAVA_HOME)/bin/rmiregistry +CLASSPATH = .:$(J2EE_HOME)/lib/j2ee.jar:$(JAVA_HOME)/jre/lib/rt.jar:$(SERVLET_API_PATH) +JAVADOC = $(JAVA_HOME)/bin/javadoc +JAR = $(JAVA_HOME)/bin/jar + +GENIC = ${JONAS_ROOT}/bin/unix/GenIC + +MAKE = gmake +CP = /bin/cp +RM = /bin/rm +MKDIR = /bin/mkdir + + +# EJB server: supported values are jonas or jboss +EJB_SERVER = jonas + +# DB server: supported values are MySQL or PostgreSQL +DB_SERVER = MySQL + +%.class: %.java + ${JAVACC} -classpath ${CLASSPATH} $< + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/cpu_mem.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/cpu_mem.sh new file mode 100644 index 00000000..069cf079 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/cpu_mem.sh @@ -0,0 +1,100 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh +cd - + +# delay inbetween snapshots + +delay=1 + +# central host to send results to +analysis_host=$BENCHMARK_HOST + +# monitoring start/end time in format YYYYmmddHHMMSS (20050920152059) +start_time=$1 +end_time=$2 + +# data filename suffix +data_filename_suffix="`hostname`-${start_time}.data" + +# sar filename +sar_filename=$RUBBOS_APP/sar-${data_filename_suffix} + +# iostat filename +iostat_filename=$RUBBOS_APP/iostat-${data_filename_suffix} + +# ps filename +ps_filename=$RUBBOS_APP/ps-${data_filename_suffix} + +# date command in predefined format +date_cmd="date +%Y%m%d%H%M%S" +date=`$date_cmd` + +# TEST MODE: start_time will be 2 seconds from launch, end time 5 seconds +#start_time=`expr $date \+ 2` +#end_time=`expr $date \+ 5` + +#echo +#echo Current timestamp: $date +#echo Start timestamp: $start_time +#echo End timestamp: $end_time +#echo + +# make sure they have all arguments +if [ "$end_time" = "" ]; then + echo usage: $0 \<delay\> \<analysis host\> \<start time\> \<end time\> + echo start_time and end_time are in YYYYmmddHHMMSS format + echo ie: 9/30/2005, 2:31:54pm = 20050930143154 + echo + exit +fi + +# wait until start time +#echo -n Waiting until start time \(${start_time}\).. +date=`$date_cmd` +while [ $date -lt $start_time ]; do + sleep 1 + date=`$date_cmd` +done +#echo + + +# launch iostat +sudo nice -n -1 $SYSSTAT_HOME/bin/iostat -dxtk $delay > ${iostat_filename} & +iostat_pid=$! + + +# run test until end time +#echo -n Running test until end time \(${end_time}\).. +while [ $date -lt $end_time ]; do + + sleep $delay + date=`$date_cmd` +done +#echo + + +# kill iostat +sudo kill -9 $iostat_pid + + +# chmod + +sudo chmod g+w ${iostat_filename} +sudo chmod o+r ${iostat_filename} + + +# send data to analysis host +#echo Sending data to analysis host.. +#scp -o StrictHostKeyChecking=no -o BatchMode=yes ${sar_filename} ${analysis_host}:/tmp/elba/rubbos +#scp -o StrictHostKeyChecking=no -o BatchMode=yes ${ps_filename} ${analysis_host}:/tmp/elba/rubbos + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/mysql.properties_template b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/mysql.properties_template new file mode 100644 index 00000000..87a5fd8b --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/mysql.properties_template @@ -0,0 +1,83 @@ + +###################### PostgreSQL DataSource configuration example +# + + +##### +# DataSource configuration +# +datasource.name mysql + +datasource.url jdbc:mysql://REPLACE_MYSQL1_HOST:3306/rubbos +datasource.classname com.mysql.jdbc.Driver + +datasource.username rubbos +datasource.password rubbos + + +##### +# ConnectionManager configuration +# + +# JDBC connection checking level. +# 0 = no special checking +# 1 = check physical connection is still open before reusing it +# 2 = try every connection before reusing it +jdbc.connchecklevel 1 + +# Max age for jdbc connections +# nb of minutes a connection can be kept in the pool +jdbc.connmaxage 30 + +# Max concurrent threads on same tx/connection +# (not used with a customized jdbc datasource) +jdbc.connmaxthreads 4 + +# Max wait time if more than connmaxthreads threads request conn +# value is in seconds +# (not used with a customized jdbc datasource) +jdbc.connexcltimeout 30 + +# Test statement +jdbc.connteststmt select 1 + + +###### +# Customizing JDBC DataSource configuration +# + +# Name of the class implementing the XADataSource +#datasource.factory org.objectweb.jonas.dbm.JonasStandardXADataSource + +# JNDI name use to bind the XADataSource +#datasource.xadataname postgre1_xa + +# Minimum number of physical connection used by the XADataSource +#datasource.mincon 5 + +# Maximum number of physical connection used by the XADataSource +#datasource.maxcon 10 + +# Minimum number of XAConnection used by the pool +#jdbc.minconpool 10 + +# Maximum number of XAConnection used by the pool +#jdbc.maxconpool 20 + +# Time between two clean-up of old unused connection +# (value is in millisecond) +#jdbc.sleeptimepool 300000 + +# Force the gc to be launched when cleaning up +#jdbc.gcpool false + +# In case of no connection in the pool, +# deadlockpool is the global time to re-try before throwing an exception +# (value is in millisecond) +#jdbc.deadlockpool 300000 + +# In case of no connection in the pool, +# loopwaitpool is the unit time to re-try +# (value is in millisecond) +#jdbc.loopwaitpool 10000 + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/rubbos-servletsBO.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/rubbos-servletsBO.sh new file mode 100644 index 00000000..4e9258bc --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/rubbos-servletsBO.sh @@ -0,0 +1,77 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +############################################################################### +# +# This script runs first the RUBBoS browsing mix, then the read/write mix +# for each rubbos.properties_XX specified where XX is the number of emulated +# clients. Note that the rubbos.properties_XX files must be configured +# with the corresponding number of clients. +# In particular set the following variables in rubis.properties_XX: +# httpd_use_version = Servlets +# workload_number_of_clients_per_node = XX/number of client machines +# workload_transition_table = yourPath/RUBBoS/workload/transitions.txt +# +# This script should be run from the RUBBoS/bench directory on the local +# client machine. +# Results will be generated in the RUBBoS/bench directory. +# +################################################################################ + +#setenv SERVLETDIR $RUBBOS_HOME/Servlets + +set -x + +# Go back to RUBBoS root directory +cd .. + +export scp_options='-o StrictHostKeyChecking=no -o BatchMode=yes' + +# Browse only + +cp -fin ./workload/browse_only_transitions.txt ./workload/user_transitions.txt +cp -fin ./workload/browse_only_transitions.txt ./workload/author_transitions.txt + +for host in ${CLIENT1_HOST} ${CLIENT2_HOST} ${CLIENT3_HOST} ${CLIENT4_HOST} +do + scp ${scp_options} ./workload/browse_only_transitions.txt ${host}:${RUBBOS_HOME}/workload/user_transitions.txt + scp ${scp_options} ./workload/browse_only_transitions.txt ${host}:${RUBBOS_HOME}/workload/author_transitions.txt + scp ${scp_options} Client/rubbos.properties ${host}:${RUBBOS_HOME}/Client/rubbos.properties +done + +#bench/flush_cache 490000 +#ssh $HTTPD_HOST "$RUBBOS_HOME/bench/flush_cache 880000" # web server +#ssh $MYSQL1_HOST "$RUBBOS_HOME/bench/flush_cache 880000" # database server +#ssh $TOMCAT1_HOST "$RUBBOS_HOME/bench/flush_cache 780000" # servlet server +#ssh $CLIENT1_HOST "$RUBBOS_HOME/bench/flush_cache 490000" # remote client +#ssh $CLIENT2_HOST "$RUBBOS_HOME/bench/flush_cache 490000" # remote client +#ssh $CLIENT3_HOST "$RUBBOS_HOME/bench/flush_cache 490000" # remote client +#ssh $CLIENT4_HOST "$RUBBOS_HOME/bench/flush_cache 490000" # remote client + +RAMPUP=48000 +MI=72000 +current_seconds=`date +%s` +start_seconds=`echo \( $RAMPUP / 1000 \) + $current_seconds - 60 | bc` +SMI=`date -d "1970-01-01 $start_seconds secs UTC" +%Y%m%d%H%M%S` +end_seconds=`echo \( $RAMPUP / 1000 + $MI / 1000 + 30 \) + $current_seconds | bc` +EMI=`date -d "1970-01-01 $end_seconds secs UTC" +%Y%m%d%H%M%S` + +for host in $BENCHMARK_HOST $CLIENT1_HOST $CLIENT2_HOST $CLIENT3_HOST \ + $CLIENT4_HOST $HTTPD_HOST $TOMCAT1_HOST $MYSQL1_HOST +do + ssh $scp_options $host "sudo nice -n -1 $RUBBOS_APP/cpu_mem.sh $SMI $EMI" & +done + +echo "Rubbos emulator start $(date)" +make emulator +echo "Rubbos emulator end $(date)" + +set -x + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/rubbos-servletsRW.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/rubbos-servletsRW.sh new file mode 100644 index 00000000..2dbd9788 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/rubbos-servletsRW.sh @@ -0,0 +1,83 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +############################################################################### +# +# This script runs first the RUBBoS browsing mix, then the read/write mix +# for each rubbos.properties_XX specified where XX is the number of emulated +# clients. Note that the rubbos.properties_XX files must be configured +# with the corresponding number of clients. +# In particular set the following variables in rubis.properties_XX: +# httpd_use_version = Servlets +# workload_number_of_clients_per_node = XX/number of client machines +# workload_transition_table = yourPath/RUBBoS/workload/transitions.txt +# +# This script should be run from the RUBBoS/bench directory on the local +# client machine. +# Results will be generated in the RUBBoS/bench directory. +# +################################################################################ + +#setenv SERVLETDIR $RUBBOS_HOME/Servlets + +# Go back to RUBBoS root directory +cd .. + +# Read/write mix + +cp --fi ./workload/user_default_transitions.txt ./workload/user_transitions.txt +cp --fi ./workload/author_default_transitions.txt ./workload/author_transitions.txt + +scp ./workload/user_default_transitions.txt ${CLIENT1_HOST}:${RUBBOS_HOME}/workload/user_transitions.txt +scp ./workload/author_default_transitions.txt ${CLIENT1_HOST}:${RUBBOS_HOME}/workload/author_transitions.txt + +scp ./workload/user_default_transitions.txt ${CLIENT2_HOST}:${RUBBOS_HOME}/workload/user_transitions.txt +scp ./workload/author_default_transitions.txt ${CLIENT2_HOST}:${RUBBOS_HOME}/workload/author_transitions.txt + +scp ./workload/user_default_transitions.txt ${CLIENT3_HOST}:${RUBBOS_HOME}/workload/user_transitions.txt +scp ./workload/author_default_transitions.txt ${CLIENT3_HOST}:${RUBBOS_HOME}/workload/author_transitions.txt + +scp ./workload/user_default_transitions.txt ${CLIENT4_HOST}:${RUBBOS_HOME}/workload/user_transitions.txt +scp ./workload/author_default_transitions.txt ${CLIENT4_HOST}:${RUBBOS_HOME}/workload/author_transitions.txt + +scp Client/rubbos.properties ${CLIENT1_HOST}:${RUBBOS_HOME}/Client/rubbos.properties +scp Client/rubbos.properties ${CLIENT2_HOST}:${RUBBOS_HOME}/Client/rubbos.properties +scp Client/rubbos.properties ${CLIENT3_HOST}:${RUBBOS_HOME}/Client/rubbos.properties +scp Client/rubbos.properties ${CLIENT4_HOST}:${RUBBOS_HOME}/Client/rubbos.properties + + +bench/flush_cache 490000 +ssh $HTTPD_HOST "$RUBBOS_HOME/bench/flush_cache 880000" # web server +ssh $MYSQL1_HOST "$RUBBOS_HOME/bench/flush_cache 880000" # database server +ssh $TOMCAT1_HOST "$RUBBOS_HOME/bench/flush_cache 780000" # servlet server +ssh $CLIENT1_HOST "$RUBBOS_HOME/bench/flush_cache 490000" # remote client +ssh $CLIENT2_HOST "$RUBBOS_HOME/bench/flush_cache 490000" # remote client +ssh $CLIENT3_HOST "$RUBBOS_HOME/bench/flush_cache 490000" # remote client +ssh $CLIENT4_HOST "$RUBBOS_HOME/bench/flush_cache 490000" # remote client + +RAMPUP=480000 +MI=720000 +current_seconds=`date +%s` +start_seconds=`echo \( $RAMPUP / 1000 \) + $current_seconds - 60 | bc` +SMI=`date -d "1970-01-01 $start_seconds secs UTC" +%Y%m%d%H%M%S` +end_seconds=`echo \( $RAMPUP / 1000 + $MI / 1000 + 30 \) + $current_seconds | bc` +EMI=`date -d "1970-01-01 $end_seconds secs UTC" +%Y%m%d%H%M%S` +ssh $BENCHMARK_HOST "sudo nice -n -1 $RUBBOS_APP/cpu_mem.sh $SMI $EMI" & +ssh $CLIENT1_HOST "sudo nice -n -1 $RUBBOS_APP/cpu_mem.sh $SMI $EMI" & +ssh $CLIENT2_HOST "sudo nice -n -1 $RUBBOS_APP/cpu_mem.sh $SMI $EMI" & +ssh $CLIENT3_HOST "sudo nice -n -1 $RUBBOS_APP/cpu_mem.sh $SMI $EMI" & +ssh $CLIENT4_HOST "sudo nice -n -1 $RUBBOS_APP/cpu_mem.sh $SMI $EMI" & +ssh $HTTPD_HOST "sudo nice -n -1 $RUBBOS_APP/cpu_mem.sh $SMI $EMI" & +ssh $TOMCAT1_HOST "sudo nice -n -1 $RUBBOS_APP/cpu_mem.sh $SMI $EMI" & +ssh $MYSQL1_HOST "sudo nice -n -1 $RUBBOS_APP/cpu_mem.sh $SMI $EMI" & + + +make emulator + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/rubbos.properties_template b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/rubbos.properties_template new file mode 100644 index 00000000..0e8a4b43 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/rubbos.properties_template @@ -0,0 +1,79 @@ + +#n HTTP server information +httpd_hostname = REPLACE_HTTPD_HOST +httpd_port = 8000 + +# C/JDBC server to monitor (if any) +cjdbc_hostname = + +# Precise which version to use. Valid options are : PHP, Servlets, EJB +httpd_use_version = Servlets + +# EJB server information +ejb_server = +ejb_html_path = +ejb_script_path = + +# Servlets server information +servlets_server = REPLACE_TOMCAT1_HOST +servlets_html_path = /rubbos +servlets_script_path = /rubbos/servlet + +# PHP information +php_html_path = /PHP +php_script_path = /PHP + +#Database information +database_master_server = REPLACE_MYSQL1_HOST + +database_slave_servers = +workload_remote_client_nodes = REPLACE_CLIENT1_HOST,REPLACE_CLIENT2_HOST,REPLACE_CLIENT3_HOST,REPLACE_CLIENT4_HOST +workload_remote_client_command = /bottlenecks/rubbos/app/jdk1.6.0_27/bin/java -classpath .:/bottlenecks/rubbos/app/RUBBoS/Client/:/bottlenecks/rubbos/app/RUBBoS/Client/rubbos_client.jar -Xmx1300m -Dhttp.keepAlive=true -Dhttp.maxConnections=1000000 edu.rice.rubbos.client.ClientEmulator + + +workload_number_of_clients_per_node = REPLACE_NUMBER_OF_CLIENTS_PER_NODE + + +# Workload: precise which transition table to use +workload_user_transition_table = /bottlenecks/rubbos/app/RUBBoS/workload/user_transitions.txt +workload_author_transition_table = /bottlenecks/rubbos/app/RUBBoS/workload/author_transitions.txt +workload_number_of_columns = 24 +workload_number_of_rows = 26 +workload_maximum_number_of_transitions = 1000 +workload_use_tpcw_think_time = yes +workload_number_of_stories_per_page = 20 + +workload_up_ramp_time_in_ms = 48000 +workload_up_ramp_slowdown_factor = 2 + +workload_session_run_time_in_ms = 72000 +workload_down_ramp_time_in_ms = 3000 +workload_down_ramp_slowdown_factor = 3 +workload_percentage_of_author = 10 + +# Users policy +database_number_of_authors = 50 +database_number_of_users = 500000 + +# Stories policy +database_story_dictionnary = /bottlenecks/rubbos/app/RUBBoS/database/dictionary +database_story_maximum_length = 1024 +database_oldest_story_year = 1998 +database_oldest_story_month = 1 + +# Comments policy +database_comment_max_length = 1024 + +# Connection timedout settings +connection_time_out_interval = 300 + + +# Monitoring Information +monitoring_debug_level = 1 +monitoring_program = /bottlenecks/rubbos/app/sysstat-9.0.6/bin/sar +monitoring_options = -u ALL -I SUM +monitoring_sampling_in_seconds = 1 +monitoring_rsh = /usr/bin/ssh +monitoring_scp = /usr/bin/scp +monitoring_gnuplot_terminal = png + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/web.xml b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/web.xml new file mode 100644 index 00000000..e0a32b6b --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/rubbos_conf/web.xml @@ -0,0 +1,203 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> + +<!-- +<!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN' 'http://java.sun.com/dtd/web-app_2_3.dtd'> +--> +<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"> + +<web-app> + + <display-name>RUBBos</display-name> + <description> + Rice University Bulletin Board System + </description> + + + <servlet> + <servlet-name>BrowseCategories</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.BrowseCategories</servlet-class> + </servlet> + + <servlet> + <servlet-name>BrowseStoriesByCategory</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.BrowseStoriesByCategory</servlet-class> + </servlet> + + <servlet> + <servlet-name>ViewComment</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.ViewComment</servlet-class> + </servlet> + + <servlet> + <servlet-name>ModerateComment</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.ModerateComment</servlet-class> + </servlet> + + <servlet> + <servlet-name>PostComment</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.PostComment</servlet-class> + </servlet> + + <servlet> + <servlet-name>StoreComment</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.StoreComment</servlet-class> + </servlet> + + <servlet> + <servlet-name>SubmitStory</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.SubmitStory</servlet-class> + </servlet> + + <servlet> + <servlet-name>AcceptStory</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.AcceptStory</servlet-class> + </servlet> + + <servlet> + <servlet-name>RejectStory</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.RejectStory</servlet-class> + </servlet> + + <servlet> + <servlet-name>ReviewStories</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.ReviewStories</servlet-class> + </servlet> + + <servlet> + <servlet-name>StoreStory</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.StoreStory</servlet-class> + </servlet> + + <servlet> + <servlet-name>ViewStory</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.ViewStory</servlet-class> + </servlet> + + <servlet> + <servlet-name>StoriesOfTheDay</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.StoriesOfTheDay</servlet-class> + </servlet> + + <servlet> + <servlet-name>Search</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.Search</servlet-class> + </servlet> + + <servlet> + <servlet-name>StoreModeratorLog</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.StoreModeratorLog</servlet-class> + </servlet> + + <servlet> + <servlet-name>RegisterUser</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.RegisterUser</servlet-class> + </servlet> + + <servlet> + <servlet-name>Author</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.Author</servlet-class> + </servlet> + + <servlet> + <servlet-name>OlderStories</servlet-name> + <servlet-class>edu.rice.rubbos.servlets.OlderStories</servlet-class> + </servlet> + + + <servlet-mapping> + <servlet-name>BrowseCategories</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.BrowseCategories</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>BrowseStoriesByCategory</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.BrowseStoriesByCategory</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>ViewComment</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.ViewComment</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>ModerateComment</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.ModerateComment</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>PostComment</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.PostComment</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>StoreComment</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.StoreComment</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>SubmitStory</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.SubmitStory</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>AcceptStory</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.AcceptStory</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>RejectStory</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.RejectStory</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>ReviewStories</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.ReviewStories</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>StoreStory</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.StoreStory</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>ViewStory</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.ViewStory</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>StoriesOfTheDay</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.StoriesOfTheDay</url-pattern> + </servlet-mapping> + + + <servlet-mapping> + <servlet-name>Search</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.Search</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>StoreModeratorLog</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.StoreModeratorLog</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>RegisterUser</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.RegisterUser</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>Author</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.Author</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>OlderStories</servlet-name> + <url-pattern>/servlet/edu.rice.rubbos.servlets.OlderStories</url-pattern> + </servlet-mapping> + + + <session-config> + <session-timeout>30</session-timeout> <!-- 30 minutes --> + </session-config> + +</web-app> diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/BENCHMARK_configure.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/BENCHMARK_configure.sh new file mode 100755 index 00000000..4c8c416a --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/BENCHMARK_configure.sh @@ -0,0 +1,34 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "CONFIGURING RUBBOS CLIENT on $HOSTNAME" + +cp -r $WORK_HOME/rubbos_files/Client $RUBBOS_HOME/ +cp -r $WORK_HOME/rubbos_files/bench $RUBBOS_HOME/ + +cp $OUTPUT_HOME/rubbos_conf/build.properties $RUBBOS_HOME/ +cp $OUTPUT_HOME/rubbos_conf/config.mk $RUBBOS_HOME/ +cp $OUTPUT_HOME/rubbos_conf/Makefile $RUBBOS_HOME/ + +cp $OUTPUT_HOME/rubbos_conf/rubbos-servletsBO.sh $RUBBOS_HOME/bench/ +cp $OUTPUT_HOME/rubbos_conf/rubbos-servletsRW.sh $RUBBOS_HOME/bench/ + +chmod ug+x $RUBBOS_HOME/bench/*.sh + +#build clients +echo "COMPILING RUBBOS CLIENT on $HOSTNAME" +cd $RUBBOS_HOME/Client +make clean >/dev/null +make >/dev/null 2>&1 + +echo "DONE CONFIGURING RUBBOS CLIENT on $HOSTNAME" diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/BENCHMARK_install.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/BENCHMARK_install.sh new file mode 100755 index 00000000..f516b061 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/BENCHMARK_install.sh @@ -0,0 +1,23 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "INSTALLING RUBBOS CLIENT on $HOSTNAME" + +if [ ! -d "$RUBBOS_APP" ]; then +mkdir -p $RUBBOS_APP +chmod 755 $RUBBOS_APP +fi + +tar xzf $SOFTWARE_HOME/$JAVA_TARBALL --directory=$RUBBOS_APP + +echo "DONE INSTALLING RUBBOS CLIENT on $HOSTNAME" diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/BENCHMARK_pkg_prepare.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/BENCHMARK_pkg_prepare.sh new file mode 100755 index 00000000..7e96fe81 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/BENCHMARK_pkg_prepare.sh @@ -0,0 +1,45 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +. ../set_bottlenecks_rubbos_env.sh + +scp_options="-o StrictHostKeyChecking=no -o BatchMode=yes" + +# Packages for BENCHMARK rubbos install +if true; then +ssh $BENCHMARK_HOST "mkdir -p /bottlenecks/rubbos/rubbos_scripts/1-1-1" +scp $scp_options ../set_bottlenecks_rubbos_env.sh $BENCHMARK_HOST:/bottlenecks/rubbos/rubbos_scripts/1-1-1 + +ssh $BENCHMARK_HOST "mkdir -p $SOFTWARE_HOME" +scp $scp_options $SOFTWARE_HOME/$RUBBOS_TARBALL $BENCHMARK_HOST:$SOFTWARE_HOME/$RUBBOS_TARBALL +scp $scp_options $SOFTWARE_HOME/flush_cache $BENCHMARK_HOST:$SOFTWARE_HOME/flush_cache +scp $scp_options $SOFTWARE_HOME/$SYSSTAT_TARBALL $BENCHMARK_HOST:$SOFTWARE_HOME/$SYSSTAT_TARBALL +ssh $BENCHMARK_HOST "mkdir -p $OUTPUT_HOME/rubbos_conf" +scp $scp_options $OUTPUT_HOME/rubbos_conf/cpu_mem.sh $BENCHMARK_HOST:$OUTPUT_HOME/rubbos_conf/cpu_mem.sh +fi + +# Packages for BENCHMARK install +if true; then +scp $scp_options $SOFTWARE_HOME/$JAVA_TARBALL $BENCHMARK_HOST:$SOFTWARE_HOME/$JAVA_TARBALL +fi + +# Packages for BENCHMARK configure +if true; then +ssh $BENCHMARK_HOST "mkdir -p $WORK_HOME/rubbos_files" +scp $scp_options -r $WORK_HOME/rubbos_files/Client $BENCHMARK_HOST:$WORK_HOME/rubbos_files +scp $scp_options -r $WORK_HOME/rubbos_files/bench $BENCHMARK_HOST:$WORK_HOME/rubbos_files +ssh $BENCHMARK_HOST "mkdir -p $OUTPUT_HOME/rubbos_conf" +for i in build.properties config.mk Makefile \ + rubbos-servletsBO.sh rubbos-servletsRW.sh +do + scp $scp_options -r $OUTPUT_HOME/rubbos_conf/$i $BENCHMARK_HOST:$OUTPUT_HOME/rubbos_conf/$i +done +fi + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/BENCHMARK_rubbos_install.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/BENCHMARK_rubbos_install.sh new file mode 100755 index 00000000..6f2555aa --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/BENCHMARK_rubbos_install.sh @@ -0,0 +1,38 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "INSTALLING RUBBOS/SYSSTAT on $HOSTNAME" + +if [ ! -d "$RUBBOS_APP" ]; then +mkdir -p $RUBBOS_APP +chmod 755 $RUBBOS_APP +fi + +# install RUBBoS +tar xzf $SOFTWARE_HOME/$RUBBOS_TARBALL --directory=$RUBBOS_APP +#tar xzf $SOFTWARE_HOME/rubbos_html.tar.gz --directory=$RUBBOS_HOME/Servlet_HTML/ +cp $SOFTWARE_HOME/flush_cache $RUBBOS_HOME/bench/. + +# install sysstat +tar xzf $SOFTWARE_HOME/$SYSSTAT_TARBALL --directory=$RUBBOS_APP + +cd $SYSSTAT_HOME +./configure --prefix=$SYSSTAT_HOME >/dev/null +make >/dev/null 2>&1 +sudo make install >/dev/null + +# install a script to collect statistics data +cp $OUTPUT_HOME/rubbos_conf/cpu_mem.sh $RUBBOS_APP/. +chmod 755 $RUBBOS_APP/cpu_mem.sh + +echo "DONE INSTALLING RUBBOS/SYSSTAT on $HOSTNAME" diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/BENCHMARK_rubbos_uninstall.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/BENCHMARK_rubbos_uninstall.sh new file mode 100755 index 00000000..413ee958 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/BENCHMARK_rubbos_uninstall.sh @@ -0,0 +1,18 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +cd $SYSSTAT_HOME +sudo make uninstall +sudo rm -rf $SYSSTAT_HOME +rm -rf $RUBBOS_HOME +#rm -rf $ELBA_TOP diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/BENCHMARK_uninstall.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/BENCHMARK_uninstall.sh new file mode 100755 index 00000000..36ecde18 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/BENCHMARK_uninstall.sh @@ -0,0 +1,15 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +rm -rf $JAVA_HOME +#rm -rf $ELBA_TOP diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT1_configure.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT1_configure.sh new file mode 100755 index 00000000..4c8c416a --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT1_configure.sh @@ -0,0 +1,34 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "CONFIGURING RUBBOS CLIENT on $HOSTNAME" + +cp -r $WORK_HOME/rubbos_files/Client $RUBBOS_HOME/ +cp -r $WORK_HOME/rubbos_files/bench $RUBBOS_HOME/ + +cp $OUTPUT_HOME/rubbos_conf/build.properties $RUBBOS_HOME/ +cp $OUTPUT_HOME/rubbos_conf/config.mk $RUBBOS_HOME/ +cp $OUTPUT_HOME/rubbos_conf/Makefile $RUBBOS_HOME/ + +cp $OUTPUT_HOME/rubbos_conf/rubbos-servletsBO.sh $RUBBOS_HOME/bench/ +cp $OUTPUT_HOME/rubbos_conf/rubbos-servletsRW.sh $RUBBOS_HOME/bench/ + +chmod ug+x $RUBBOS_HOME/bench/*.sh + +#build clients +echo "COMPILING RUBBOS CLIENT on $HOSTNAME" +cd $RUBBOS_HOME/Client +make clean >/dev/null +make >/dev/null 2>&1 + +echo "DONE CONFIGURING RUBBOS CLIENT on $HOSTNAME" diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT1_install.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT1_install.sh new file mode 100755 index 00000000..f516b061 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT1_install.sh @@ -0,0 +1,23 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "INSTALLING RUBBOS CLIENT on $HOSTNAME" + +if [ ! -d "$RUBBOS_APP" ]; then +mkdir -p $RUBBOS_APP +chmod 755 $RUBBOS_APP +fi + +tar xzf $SOFTWARE_HOME/$JAVA_TARBALL --directory=$RUBBOS_APP + +echo "DONE INSTALLING RUBBOS CLIENT on $HOSTNAME" diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT1_pkg_prepare.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT1_pkg_prepare.sh new file mode 100755 index 00000000..f73ff9fd --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT1_pkg_prepare.sh @@ -0,0 +1,45 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +. ../set_bottlenecks_rubbos_env.sh + +scp_options="-o StrictHostKeyChecking=no -o BatchMode=yes" + +# Packages for CLIENT1 rubbos install +if true; then +ssh $CLIENT1_HOST "mkdir -p /bottlenecks/rubbos/rubbos_scripts/1-1-1" +scp $scp_options ../set_bottlenecks_rubbos_env.sh $CLIENT1_HOST:/bottlenecks/rubbos/rubbos_scripts/1-1-1 + +ssh $CLIENT1_HOST "mkdir -p $SOFTWARE_HOME" +scp $scp_options $SOFTWARE_HOME/$RUBBOS_TARBALL $CLIENT1_HOST:$SOFTWARE_HOME/$RUBBOS_TARBALL +scp $scp_options $SOFTWARE_HOME/flush_cache $CLIENT1_HOST:$SOFTWARE_HOME/flush_cache +scp $scp_options $SOFTWARE_HOME/$SYSSTAT_TARBALL $CLIENT1_HOST:$SOFTWARE_HOME/$SYSSTAT_TARBALL +ssh $CLIENT1_HOST "mkdir -p $OUTPUT_HOME/rubbos_conf" +scp $scp_options $OUTPUT_HOME/rubbos_conf/cpu_mem.sh $CLIENT1_HOST:$OUTPUT_HOME/rubbos_conf/cpu_mem.sh +fi + +# Packages for CLIENT1 install +if true; then +scp $scp_options $SOFTWARE_HOME/$JAVA_TARBALL $CLIENT1_HOST:$SOFTWARE_HOME/$JAVA_TARBALL +fi + +# Packages for CLIENT1 configure +if true; then +ssh $CLIENT1_HOST "mkdir -p $WORK_HOME/rubbos_files" +scp $scp_options -r $WORK_HOME/rubbos_files/Client $CLIENT1_HOST:$WORK_HOME/rubbos_files +scp $scp_options -r $WORK_HOME/rubbos_files/bench $CLIENT1_HOST:$WORK_HOME/rubbos_files +ssh $CLIENT1_HOST "mkdir -p $OUTPUT_HOME/rubbos_conf" +for i in build.properties config.mk Makefile \ + rubbos-servletsBO.sh rubbos-servletsRW.sh +do + scp $scp_options -r $OUTPUT_HOME/rubbos_conf/$i $CLIENT1_HOST:$OUTPUT_HOME/rubbos_conf/$i +done +fi + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT1_rubbos_install.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT1_rubbos_install.sh new file mode 100755 index 00000000..6f2555aa --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT1_rubbos_install.sh @@ -0,0 +1,38 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "INSTALLING RUBBOS/SYSSTAT on $HOSTNAME" + +if [ ! -d "$RUBBOS_APP" ]; then +mkdir -p $RUBBOS_APP +chmod 755 $RUBBOS_APP +fi + +# install RUBBoS +tar xzf $SOFTWARE_HOME/$RUBBOS_TARBALL --directory=$RUBBOS_APP +#tar xzf $SOFTWARE_HOME/rubbos_html.tar.gz --directory=$RUBBOS_HOME/Servlet_HTML/ +cp $SOFTWARE_HOME/flush_cache $RUBBOS_HOME/bench/. + +# install sysstat +tar xzf $SOFTWARE_HOME/$SYSSTAT_TARBALL --directory=$RUBBOS_APP + +cd $SYSSTAT_HOME +./configure --prefix=$SYSSTAT_HOME >/dev/null +make >/dev/null 2>&1 +sudo make install >/dev/null + +# install a script to collect statistics data +cp $OUTPUT_HOME/rubbos_conf/cpu_mem.sh $RUBBOS_APP/. +chmod 755 $RUBBOS_APP/cpu_mem.sh + +echo "DONE INSTALLING RUBBOS/SYSSTAT on $HOSTNAME" diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT1_rubbos_uninstall.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT1_rubbos_uninstall.sh new file mode 100755 index 00000000..413ee958 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT1_rubbos_uninstall.sh @@ -0,0 +1,18 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +cd $SYSSTAT_HOME +sudo make uninstall +sudo rm -rf $SYSSTAT_HOME +rm -rf $RUBBOS_HOME +#rm -rf $ELBA_TOP diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT1_uninstall.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT1_uninstall.sh new file mode 100755 index 00000000..36ecde18 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT1_uninstall.sh @@ -0,0 +1,15 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +rm -rf $JAVA_HOME +#rm -rf $ELBA_TOP diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT2_configure.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT2_configure.sh new file mode 100755 index 00000000..4c8c416a --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT2_configure.sh @@ -0,0 +1,34 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "CONFIGURING RUBBOS CLIENT on $HOSTNAME" + +cp -r $WORK_HOME/rubbos_files/Client $RUBBOS_HOME/ +cp -r $WORK_HOME/rubbos_files/bench $RUBBOS_HOME/ + +cp $OUTPUT_HOME/rubbos_conf/build.properties $RUBBOS_HOME/ +cp $OUTPUT_HOME/rubbos_conf/config.mk $RUBBOS_HOME/ +cp $OUTPUT_HOME/rubbos_conf/Makefile $RUBBOS_HOME/ + +cp $OUTPUT_HOME/rubbos_conf/rubbos-servletsBO.sh $RUBBOS_HOME/bench/ +cp $OUTPUT_HOME/rubbos_conf/rubbos-servletsRW.sh $RUBBOS_HOME/bench/ + +chmod ug+x $RUBBOS_HOME/bench/*.sh + +#build clients +echo "COMPILING RUBBOS CLIENT on $HOSTNAME" +cd $RUBBOS_HOME/Client +make clean >/dev/null +make >/dev/null 2>&1 + +echo "DONE CONFIGURING RUBBOS CLIENT on $HOSTNAME" diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT2_install.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT2_install.sh new file mode 100755 index 00000000..f516b061 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT2_install.sh @@ -0,0 +1,23 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "INSTALLING RUBBOS CLIENT on $HOSTNAME" + +if [ ! -d "$RUBBOS_APP" ]; then +mkdir -p $RUBBOS_APP +chmod 755 $RUBBOS_APP +fi + +tar xzf $SOFTWARE_HOME/$JAVA_TARBALL --directory=$RUBBOS_APP + +echo "DONE INSTALLING RUBBOS CLIENT on $HOSTNAME" diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT2_pkg_prepare.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT2_pkg_prepare.sh new file mode 100755 index 00000000..7dfd60d9 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT2_pkg_prepare.sh @@ -0,0 +1,45 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +. ../set_bottlenecks_rubbos_env.sh + +scp_options="-o StrictHostKeyChecking=no -o BatchMode=yes" + +# Packages for CLIENT2 rubbos install +if true; then +ssh $CLIENT2_HOST "mkdir -p /bottlenecks/rubbos/rubbos_scripts/1-1-1" +scp $scp_options ../set_bottlenecks_rubbos_env.sh $CLIENT2_HOST:/bottlenecks/rubbos/rubbos_scripts/1-1-1 + +ssh $CLIENT2_HOST "mkdir -p $SOFTWARE_HOME" +scp $scp_options $SOFTWARE_HOME/$RUBBOS_TARBALL $CLIENT2_HOST:$SOFTWARE_HOME/$RUBBOS_TARBALL +scp $scp_options $SOFTWARE_HOME/flush_cache $CLIENT2_HOST:$SOFTWARE_HOME/flush_cache +scp $scp_options $SOFTWARE_HOME/$SYSSTAT_TARBALL $CLIENT2_HOST:$SOFTWARE_HOME/$SYSSTAT_TARBALL +ssh $CLIENT2_HOST "mkdir -p $OUTPUT_HOME/rubbos_conf" +scp $scp_options $OUTPUT_HOME/rubbos_conf/cpu_mem.sh $CLIENT2_HOST:$OUTPUT_HOME/rubbos_conf/cpu_mem.sh +fi + +# Packages for CLIENT2 install +if true; then +scp $scp_options $SOFTWARE_HOME/$JAVA_TARBALL $CLIENT2_HOST:$SOFTWARE_HOME/$JAVA_TARBALL +fi + +# Packages for CLIENT2 configure +if true; then +ssh $CLIENT2_HOST "mkdir -p $WORK_HOME/rubbos_files" +scp $scp_options -r $WORK_HOME/rubbos_files/Client $CLIENT2_HOST:$WORK_HOME/rubbos_files +scp $scp_options -r $WORK_HOME/rubbos_files/bench $CLIENT2_HOST:$WORK_HOME/rubbos_files +ssh $CLIENT2_HOST "mkdir -p $OUTPUT_HOME/rubbos_conf" +for i in build.properties config.mk Makefile \ + rubbos-servletsBO.sh rubbos-servletsRW.sh +do + scp $scp_options -r $OUTPUT_HOME/rubbos_conf/$i $CLIENT2_HOST:$OUTPUT_HOME/rubbos_conf/$i +done +fi + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT2_rubbos_install.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT2_rubbos_install.sh new file mode 100755 index 00000000..6f2555aa --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT2_rubbos_install.sh @@ -0,0 +1,38 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "INSTALLING RUBBOS/SYSSTAT on $HOSTNAME" + +if [ ! -d "$RUBBOS_APP" ]; then +mkdir -p $RUBBOS_APP +chmod 755 $RUBBOS_APP +fi + +# install RUBBoS +tar xzf $SOFTWARE_HOME/$RUBBOS_TARBALL --directory=$RUBBOS_APP +#tar xzf $SOFTWARE_HOME/rubbos_html.tar.gz --directory=$RUBBOS_HOME/Servlet_HTML/ +cp $SOFTWARE_HOME/flush_cache $RUBBOS_HOME/bench/. + +# install sysstat +tar xzf $SOFTWARE_HOME/$SYSSTAT_TARBALL --directory=$RUBBOS_APP + +cd $SYSSTAT_HOME +./configure --prefix=$SYSSTAT_HOME >/dev/null +make >/dev/null 2>&1 +sudo make install >/dev/null + +# install a script to collect statistics data +cp $OUTPUT_HOME/rubbos_conf/cpu_mem.sh $RUBBOS_APP/. +chmod 755 $RUBBOS_APP/cpu_mem.sh + +echo "DONE INSTALLING RUBBOS/SYSSTAT on $HOSTNAME" diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT2_rubbos_uninstall.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT2_rubbos_uninstall.sh new file mode 100755 index 00000000..413ee958 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT2_rubbos_uninstall.sh @@ -0,0 +1,18 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +cd $SYSSTAT_HOME +sudo make uninstall +sudo rm -rf $SYSSTAT_HOME +rm -rf $RUBBOS_HOME +#rm -rf $ELBA_TOP diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT2_uninstall.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT2_uninstall.sh new file mode 100755 index 00000000..36ecde18 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT2_uninstall.sh @@ -0,0 +1,15 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +rm -rf $JAVA_HOME +#rm -rf $ELBA_TOP diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT3_configure.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT3_configure.sh new file mode 100755 index 00000000..4c8c416a --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT3_configure.sh @@ -0,0 +1,34 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "CONFIGURING RUBBOS CLIENT on $HOSTNAME" + +cp -r $WORK_HOME/rubbos_files/Client $RUBBOS_HOME/ +cp -r $WORK_HOME/rubbos_files/bench $RUBBOS_HOME/ + +cp $OUTPUT_HOME/rubbos_conf/build.properties $RUBBOS_HOME/ +cp $OUTPUT_HOME/rubbos_conf/config.mk $RUBBOS_HOME/ +cp $OUTPUT_HOME/rubbos_conf/Makefile $RUBBOS_HOME/ + +cp $OUTPUT_HOME/rubbos_conf/rubbos-servletsBO.sh $RUBBOS_HOME/bench/ +cp $OUTPUT_HOME/rubbos_conf/rubbos-servletsRW.sh $RUBBOS_HOME/bench/ + +chmod ug+x $RUBBOS_HOME/bench/*.sh + +#build clients +echo "COMPILING RUBBOS CLIENT on $HOSTNAME" +cd $RUBBOS_HOME/Client +make clean >/dev/null +make >/dev/null 2>&1 + +echo "DONE CONFIGURING RUBBOS CLIENT on $HOSTNAME" diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT3_install.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT3_install.sh new file mode 100755 index 00000000..f516b061 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT3_install.sh @@ -0,0 +1,23 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "INSTALLING RUBBOS CLIENT on $HOSTNAME" + +if [ ! -d "$RUBBOS_APP" ]; then +mkdir -p $RUBBOS_APP +chmod 755 $RUBBOS_APP +fi + +tar xzf $SOFTWARE_HOME/$JAVA_TARBALL --directory=$RUBBOS_APP + +echo "DONE INSTALLING RUBBOS CLIENT on $HOSTNAME" diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT3_pkg_prepare.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT3_pkg_prepare.sh new file mode 100755 index 00000000..f958638f --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT3_pkg_prepare.sh @@ -0,0 +1,45 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +. ../set_bottlenecks_rubbos_env.sh + +scp_options="-o StrictHostKeyChecking=no -o BatchMode=yes" + +# Packages for CLIENT3 rubbos install +if true; then +ssh $CLIENT3_HOST "mkdir -p /bottlenecks/rubbos/rubbos_scripts/1-1-1" +scp $scp_options ../set_bottlenecks_rubbos_env.sh $CLIENT3_HOST:/bottlenecks/rubbos/rubbos_scripts/1-1-1 + +ssh $CLIENT3_HOST "mkdir -p $SOFTWARE_HOME" +scp $scp_options $SOFTWARE_HOME/$RUBBOS_TARBALL $CLIENT3_HOST:$SOFTWARE_HOME/$RUBBOS_TARBALL +scp $scp_options $SOFTWARE_HOME/flush_cache $CLIENT3_HOST:$SOFTWARE_HOME/flush_cache +scp $scp_options $SOFTWARE_HOME/$SYSSTAT_TARBALL $CLIENT3_HOST:$SOFTWARE_HOME/$SYSSTAT_TARBALL +ssh $CLIENT3_HOST "mkdir -p $OUTPUT_HOME/rubbos_conf" +scp $scp_options $OUTPUT_HOME/rubbos_conf/cpu_mem.sh $CLIENT3_HOST:$OUTPUT_HOME/rubbos_conf/cpu_mem.sh +fi + +# Packages for CLIENT3 install +if true; then +scp $scp_options $SOFTWARE_HOME/$JAVA_TARBALL $CLIENT3_HOST:$SOFTWARE_HOME/$JAVA_TARBALL +fi + +# Packages for CLIENT3 configure +if true; then +ssh $CLIENT3_HOST "mkdir -p $WORK_HOME/rubbos_files" +scp $scp_options -r $WORK_HOME/rubbos_files/Client $CLIENT3_HOST:$WORK_HOME/rubbos_files +scp $scp_options -r $WORK_HOME/rubbos_files/bench $CLIENT3_HOST:$WORK_HOME/rubbos_files +ssh $CLIENT3_HOST "mkdir -p $OUTPUT_HOME/rubbos_conf" +for i in build.properties config.mk Makefile \ + rubbos-servletsBO.sh rubbos-servletsRW.sh +do + scp $scp_options -r $OUTPUT_HOME/rubbos_conf/$i $CLIENT3_HOST:$OUTPUT_HOME/rubbos_conf/$i +done +fi + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT3_rubbos_install.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT3_rubbos_install.sh new file mode 100755 index 00000000..6f2555aa --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT3_rubbos_install.sh @@ -0,0 +1,38 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "INSTALLING RUBBOS/SYSSTAT on $HOSTNAME" + +if [ ! -d "$RUBBOS_APP" ]; then +mkdir -p $RUBBOS_APP +chmod 755 $RUBBOS_APP +fi + +# install RUBBoS +tar xzf $SOFTWARE_HOME/$RUBBOS_TARBALL --directory=$RUBBOS_APP +#tar xzf $SOFTWARE_HOME/rubbos_html.tar.gz --directory=$RUBBOS_HOME/Servlet_HTML/ +cp $SOFTWARE_HOME/flush_cache $RUBBOS_HOME/bench/. + +# install sysstat +tar xzf $SOFTWARE_HOME/$SYSSTAT_TARBALL --directory=$RUBBOS_APP + +cd $SYSSTAT_HOME +./configure --prefix=$SYSSTAT_HOME >/dev/null +make >/dev/null 2>&1 +sudo make install >/dev/null + +# install a script to collect statistics data +cp $OUTPUT_HOME/rubbos_conf/cpu_mem.sh $RUBBOS_APP/. +chmod 755 $RUBBOS_APP/cpu_mem.sh + +echo "DONE INSTALLING RUBBOS/SYSSTAT on $HOSTNAME" diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT3_rubbos_uninstall.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT3_rubbos_uninstall.sh new file mode 100755 index 00000000..413ee958 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT3_rubbos_uninstall.sh @@ -0,0 +1,18 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +cd $SYSSTAT_HOME +sudo make uninstall +sudo rm -rf $SYSSTAT_HOME +rm -rf $RUBBOS_HOME +#rm -rf $ELBA_TOP diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT3_uninstall.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT3_uninstall.sh new file mode 100755 index 00000000..36ecde18 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT3_uninstall.sh @@ -0,0 +1,15 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +rm -rf $JAVA_HOME +#rm -rf $ELBA_TOP diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT4_configure.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT4_configure.sh new file mode 100755 index 00000000..4c8c416a --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT4_configure.sh @@ -0,0 +1,34 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "CONFIGURING RUBBOS CLIENT on $HOSTNAME" + +cp -r $WORK_HOME/rubbos_files/Client $RUBBOS_HOME/ +cp -r $WORK_HOME/rubbos_files/bench $RUBBOS_HOME/ + +cp $OUTPUT_HOME/rubbos_conf/build.properties $RUBBOS_HOME/ +cp $OUTPUT_HOME/rubbos_conf/config.mk $RUBBOS_HOME/ +cp $OUTPUT_HOME/rubbos_conf/Makefile $RUBBOS_HOME/ + +cp $OUTPUT_HOME/rubbos_conf/rubbos-servletsBO.sh $RUBBOS_HOME/bench/ +cp $OUTPUT_HOME/rubbos_conf/rubbos-servletsRW.sh $RUBBOS_HOME/bench/ + +chmod ug+x $RUBBOS_HOME/bench/*.sh + +#build clients +echo "COMPILING RUBBOS CLIENT on $HOSTNAME" +cd $RUBBOS_HOME/Client +make clean >/dev/null +make >/dev/null 2>&1 + +echo "DONE CONFIGURING RUBBOS CLIENT on $HOSTNAME" diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT4_install.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT4_install.sh new file mode 100755 index 00000000..f516b061 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT4_install.sh @@ -0,0 +1,23 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "INSTALLING RUBBOS CLIENT on $HOSTNAME" + +if [ ! -d "$RUBBOS_APP" ]; then +mkdir -p $RUBBOS_APP +chmod 755 $RUBBOS_APP +fi + +tar xzf $SOFTWARE_HOME/$JAVA_TARBALL --directory=$RUBBOS_APP + +echo "DONE INSTALLING RUBBOS CLIENT on $HOSTNAME" diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT4_pkg_prepare.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT4_pkg_prepare.sh new file mode 100755 index 00000000..5f218269 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT4_pkg_prepare.sh @@ -0,0 +1,45 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +. ../set_bottlenecks_rubbos_env.sh + +scp_options="-o StrictHostKeyChecking=no -o BatchMode=yes" + +# Packages for CLIENT4 rubbos install +if true; then +ssh $CLIENT4_HOST "mkdir -p /bottlenecks/rubbos/rubbos_scripts/1-1-1" +scp $scp_options ../set_bottlenecks_rubbos_env.sh $CLIENT4_HOST:/bottlenecks/rubbos/rubbos_scripts/1-1-1 + +ssh $CLIENT4_HOST "mkdir -p $SOFTWARE_HOME" +scp $scp_options $SOFTWARE_HOME/$RUBBOS_TARBALL $CLIENT4_HOST:$SOFTWARE_HOME/$RUBBOS_TARBALL +scp $scp_options $SOFTWARE_HOME/flush_cache $CLIENT4_HOST:$SOFTWARE_HOME/flush_cache +scp $scp_options $SOFTWARE_HOME/$SYSSTAT_TARBALL $CLIENT4_HOST:$SOFTWARE_HOME/$SYSSTAT_TARBALL +ssh $CLIENT4_HOST "mkdir -p $OUTPUT_HOME/rubbos_conf" +scp $scp_options $OUTPUT_HOME/rubbos_conf/cpu_mem.sh $CLIENT4_HOST:$OUTPUT_HOME/rubbos_conf/cpu_mem.sh +fi + +# Packages for CLIENT4 install +if true; then +scp $scp_options $SOFTWARE_HOME/$JAVA_TARBALL $CLIENT4_HOST:$SOFTWARE_HOME/$JAVA_TARBALL +fi + +# Packages for CLIENT4 configure +if true; then +ssh $CLIENT4_HOST "mkdir -p $WORK_HOME/rubbos_files" +scp $scp_options -r $WORK_HOME/rubbos_files/Client $CLIENT4_HOST:$WORK_HOME/rubbos_files +scp $scp_options -r $WORK_HOME/rubbos_files/bench $CLIENT4_HOST:$WORK_HOME/rubbos_files +ssh $CLIENT4_HOST "mkdir -p $OUTPUT_HOME/rubbos_conf" +for i in build.properties config.mk Makefile \ + rubbos-servletsBO.sh rubbos-servletsRW.sh +do + scp $scp_options -r $OUTPUT_HOME/rubbos_conf/$i $CLIENT4_HOST:$OUTPUT_HOME/rubbos_conf/$i +done +fi + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT4_rubbos_install.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT4_rubbos_install.sh new file mode 100755 index 00000000..6f2555aa --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT4_rubbos_install.sh @@ -0,0 +1,38 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "INSTALLING RUBBOS/SYSSTAT on $HOSTNAME" + +if [ ! -d "$RUBBOS_APP" ]; then +mkdir -p $RUBBOS_APP +chmod 755 $RUBBOS_APP +fi + +# install RUBBoS +tar xzf $SOFTWARE_HOME/$RUBBOS_TARBALL --directory=$RUBBOS_APP +#tar xzf $SOFTWARE_HOME/rubbos_html.tar.gz --directory=$RUBBOS_HOME/Servlet_HTML/ +cp $SOFTWARE_HOME/flush_cache $RUBBOS_HOME/bench/. + +# install sysstat +tar xzf $SOFTWARE_HOME/$SYSSTAT_TARBALL --directory=$RUBBOS_APP + +cd $SYSSTAT_HOME +./configure --prefix=$SYSSTAT_HOME >/dev/null +make >/dev/null 2>&1 +sudo make install >/dev/null + +# install a script to collect statistics data +cp $OUTPUT_HOME/rubbos_conf/cpu_mem.sh $RUBBOS_APP/. +chmod 755 $RUBBOS_APP/cpu_mem.sh + +echo "DONE INSTALLING RUBBOS/SYSSTAT on $HOSTNAME" diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT4_rubbos_uninstall.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT4_rubbos_uninstall.sh new file mode 100755 index 00000000..413ee958 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT4_rubbos_uninstall.sh @@ -0,0 +1,18 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +cd $SYSSTAT_HOME +sudo make uninstall +sudo rm -rf $SYSSTAT_HOME +rm -rf $RUBBOS_HOME +#rm -rf $ELBA_TOP diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT4_uninstall.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT4_uninstall.sh new file mode 100755 index 00000000..36ecde18 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CLIENT4_uninstall.sh @@ -0,0 +1,15 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +rm -rf $JAVA_HOME +#rm -rf $ELBA_TOP diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CONTROL_checkScp_exec.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CONTROL_checkScp_exec.sh new file mode 100755 index 00000000..1cfb0bc7 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CONTROL_checkScp_exec.sh @@ -0,0 +1,28 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +# Check scp to all servers +echo "*** checking scp to all servers *********************************" + +ssh -o StrictHostKeyChecking=no -o BatchMode=yes $CONTROL_HOST "hostname" +ssh -o StrictHostKeyChecking=no -o BatchMode=yes $BENCHMARK_HOST "hostname" +ssh -o StrictHostKeyChecking=no -o BatchMode=yes $CLIENT1_HOST "hostname" +ssh -o StrictHostKeyChecking=no -o BatchMode=yes $CLIENT2_HOST "hostname" +ssh -o StrictHostKeyChecking=no -o BatchMode=yes $CLIENT3_HOST "hostname" +ssh -o StrictHostKeyChecking=no -o BatchMode=yes $CLIENT4_HOST "hostname" +ssh -o StrictHostKeyChecking=no -o BatchMode=yes $HTTPD_HOST "hostname" +ssh -o StrictHostKeyChecking=no -o BatchMode=yes $TOMCAT1_HOST "hostname" +ssh -o StrictHostKeyChecking=no -o BatchMode=yes $MYSQL1_HOST "hostname" + +#ssh -o StrictHostKeyChecking=no -o BatchMode=yes bonn.cc.gt.atl.ga.us "hostname" +ssh -o StrictHostKeyChecking=no -o BatchMode=yes localhost "hostname" diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CONTROL_emulabConf_exec.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CONTROL_emulabConf_exec.sh new file mode 100755 index 00000000..428172ab --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CONTROL_emulabConf_exec.sh @@ -0,0 +1,63 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +# Limit pc3000 Memory Capacity + +sleep 10 + +# Make and mount new partiton +echo "*** make FS on a partition and mount it *************************" + +for i in "$BENCHMARK_HOST" "$CLIENT1_HOST" "$CLIENT2_HOST" "$CLIENT3_HOST" "$CLIENT4_HOST" "$HTTPD_HOST" "$TOMCAT1_HOST" "$MYSQL1_HOST" +do +ssh $i " + sudo mkdir -p $ELBA_TOP + sudo chmod 777 $ELBA_TOP +" +scp $WORK_HOME/emulab_files/limits.conf $i:$ELBA_TOP +scp $WORK_HOME/emulab_files/login $i:$ELBA_TOP +scp $WORK_HOME/emulab_files/file-max $i:$ELBA_TOP + +ssh $i " + sudo mv $ELBA_TOP/limits.conf /etc/security/ + sudo mv $ELBA_TOP/login /etc/pam.d/ +" +done + + +for i in "$BENCHMARK_HOST" "$CLIENT1_HOST" "$CLIENT2_HOST" "$CLIENT3_HOST" "$CLIENT4_HOST" "$HTTPD_HOST" "$TOMCAT1_HOST" "$MYSQL1_HOST" +do + ssh $i " + sudo /sbin/mkfs /dev/sda4 + sudo mount /dev/sda4 $ELBA_TOP + sudo chmod 777 $ELBA_TOP + mkdir -p $RUBBOS_TOP + sudo cp $SOFTWARE_HOME/sdparm-1.03.tgz /tmp + cd /tmp + sudo tar -zxvf ./sdparm-1.03.tgz + cd sdparm-1.03 + sudo ./configure + sudo make + sudo make install + sudo sdparm -c WCE /dev/sda + " & +done + +echo "sleep 420" +sleep 420 +echo "wake up from sleeping 420" + + +# Turning off Swap Partition + +sleep 10 diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CONTROL_rubbos_exec.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CONTROL_rubbos_exec.sh new file mode 100755 index 00000000..77da6459 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/CONTROL_rubbos_exec.sh @@ -0,0 +1,151 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +set -x + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh +export scp_options='-o StrictHostKeyChecking=no -o BatchMode=yes' + +scp $WORK_HOME/monitors_files/oprofile_start.sh $MYSQL1_HOST:/tmp/ + +echo "Starting RUBBoS" + +ssh $RUBBOS_RESULTS_HOST " + mkdir -p $RUBBOS_RESULTS_DIR_BASE +" +ssh $BENCHMARK_HOST " + mkdir -p $TMP_RESULTS_DIR_BASE/$RUBBOS_RESULTS_DIR_NAME +" + +# run test rubbos.properties from 200 to 3200 +for i in {2..32..5} +do + echo "Start Browsing Only with rubbos.properties_$((100*i)) $(date)" + + ssh $BENCHMARK_HOST " + source /bottlenecks/rubbos/rubbos_scripts/1-1-1/set_bottlenecks_rubbos_env.sh + rm -f $RUBBOS_HOME/Client/rubbos.properties + " + + sed -e "s/REPLACE_HTTPD_HOST/$HTTPD_HOST/g" \ + -e "s/REPLACE_TOMCAT1_HOST/$TOMCAT1_HOST/g" \ + -e "s/REPLACE_MYSQL1_HOST/$MYSQL1_HOST/g" \ + -e "s#REPLACE_CLIENT1_HOST#$CLIENT1_HOST#g" \ + -e "s#REPLACE_CLIENT2_HOST#$CLIENT2_HOST#g" \ + -e "s#REPLACE_CLIENT3_HOST#$CLIENT3_HOST#g" \ + -e "s#REPLACE_CLIENT4_HOST#$CLIENT4_HOST#g" \ + -e "s/REPLACE_NUMBER_OF_CLIENTS_PER_NODE/$((20*i))/g" \ + $OUTPUT_HOME/rubbos_conf/rubbos.properties_template \ + > $OUTPUT_HOME/rubbos_conf/rubbos.properties + scp $OUTPUT_HOME/rubbos_conf/rubbos.properties $BENCHMARK_HOST:$RUBBOS_HOME/Client/rubbos.properties + rm -rf $OUTPUT_HOME/rubbos_conf/rubbos.properties + + echo "Resetting all data" + $OUTPUT_HOME/scripts/reset_all.sh + + # Browsing Only + echo "Start Browsing Only with rubbos.properties_$((100*i))" + echo "Removing previous logs..." + ssh $HTTPD_HOST "rm -f $HTTPD_HOME/logs/*log" + ssh $TOMCAT1_HOST "rm -f $CATALINA_HOME/logs/*" + ssh $MYSQL1_HOST "rm -f $MYSQL_HOME/run/*.log $RUBBOS_APP/mysql_mon-*" + + $OUTPUT_HOME/scripts/start_all.sh + sleep 15 + + for host in $BENCHMARK_HOST $CLIENT1_HOST $CLIENT2_HOST $CLIENT3_HOST \ + $CLIENT4_HOST $HTTPD_HOST $TOMCAT1_HOST $MYSQL1_HOST + do + ssh $host "rm -f $RUBBOS_APP/sar-* $RUBBOS_APP/ps-* $RUBBOS_APP/iostat-*" + done + ssh $MYSQL1_HOST "rm -f /tmp/*.log" + ssh $MYSQL1_HOST chmod 777 /tmp/oprofile_start.sh + #ssh $MYSQL1_HOST " + # cd /tmp + # ./oprofile_start.sh + #" & + + ssh $BENCHMARK_HOST " + set -x + source /bottlenecks/rubbos/rubbos_scripts/1-1-1/set_bottlenecks_rubbos_env.sh + + cd $RUBBOS_HOME/bench + \rm -r 20* + + # Execute benchmark + echo "execute benchmark" + ./rubbos-servletsBO.sh + + # Collect results + echo "The benchmark has finished. Now, collecting results..." + cd 20* + for host in $BENCHMARK_HOST $CLIENT1_HOST $CLIENT2_HOST $CLIENT3_HOST \ + $CLIENT4_HOST $HTTPD_HOST $TOMCAT1_HOST $MYSQL1_HOST + do + for f in 'sar-*' 'ps-*' 'iostat-*' 'mysql_mon-*' 'postgres_lock-*' + do + scp $scp_options \$host:$RUBBOS_APP/\$f ./ + done + done + cd .. + find -type f + find -type f | grep stat_client | xargs grep throughput + mv 20* $TMP_RESULTS_DIR_BASE/$RUBBOS_RESULTS_DIR_NAME/ + " + + $OUTPUT_HOME/scripts/stop_all.sh + $OUTPUT_HOME/scripts/kill_all.sh + sleep 15 + + echo "End Browsing Only with rubbos.properties_$((100*i)) $(date)" +done + +echo "Processing the results..." +ssh $BENCHMARK_HOST " + cd $TMP_RESULTS_DIR_BASE + #cd $RUBBOS_RESULTS_DIR_NAME + #scp $RUBBOS_RESULTS_HOST:$RUBBOS_RESULTS_DIR_BASE/calc-sarSummary.prl ../ + #../calc-sarSummary.prl + + #rm -f 20*/*.bin + + #cd ../ + tar zcf $RUBBOS_RESULTS_DIR_NAME.tgz $RUBBOS_RESULTS_DIR_NAME + scp $scp_options $RUBBOS_RESULTS_DIR_NAME.tgz $RUBBOS_RESULTS_HOST:$RUBBOS_RESULTS_DIR_BASE/ +" + +echo "Push the results to DB..." +cd $RUBBOS_RESULTS_DIR_BASE + +ls $RUBBOS_RESULTS_DIR_NAME.tgz +tar zxf $RUBBOS_RESULTS_DIR_NAME.tgz +ls $RUBBOS_RESULTS_DIR_NAME + +echo "Fetch POD env parameters" +source /tmp/vm_dev_setup/hosts.conf +sed -i -e "s/REPLACE_NODE_NAME/$NODE_NAME/g" \ + -e "s/REPLACE_INSTALLER_TYPE/$INSTALLER_TYPE/g" \ + -e "s/REPLACE_VERSION/$BOTTLENECKS_VERSION/g" \ + -e "s#REPLACE_BOTTLENECKS_DB_TARGET#$BOTTLENECKS_DB_TARGET#g" \ + $BOTTLENECKS_TOP/utils/dashboard/dashboard.yaml + +cat $BOTTLENECKS_TOP/utils/dashboard/dashboard.yaml + +python $BOTTLENECKS_TOP/utils/dashboard/process_data.py \ + $RUBBOS_RESULTS_DIR_BASE/$RUBBOS_RESULTS_DIR_NAME \ + $BOTTLENECKS_TOP/utils/dashboard/dashboard.yaml +cd - + +echo "Finish RUBBoS" +touch /tmp/rubbos_finished + +set +x + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/HTTPD_configure.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/HTTPD_configure.sh new file mode 100755 index 00000000..2cacf966 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/HTTPD_configure.sh @@ -0,0 +1,25 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "CONFIGURING APACHE on $HOSTNAME" + +cp $OUTPUT_HOME/apache_conf/httpd.conf $HTTPD_HOME/conf/ +cp $OUTPUT_HOME/apache_conf/workers.properties $HTTPD_HOME/conf/ +cp -r $WORK_HOME/apache_files/rubbos_html $HTTPD_HOME/htdocs/rubbos + +apache > /dev/null 2>&1 + +echo "APACHE CONFIGURED SUCCESSFULLY on $HOSTNAME" + + + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/HTTPD_ignition.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/HTTPD_ignition.sh new file mode 100755 index 00000000..74850b65 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/HTTPD_ignition.sh @@ -0,0 +1,19 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "STARTING APACHE on $HOSTNAME" + +$HTTPD_HOME/bin/apachectl -f $HTTPD_HOME/conf/httpd.conf -k start + +echo "APACHE IS RUNNING on $HOSTNAME" + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/HTTPD_install.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/HTTPD_install.sh new file mode 100755 index 00000000..1370bc77 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/HTTPD_install.sh @@ -0,0 +1,44 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "INSTALLING APACHE on $HOSTNAME" + +echo "Adding new user apache begin" +useradd apache +groupadd apache +usermod -G apache apache +echo "Adding new user apache end" + +mkdir -p $BOTTLENECKS_TOP +chmod 755 $BOTTLENECKS_TOP +mkdir -p $RUBBOS_TOP +chmod 755 $RUBBOS_TOP +mkdir -p $RUBBOS_APP +chmod 755 $RUBBOS_APP + +# apache +tar zxf $SOFTWARE_HOME/$HTTPD_TARBALL --directory=$RUBBOS_APP +cd $HTTPD_INSTALL_FILES +./configure --prefix=$HTTPD_HOME --enable-module=so --enable-so --with-mpm=worker >/dev/null +make >/dev/null +make install >/dev/null + +# mod jk +tar zxf $SOFTWARE_HOME/$MOD_JK_TARBALL --directory=$RUBBOS_APP +tar zxf $SOFTWARE_HOME/$JAVA_TARBALL --directory=$RUBBOS_APP +cd $MOD_JK_INSTALL_CONFIGURE +./configure --with-apxs=$HTTPD_HOME/bin/apxs --enable-jni --with-java-home=$JAVA_HOME >/dev/null +make >/dev/null +make install >/dev/null + +echo "APACHE IS INSTALLED on $HOSTNAME" diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/HTTPD_pkg_prepare.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/HTTPD_pkg_prepare.sh new file mode 100755 index 00000000..4dd116aa --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/HTTPD_pkg_prepare.sh @@ -0,0 +1,50 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +. ../set_bottlenecks_rubbos_env.sh + +scp_options="-o StrictHostKeyChecking=no -o BatchMode=yes" + +# Packages for HTTPD install +if true; then +ssh $HTTPD_HOST "mkdir -p /bottlenecks/rubbos/rubbos_scripts/1-1-1" +scp $scp_options ../set_bottlenecks_rubbos_env.sh $HTTPD_HOST:/bottlenecks/rubbos/rubbos_scripts/1-1-1 + +ssh $HTTPD_HOST "mkdir -p $SOFTWARE_HOME" +scp $scp_options $SOFTWARE_HOME/$HTTPD_TARBALL $HTTPD_HOST:$SOFTWARE_HOME/$HTTPD_TARBALL +scp $scp_options $SOFTWARE_HOME/$MOD_JK_TARBALL $HTTPD_HOST:$SOFTWARE_HOME/$MOD_JK_TARBALL +scp $scp_options $SOFTWARE_HOME/$JAVA_TARBALL $HTTPD_HOST:$SOFTWARE_HOME/$JAVA_TARBALL + +fi + +# Packages for HTTPD rubbos install +if true; then +scp $scp_options $SOFTWARE_HOME/$RUBBOS_TARBALL $HTTPD_HOST:$SOFTWARE_HOME/$RUBBOS_TARBALL +scp $scp_options $SOFTWARE_HOME/flush_cache $HTTPD_HOST:$SOFTWARE_HOME/flush_cache +scp $scp_options $SOFTWARE_HOME/$SYSSTAT_TARBALL $HTTPD_HOST:$SOFTWARE_HOME/$SYSSTAT_TARBALL +ssh $HTTPD_HOST "mkdir -p $OUTPUT_HOME/rubbos_conf" +scp $scp_options $OUTPUT_HOME/rubbos_conf/cpu_mem.sh $HTTPD_HOST:$OUTPUT_HOME/rubbos_conf/cpu_mem.sh +fi + +# Packages for HTTPD configure +if true; then +ssh $HTTPD_HOST "mkdir -p $OUTPUT_HOME/apache_conf" +scp $scp_options $OUTPUT_HOME/apache_conf/httpd.conf $HTTPD_HOST:$OUTPUT_HOME/apache_conf/httpd.conf + +sed -e "s/REPLACE_TOMCAT1_HOST/$TOMCAT1_HOST/g" \ + $OUTPUT_HOME/apache_conf/workers.properties_template \ + > $OUTPUT_HOME/apache_conf/workers.properties +scp $scp_options $OUTPUT_HOME/apache_conf/workers.properties $HTTPD_HOST:$OUTPUT_HOME/apache_conf/workers.properties +rm -rf $OUTPUT_HOME/apache_conf/workers.properties + +ssh $HTTPD_HOST "mkdir -p $WORK_HOME/apache_files" +scp $scp_options -r $WORK_HOME/apache_files/rubbos_html $HTTPD_HOST:$WORK_HOME/apache_files/rubbos_html +fi + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/HTTPD_rubbos_install.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/HTTPD_rubbos_install.sh new file mode 100755 index 00000000..29316c57 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/HTTPD_rubbos_install.sh @@ -0,0 +1,34 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "INSTALLING RUBBOS/SYSSTAT on $HOSTNAME" + +mkdir -p $RUBBOS_APP + +# install RUBBoS +tar xzf $SOFTWARE_HOME/$RUBBOS_TARBALL --directory=$RUBBOS_APP +cp $SOFTWARE_HOME/flush_cache $RUBBOS_HOME/bench/. + +# install sysstat +tar xzf $SOFTWARE_HOME/$SYSSTAT_TARBALL --directory=$RUBBOS_APP + +cd $SYSSTAT_HOME +./configure --prefix=$SYSSTAT_HOME >/dev/null +make >/dev/null 2>&1 +sudo make install >/dev/null + +# install a script to collect statistics data +cp $OUTPUT_HOME/rubbos_conf/cpu_mem.sh $RUBBOS_APP/. +chmod 755 $RUBBOS_APP/cpu_mem.sh + +echo "DONE INSTALLING RUBBOS/SYSSTAT on $HOSTNAME" diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/HTTPD_rubbos_uninstall.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/HTTPD_rubbos_uninstall.sh new file mode 100755 index 00000000..71cefa44 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/HTTPD_rubbos_uninstall.sh @@ -0,0 +1,17 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +cd $SYSSTAT_HOME +sudo make uninstall +sudo rm -rf $SYSSTAT_HOME +rm -rf $RUBBOS_APP diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/HTTPD_stop.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/HTTPD_stop.sh new file mode 100755 index 00000000..515ecea2 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/HTTPD_stop.sh @@ -0,0 +1,20 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "STOPPING APACHE on $HOSTNAME" + +$HTTPD_HOME/bin/apachectl -f $HTTPD_HOME/conf/httpd.conf -k stop + +echo "APACHE IS STOPPED on $HOSTNAME" + + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/HTTPD_uninstall.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/HTTPD_uninstall.sh new file mode 100755 index 00000000..5f6cff8a --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/HTTPD_uninstall.sh @@ -0,0 +1,17 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +rm -rf $HTTPD_INSTALL_FILES +rm -rf $HTTPD_HOME + + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/MYSQL1_configure.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/MYSQL1_configure.sh new file mode 100755 index 00000000..d0ff01ab --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/MYSQL1_configure.sh @@ -0,0 +1,31 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "CONFIGURING MYSQL on $HOSTNAME" + +cd $MYSQL_HOME +chown -R mysql:mysql ./ +cp support-files/my-medium.cnf /etc/my.cnf +#bin/mysqld_safe --user=$BOTTLENECKS_USER & +#bin/mysqladmin -u root password 'new-password' +cp support-files/mysql.server /etc/init.d/mysql.server +/etc/init.d/mysql.server status + +if [ -f "/usr/local/bin/mysql" ]; then +rm -rf /usr/local/bin/mysql +fi + +ln -s $MYSQL_HOME/bin/mysql /usr/local/bin/mysql + +echo "DONE CONFIGURING MYSQL on $HOSTNAME" + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/MYSQL1_ignition.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/MYSQL1_ignition.sh new file mode 100755 index 00000000..946f1007 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/MYSQL1_ignition.sh @@ -0,0 +1,22 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "STARTING MYSQL on $HOSTNAME $(date)" + +cd $MYSQL_HOME +bin/mysqld_safe& +sleep 10 +/etc/init.d/mysql.server status + + +echo "MYSQL IS RUNNING on $HOSTNAME $(date)" diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/MYSQL1_install.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/MYSQL1_install.sh new file mode 100755 index 00000000..b69cae88 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/MYSQL1_install.sh @@ -0,0 +1,41 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "INSTALLING MYSQL on $HOSTNAME" + +mkdir -p $BOTTLENECKS_TOP +chmod 755 $BOTTLENECKS_TOP +mkdir -p $RUBBOS_TOP +chmod 755 $RUBBOS_TOP +mkdir -p $RUBBOS_APP +chmod 755 $RUBBOS_APP + +cd /root +groupadd mysql +useradd -r -g mysql $BOTTLENECKS_USER +tar xzf $SOFTWARE_HOME/$MYSQL_TARBALL --directory=$RUBBOS_APP +cd /usr/local +ln -s $MYSQL_HOME mysql +cd mysql +chown -R $BOTTLENECKS_USER . +chgrp -R mysql . +#scripts/mysql_install_db --verbose --user=$BOTTLENECKS_USER --basedir=$MYSQL_HOME --datadir=$MYSQL_DATA_DIR +scripts/mysql_install_db --user=$BOTTLENECKS_USER +chown -R root . +chown -R $BOTTLENECKS_USER data + +#echo "begin install mysql" +#cd $MYSQL_HOME +#scripts/mysql_install_db --no-defaults --user=root --basedir=$MYSQL_HOME --port=$MYSQL_PORT --datadir=$MYSQL_DATA_DIR --log=$MYSQL_ERR_LOG --pid-file=$MYSQL_PID_FILE --socket=$MYSQL_SOCKET + +echo "DONE INSTALLING MYSQL on $HOSTNAME" diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/MYSQL1_pkg_prepare.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/MYSQL1_pkg_prepare.sh new file mode 100755 index 00000000..cc714164 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/MYSQL1_pkg_prepare.sh @@ -0,0 +1,41 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +source ../set_bottlenecks_rubbos_env.sh + +scp_options="-o StrictHostKeyChecking=no -o BatchMode=yes" + +# Packages for MYSQL1 install +echo "MYSQL PREPARE DEPENDANT LIBRARY BEGIN" +if true; then +ssh $MYSQL1_HOST "mkdir -p /bottlenecks/rubbos/rubbos_scripts/1-1-1" +scp $scp_options ../set_bottlenecks_rubbos_env.sh $MYSQL1_HOST:/bottlenecks/rubbos/rubbos_scripts/1-1-1 + +ssh $MYSQL1_HOST "mkdir -p $SOFTWARE_HOME" +scp $scp_options $SOFTWARE_HOME/$MYSQL_TARBALL $MYSQL1_HOST:$SOFTWARE_HOME/$MYSQL_TARBALL +scp $scp_options $SOFTWARE_HOME/$RUBBOS_DATA_TARBALL $MYSQL1_HOST:$SOFTWARE_HOME/$RUBBOS_DATA_TARBALL + +fi +echo "MYSQL PREPARE DEPENDANT LIBRARY END" + +# Packages for MYSQL1 rubbos install +if true; then +scp $scp_options $SOFTWARE_HOME/$RUBBOS_TARBALL $MYSQL1_HOST:$SOFTWARE_HOME/$RUBBOS_TARBALL +scp $scp_options $SOFTWARE_HOME/flush_cache $MYSQL1_HOST:$SOFTWARE_HOME/flush_cache +scp $scp_options $SOFTWARE_HOME/$SYSSTAT_TARBALL $MYSQL1_HOST:$SOFTWARE_HOME/$SYSSTAT_TARBALL +ssh $MYSQL1_HOST "mkdir -p $OUTPUT_HOME/rubbos_conf" +scp $scp_options $OUTPUT_HOME/rubbos_conf/cpu_mem.sh $MYSQL1_HOST:$OUTPUT_HOME/rubbos_conf/cpu_mem.sh +fi + +# Packages for MYSQL1 configure +if true; then +scp $scp_options $SOFTWARE_HOME/$RUBBOS_DATA_TARBALL $MYSQL1_HOST:/tmp +fi + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/MYSQL1_reset.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/MYSQL1_reset.sh new file mode 100755 index 00000000..da07ab36 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/MYSQL1_reset.sh @@ -0,0 +1,49 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "RESETING MYSQL on $HOSTNAME" +# copy rubbos data files +#tar xzf $RUBBOS_TOP/$RUBBOS_DATA_TARBALL --directory=$MYSQL_HOME/data/rubbos +cd $MYSQL_HOME +bin/mysqld_safe& +sleep 10 +/etc/init.d/mysql.server status + +echo "BEGIN RUBBOS DATABASE GIVE PRIVILEGES" +cat << EOF | mysql -uroot + +DROP DATABASE IF EXISTS rubbos; + +CREATE DATABASE rubbos; + +GRANT ALL PRIVILEGES ON rubbos.* TO 'rubbos'@'%' \ + IDENTIFIED BY 'rubbos'; + flush privileges; +GRANT ALL PRIVILEGES ON rubbos.* TO 'rubbos'@'localhost' \ + IDENTIFIED BY 'rubbos'; + flush privileges; +EOF +echo "END RUBBOS DATABASE GIVE PRIVILEGES" + +echo "BEGIN IMPORT SQL DATA $(date)" +echo "software_home=$SOFTWARE_HOME" +tar xzf $SOFTWARE_HOME/$RUBBOS_DATA_TARBALL --directory /tmp +mysql -uroot rubbos < /tmp/$RUBBOS_DATA_SQL +echo "END IMPORT SQL DATA $(date)" +rm /tmp/$RUBBOS_DATA_SQL + +bin/mysqladmin shutdown + +echo "DONE RESETING MYSQL on $HOSTNAME" +sleep 5 + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/MYSQL1_rubbos_install.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/MYSQL1_rubbos_install.sh new file mode 100755 index 00000000..96a47007 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/MYSQL1_rubbos_install.sh @@ -0,0 +1,34 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "INSTALLING RUBBOS/SYSSTAT on $HOSTNAME" + +mkdir -p $RUBBOS_APP + +# install RUBBoS +tar xzf $SOFTWARE_HOME/$RUBBOS_TARBALL --directory=$RUBBOS_APP +#tar xzf $SOFTWARE_HOME/rubbos_html.tar.gz --directory=$RUBBOS_HOME/Servlet_HTML/ +cp $SOFTWARE_HOME/flush_cache $RUBBOS_HOME/bench/. + +# install sysstat +tar xzf $SOFTWARE_HOME/$SYSSTAT_TARBALL --directory=$RUBBOS_APP +cd $SYSSTAT_HOME +./configure --prefix=$SYSSTAT_HOME >/dev/null +make >/dev/null 2>&1 +sudo make install >/dev/null + +# install a script to collect statistics data +cp $OUTPUT_HOME/rubbos_conf/cpu_mem.sh $RUBBOS_APP/. +chmod 755 $RUBBOS_APP/cpu_mem.sh + +echo "DONE INSTALLING RUBBOS/SYSSTAT on $HOSTNAME" diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/MYSQL1_rubbos_uninstall.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/MYSQL1_rubbos_uninstall.sh new file mode 100755 index 00000000..d5db08a0 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/MYSQL1_rubbos_uninstall.sh @@ -0,0 +1,17 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +cd $SYSSTAT_HOME +sudo make uninstall +sudo rm -rf $SYSSTAT_HOME +rm -rf $RUBBOS_HOME diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/MYSQL1_stop.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/MYSQL1_stop.sh new file mode 100755 index 00000000..a41dfce8 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/MYSQL1_stop.sh @@ -0,0 +1,20 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "STOPPING MYSQL on $HOSTNAME" + +cd $MYSQL_HOME +#bin/mysqladmin --socket=$MYSQL_SOCKET --user=root --password=$ROOT_PASSWORD shutdown +bin/mysqladmin shutdown + +echo "MYSQL IS STOPPED on $HOSTNAME" diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/MYSQL1_uninstall.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/MYSQL1_uninstall.sh new file mode 100755 index 00000000..24aa4fbb --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/MYSQL1_uninstall.sh @@ -0,0 +1,15 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +rm -rf $MYSQL_HOME +#rm -rf $ELBA_TOP diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/TOMCAT1_configure.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/TOMCAT1_configure.sh new file mode 100755 index 00000000..604de026 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/TOMCAT1_configure.sh @@ -0,0 +1,18 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "CONFIGURING TOMCAT on $HOSTNAME" + +cp $OUTPUT_HOME/tomcat_conf/server.xml $CATALINA_HOME/conf/server.xml + +echo "DONE CONFIGURING TOMCAT on $HOSTNAME" diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/TOMCAT1_ignition.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/TOMCAT1_ignition.sh new file mode 100755 index 00000000..88c62bec --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/TOMCAT1_ignition.sh @@ -0,0 +1,19 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "STARTING TOMCAT on $HOSTNAME" + +cd $CATALINA_HOME/bin +./startup.sh + +echo "TOMCAT IS RUNNING on $HOSTNAME" diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/TOMCAT1_install.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/TOMCAT1_install.sh new file mode 100755 index 00000000..ddd52081 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/TOMCAT1_install.sh @@ -0,0 +1,28 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "INSTALLING TOMCAT on $HOSTNAME" + +mkdir -p $BOTTLENECKS_TOP +chmod 755 $BOTTLENECKS_TOP +mkdir -p $RUBBOS_TOP +chmod 755 $RUBBOS_TOP +mkdir -p $RUBBOS_APP +chmod 755 $RUBBOS_APP + +tar xzf $SOFTWARE_HOME/$TOMCAT_TARBALL --directory=$RUBBOS_APP +tar xzf $SOFTWARE_HOME/$JAVA_TARBALL --directory=$RUBBOS_APP +tar xzf $SOFTWARE_HOME/$J2EE_TARBALL --directory=$RUBBOS_APP +tar xzf $SOFTWARE_HOME/$ANT_TARBALL --directory=$RUBBOS_APP + +echo "DONE INSTALLING TOMCAT on $HOSTNAME" diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/TOMCAT1_pkg_prepare.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/TOMCAT1_pkg_prepare.sh new file mode 100755 index 00000000..7d01066f --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/TOMCAT1_pkg_prepare.sh @@ -0,0 +1,59 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +. ../set_bottlenecks_rubbos_env.sh + +scp_options="-o StrictHostKeyChecking=no -o BatchMode=yes" + +# Packages for TOMCAT1 install +if true; then +ssh $TOMCAT1_HOST "mkdir -p /bottlenecks/rubbos/rubbos_scripts/1-1-1" +scp $scp_options ../set_bottlenecks_rubbos_env.sh $TOMCAT1_HOST:/bottlenecks/rubbos/rubbos_scripts/1-1-1 + +ssh $TOMCAT1_HOST "mkdir -p $SOFTWARE_HOME" + +for i in $TOMCAT_TARBALL $JAVA_TARBALL $J2EE_TARBALL $ANT_TARBALL +do + scp $scp_options $SOFTWARE_HOME/$i $TOMCAT1_HOST:$SOFTWARE_HOME/$i +done + +fi + +# Packages for TOMCAT1 rubbos install +if true; then +scp $scp_options $SOFTWARE_HOME/$RUBBOS_TARBALL $TOMCAT1_HOST:$SOFTWARE_HOME/$RUBBOS_TARBALL +scp $scp_options $SOFTWARE_HOME/flush_cache $TOMCAT1_HOST:$SOFTWARE_HOME/flush_cache +scp $scp_options $SOFTWARE_HOME/$SYSSTAT_TARBALL $TOMCAT1_HOST:$SOFTWARE_HOME/$SYSSTAT_TARBALL +ssh $TOMCAT1_HOST "mkdir -p $OUTPUT_HOME/rubbos_conf" +scp $scp_options $OUTPUT_HOME/rubbos_conf/cpu_mem.sh $TOMCAT1_HOST:$OUTPUT_HOME/rubbos_conf/cpu_mem.sh +fi + +# Packages for TOMCAT1 configure +if true; then +ssh $TOMCAT1_HOST "mkdir -p $OUTPUT_HOME/tomcat_conf" +scp $scp_options $OUTPUT_HOME/tomcat_conf/server.xml $TOMCAT1_HOST:$OUTPUT_HOME/tomcat_conf/server.xml +fi + +# Packages for TOMCAT1 rubbosSL configure +if true; then +ssh $TOMCAT1_HOST "mkdir -p $OUTPUT_HOME/rubbos_conf" +sed -e "s#REPLACE_MYSQL1_HOST#$MYSQL1_HOST#g" \ + $OUTPUT_HOME/rubbos_conf/mysql.properties_template \ + > $OUTPUT_HOME/rubbos_conf/mysql.properties +for i in build.properties mysql.properties build.xml Config.java web.xml +do + scp $scp_options $OUTPUT_HOME/rubbos_conf/$i $TOMCAT1_HOST:$OUTPUT_HOME/rubbos_conf/$i +done +rm -rf $OUTPUT_HOME/rubbos_conf/mysql.properties + +ssh $TOMCAT1_HOST "mkdir -p $WORK_HOME/rubbos_files" +scp $scp_options -r $WORK_HOME/rubbos_files/Servlets $TOMCAT1_HOST:$WORK_HOME/rubbos_files/Servlets +fi + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/TOMCAT1_rubbosSL_configure.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/TOMCAT1_rubbosSL_configure.sh new file mode 100755 index 00000000..764ae737 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/TOMCAT1_rubbosSL_configure.sh @@ -0,0 +1,34 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "CONFIGURING RUBBOS SERVLET on $HOSTNAME" + +\cp $OUTPUT_HOME/rubbos_conf/build.properties $RUBBOS_HOME/ + +\cp -r $WORK_HOME/rubbos_files/Servlets $RUBBOS_HOME/ +\cp $OUTPUT_HOME/rubbos_conf/mysql.properties $RUBBOS_HOME/Servlets/ +\cp $OUTPUT_HOME/rubbos_conf/build.xml $RUBBOS_HOME/Servlets/ +\cp $OUTPUT_HOME/rubbos_conf/Config.java $RUBBOS_HOME/Servlets/edu/rice/rubbos/servlets/ +\cp $OUTPUT_HOME/rubbos_conf/web.xml $RUBBOS_HOME/Servlet_HTML/WEB-INF/ + +cd $RUBBOS_HOME/Servlets/edu/rice/rubbos/servlets +sed 's/public static final int BrowseCategoriesPoolSize = 6;/public static final int BrowseCategoriesPoolSize = 12;/g' Config.java > Config.java.tmp +mv Config.java.tmp Config.java + +cd $RUBBOS_HOME/Servlets +/bottlenecks/rubbos/app/apache-ant-1.6.5/bin/ant clean >/dev/null +/bottlenecks/rubbos/app/apache-ant-1.6.5/bin/ant dist >/dev/null +make >/dev/null 2>&1 +cp rubbos.war $CATALINA_HOME/webapps/ + +echo "DONE CONFIGURING RUBBOS SERVLET on $HOSTNAME" diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/TOMCAT1_rubbos_install.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/TOMCAT1_rubbos_install.sh new file mode 100755 index 00000000..e370cffa --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/TOMCAT1_rubbos_install.sh @@ -0,0 +1,37 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "INSTALLING RUBBOS/SYSSTAT on $HOSTNAME" + +mkdir -p $RUBBOS_APP +# install RUBBoS +tar xzf $SOFTWARE_HOME/$RUBBOS_TARBALL --directory=$RUBBOS_APP +mkdir -p $RUBBOS_HOME/bench +cp $SOFTWARE_HOME/flush_cache $RUBBOS_HOME/bench/. + +mkdir -p $SYSSTAT_HOME +# install sysstat +tar xzf $SOFTWARE_HOME/$SYSSTAT_TARBALL --directory=$RUBBOS_APP + +cd $SYSSTAT_HOME +./configure --prefix=$SYSSTAT_HOME >/dev/null +make >/dev/null 2>&1 +sudo make install >/dev/null + +# install a script to collect statistics data +cp $OUTPUT_HOME/rubbos_conf/cpu_mem.sh $RUBBOS_APP/. +chmod 755 $RUBBOS_APP/cpu_mem.sh + +echo "DONE INSTALLING RUBBOS/SYSSTAT on $HOSTNAME" + + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/TOMCAT1_rubbos_uninstall.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/TOMCAT1_rubbos_uninstall.sh new file mode 100755 index 00000000..75eb561c --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/TOMCAT1_rubbos_uninstall.sh @@ -0,0 +1,19 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +cd $SYSSTAT_HOME +sudo make uninstall +sudo rm -rf $SYSSTAT_HOME +rm -rf $RUBBOS_HOME + + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/TOMCAT1_stop.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/TOMCAT1_stop.sh new file mode 100755 index 00000000..9e17d7c9 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/TOMCAT1_stop.sh @@ -0,0 +1,21 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "STOPPING TOMCAT on $HOSTNAME" + +cd $CATALINA_HOME/bin +./shutdown.sh + +echo "TOMCAT IS STOPPED on $HOSTNAME" + + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/TOMCAT1_uninstall.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/TOMCAT1_uninstall.sh new file mode 100755 index 00000000..06bffaef --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/TOMCAT1_uninstall.sh @@ -0,0 +1,16 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +rm -rf $CATALINA_HOME + + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/check_service_status.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/check_service_status.sh new file mode 100755 index 00000000..8434be82 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/check_service_status.sh @@ -0,0 +1,19 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +#ssh_options="" + +ssh root@$TOMCAT1_HOST service tomcat status +ssh root@$HTTPD_HOST service apache2 status +ssh root@$MYSQL1_HOST service mysql status + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/env_preparation.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/env_preparation.sh new file mode 100755 index 00000000..6ecf4832 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/env_preparation.sh @@ -0,0 +1,50 @@ +#!/bin/bash +############################################################################### +# Copyright (c) 2015 Huawei Tech. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +set -ex + +RELENG_REPO=https://gerrit.opnfv.org/gerrit/releng +RELENG_REPO_DIR=/tmp/opnfvrepo/releng +#RELENG_BRANCH=master # branch, tag, sha1 or refspec + +INSTALLER_TYPE=fuel +INSTALLER_IP=10.20.0.2 + +NODE_NAME=opnfv-jump-2 +EXTERNAL_NET=net04_ext + +echo "INFO: Creating openstack credentials .." + +if [ -d $RELENG_REPO_DIR ]; then + rm -rf ${RELENG_REPO_DIR} +fi +mkdir -p ${RELENG_REPO_DIR} +git config --global http.sslVerify false +git clone ${RELENG_REPO} ${RELENG_REPO_DIR} + +# Create openstack credentials +$RELENG_REPO_DIR/utils/fetch_os_creds.sh \ + -d /tmp/openrc \ + -i ${INSTALLER_TYPE} -a ${INSTALLER_IP} + +source /tmp/openrc + +# FIXME: Temporary OPNFV playground hack +if [ "$INSTALLER_TYPE" == "fuel" ]; then + ssh_opts="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" + if sshpass -p r00tme ssh 2>/dev/null $ssh_opts root@${INSTALLER_IP} \ + fuel environment --env 1 | grep opnfv-virt; then + echo "INFO: applying OPNFV playground hack" + export OS_ENDPOINT_TYPE='publicURL' + fi +fi + +export EXTERNAL_NET INSTALLER_TYPE NODE_NAME +set +ex diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/kill_all.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/kill_all.sh new file mode 100755 index 00000000..f91b73fd --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/kill_all.sh @@ -0,0 +1,22 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +$OUTPUT_HOME/scripts/stop_all.sh + +for i in "$BENCHMARK_HOST" "$CLIENT1_HOST" "$CLIENT2_HOST" "$CLIENT3_HOST" "$CLIENT4_HOST" "$HTTPD_HOST" "$TOMCAT1_HOST" "$MYSQL1_HOST" +do + ssh $i " + kill -9 -1 + " +done + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/manualCleanup.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/manualCleanup.sh new file mode 100755 index 00000000..94930eed --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/manualCleanup.sh @@ -0,0 +1,84 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +echo "Uninstalling ...." + +ssh $BENCHMARK_HOST /tmp/BENCHMARK_uninstall.sh +ssh $CLIENT1_HOST /tmp/CLIENT1_uninstall.sh +ssh $CLIENT2_HOST /tmp/CLIENT2_uninstall.sh +ssh $CLIENT3_HOST /tmp/CLIENT3_uninstall.sh +ssh $CLIENT4_HOST /tmp/CLIENT4_uninstall.sh +ssh $HTTPD_HOST /tmp/HTTPD_uninstall.sh +ssh $TOMCAT1_HOST /tmp/TOMCAT1_uninstall.sh +ssh $MYSQL1_HOST /tmp/MYSQL1_uninstall.sh + +echo "Cleaning up ...." +for i in "$BENCHMARK_HOST" "$CLIENT1_HOST" "$CLIENT2_HOST" "$CLIENT3_HOST" "$CLIENT4_HOST" "$HTTPD_HOST" "$TOMCAT1_HOST" "$MYSQL1_HOST" +do + ssh $i " + sudo \rm -r $RUBBOS_TOP + " +done + + +ssh $CONTROL_HOST rm -f /tmp/CONTROL_checkScp_exec.sh +ssh $CONTROL_HOST rm -f /tmp/CONTROL_emulabConf_exec.sh +ssh $CONTROL_HOST rm -f /tmp/CONTROL_rubbos_exec.sh +ssh $BENCHMARK_HOST rm -f /tmp/BENCHMARK_rubbos_install.sh +ssh $BENCHMARK_HOST rm -f /tmp/BENCHMARK_install.sh +ssh $BENCHMARK_HOST rm -f /tmp/BENCHMARK_configure.sh +ssh $BENCHMARK_HOST rm -f /tmp/BENCHMARK_uninstall.sh +ssh $BENCHMARK_HOST rm -f /tmp/BENCHMARK_rubbos_uninstall.sh +ssh $CLIENT1_HOST rm -f /tmp/CLIENT1_rubbos_install.sh +ssh $CLIENT1_HOST rm -f /tmp/CLIENT1_install.sh +ssh $CLIENT1_HOST rm -f /tmp/CLIENT1_configure.sh +ssh $CLIENT1_HOST rm -f /tmp/CLIENT1_uninstall.sh +ssh $CLIENT1_HOST rm -f /tmp/CLIENT1_rubbos_uninstall.sh +ssh $CLIENT2_HOST rm -f /tmp/CLIENT2_rubbos_install.sh +ssh $CLIENT2_HOST rm -f /tmp/CLIENT2_install.sh +ssh $CLIENT2_HOST rm -f /tmp/CLIENT2_configure.sh +ssh $CLIENT2_HOST rm -f /tmp/CLIENT2_uninstall.sh +ssh $CLIENT2_HOST rm -f /tmp/CLIENT2_rubbos_uninstall.sh +ssh $CLIENT3_HOST rm -f /tmp/CLIENT3_rubbos_install.sh +ssh $CLIENT3_HOST rm -f /tmp/CLIENT3_install.sh +ssh $CLIENT3_HOST rm -f /tmp/CLIENT3_configure.sh +ssh $CLIENT3_HOST rm -f /tmp/CLIENT3_uninstall.sh +ssh $CLIENT3_HOST rm -f /tmp/CLIENT3_rubbos_uninstall.sh +ssh $CLIENT4_HOST rm -f /tmp/CLIENT4_rubbos_install.sh +ssh $CLIENT4_HOST rm -f /tmp/CLIENT4_install.sh +ssh $CLIENT4_HOST rm -f /tmp/CLIENT4_configure.sh +ssh $CLIENT4_HOST rm -f /tmp/CLIENT4_uninstall.sh +ssh $CLIENT4_HOST rm -f /tmp/CLIENT4_rubbos_uninstall.sh +ssh $HTTPD_HOST rm -f /tmp/HTTPD_install.sh +ssh $HTTPD_HOST rm -f /tmp/HTTPD_rubbos_install.sh +ssh $HTTPD_HOST rm -f /tmp/HTTPD_configure.sh +ssh $HTTPD_HOST rm -f /tmp/HTTPD_ignition.sh +ssh $HTTPD_HOST rm -f /tmp/HTTPD_stop.sh +ssh $HTTPD_HOST rm -f /tmp/HTTPD_rubbos_uninstall.sh +ssh $HTTPD_HOST rm -f /tmp/HTTPD_uninstall.sh +ssh $TOMCAT1_HOST rm -f /tmp/TOMCAT1_install.sh +ssh $TOMCAT1_HOST rm -f /tmp/TOMCAT1_rubbos_install.sh +ssh $TOMCAT1_HOST rm -f /tmp/TOMCAT1_configure.sh +ssh $TOMCAT1_HOST rm -f /tmp/TOMCAT1_rubbosSL_configure.sh +ssh $TOMCAT1_HOST rm -f /tmp/TOMCAT1_ignition.sh +ssh $TOMCAT1_HOST rm -f /tmp/TOMCAT1_stop.sh +ssh $TOMCAT1_HOST rm -f /tmp/TOMCAT1_rubbos_uninstall.sh +ssh $TOMCAT1_HOST rm -f /tmp/TOMCAT1_uninstall.sh +ssh $MYSQL1_HOST rm -f /tmp/MYSQL1_install.sh +ssh $MYSQL1_HOST rm -f /tmp/MYSQL1_rubbos_install.sh +ssh $MYSQL1_HOST rm -f /tmp/MYSQL1_configure.sh +ssh $MYSQL1_HOST rm -f /tmp/MYSQL1_reset.sh +ssh $MYSQL1_HOST rm -f /tmp/MYSQL1_ignition.sh +ssh $MYSQL1_HOST rm -f /tmp/MYSQL1_stop.sh +ssh $MYSQL1_HOST rm -f /tmp/MYSQL1_rubbos_uninstall.sh +ssh $MYSQL1_HOST rm -f /tmp/MYSQL1_uninstall.sh diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/reset_all.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/reset_all.sh new file mode 100755 index 00000000..eeeab8b9 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/reset_all.sh @@ -0,0 +1,16 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +ssh $MYSQL1_HOST /tmp/MYSQL1_reset.sh & +sleep 120 + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/run.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/run.sh new file mode 100755 index 00000000..47cec3ad --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/run.sh @@ -0,0 +1,153 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +set -x + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1/scripts +# Transfer all sub scripts to target hosts +echo "*** scp scripts *************************************************" + +scp_options="-o StrictHostKeyChecking=no -o BatchMode=yes" + +scp $scp_options CONTROL_rubbos_exec.sh $CONTROL_HOST:/tmp + +if true; then +for script in BENCHMARK_rubbos_install.sh BENCHMARK_install.sh \ + BENCHMARK_configure.sh BENCHMARK_uninstall.sh \ + BENCHMARK_rubbos_uninstall.sh +do + scp $scp_options $script $BENCHMARK_HOST:/tmp +done +fi + +if true; then +for i in {1..4} +do + for script in CLIENT${i}_rubbos_install.sh CLIENT${i}_install.sh \ + CLIENT${i}_configure.sh CLIENT${i}_uninstall.sh \ + CLIENT${i}_rubbos_uninstall.sh + do + CLIENT_HOST=`printenv CLIENT${i}_HOST` + scp $scp_options $script $CLIENT_HOST:/tmp + done +done +fi + +if true; then +for script in HTTPD_install.sh HTTPD_rubbos_install.sh \ + HTTPD_configure.sh HTTPD_ignition.sh \ + HTTPD_stop.sh HTTPD_rubbos_uninstall.sh \ + HTTPD_uninstall.sh +do + scp $scp_options $script $HTTPD_HOST:/tmp +done +fi + +if true; then +for script in TOMCAT1_install.sh TOMCAT1_rubbos_install.sh \ + TOMCAT1_configure.sh TOMCAT1_rubbosSL_configure.sh \ + TOMCAT1_ignition.sh TOMCAT1_stop.sh \ + TOMCAT1_rubbos_uninstall.sh TOMCAT1_uninstall.sh +do + scp $scp_options $script $TOMCAT1_HOST:/tmp +done +fi + +if true; then +for script in MYSQL1_install.sh MYSQL1_rubbos_install.sh \ + MYSQL1_configure.sh MYSQL1_reset.sh \ + MYSQL1_ignition.sh MYSQL1_stop.sh \ + MYSQL1_rubbos_uninstall.sh \ + MYSQL1_uninstall.sh +do + scp $scp_options $script $MYSQL1_HOST:/tmp +done +fi + +# Prepare software packages +echo "*** prepare software packages ***" +./MYSQL1_pkg_prepare.sh +./TOMCAT1_pkg_prepare.sh +./HTTPD_pkg_prepare.sh +./BENCHMARK_pkg_prepare.sh +for i in {1..4} +do + ./CLIENT${i}_pkg_prepare.sh +done + +# Install and Configure and run Apache, Tomcat, CJDBC, and MySQL +echo "*** install scripts & configure & execute ***********************" + +ssh root@$MYSQL1_HOST chmod 770 /tmp/MYSQL1_install.sh +ssh $MYSQL1_HOST /tmp/MYSQL1_install.sh + +ssh root@$TOMCAT1_HOST chmod 770 /tmp/TOMCAT1_install.sh +ssh $TOMCAT1_HOST /tmp/TOMCAT1_install.sh + +ssh root@$HTTPD_HOST chmod 770 /tmp/HTTPD_install.sh +ssh $HTTPD_HOST /tmp/HTTPD_install.sh + +ssh root@$MYSQL1_HOST chmod 770 /tmp/MYSQL1_rubbos_install.sh +ssh $MYSQL1_HOST /tmp/MYSQL1_rubbos_install.sh + +ssh root@$TOMCAT1_HOST chmod 770 /tmp/TOMCAT1_rubbos_install.sh +ssh $TOMCAT1_HOST /tmp/TOMCAT1_rubbos_install.sh + +ssh root@$HTTPD_HOST chmod 770 /tmp/HTTPD_rubbos_install.sh +ssh $HTTPD_HOST /tmp/HTTPD_rubbos_install.sh + +ssh root@$BENCHMARK_HOST chmod 770 /tmp/BENCHMARK_rubbos_install.sh +ssh $BENCHMARK_HOST /tmp/BENCHMARK_rubbos_install.sh + +for i in {1..4} +do + CLIENT_HOST=`printenv CLIENT${i}_HOST` + ssh root@$CLIENT_HOST chmod 770 /tmp/CLIENT${i}_rubbos_install.sh + ssh $CLIENT_HOST /tmp/CLIENT${i}_rubbos_install.sh +done + +ssh root@$BENCHMARK_HOST chmod 770 /tmp/BENCHMARK_install.sh +ssh $BENCHMARK_HOST /tmp/BENCHMARK_install.sh + +for i in {1..4} +do + CLIENT_HOST=`printenv CLIENT${i}_HOST` + ssh root@$CLIENT_HOST chmod 770 /tmp/CLIENT${i}_install.sh + ssh $CLIENT_HOST /tmp/CLIENT${i}_install.sh +done + +ssh root@$MYSQL1_HOST chmod 770 /tmp/MYSQL1_configure.sh +ssh $MYSQL1_HOST /tmp/MYSQL1_configure.sh & +sleep 60 + +ssh root@$TOMCAT1_HOST chmod 770 /tmp/TOMCAT1_configure.sh +ssh $TOMCAT1_HOST /tmp/TOMCAT1_configure.sh + +ssh root@$HTTPD_HOST chmod 770 /tmp/HTTPD_configure.sh +ssh $HTTPD_HOST /tmp/HTTPD_configure.sh + +ssh root@$BENCHMARK_HOST chmod 770 /tmp/BENCHMARK_configure.sh +ssh $BENCHMARK_HOST /tmp/BENCHMARK_configure.sh + +for i in {1..4} +do + CLIENT_HOST=`printenv CLIENT${i}_HOST` + ssh root@$CLIENT_HOST chmod 770 /tmp/CLIENT${i}_configure.sh + ssh $CLIENT_HOST /tmp/CLIENT${i}_configure.sh +done + +ssh root@$TOMCAT1_HOST chmod 770 /tmp/TOMCAT1_rubbosSL_configure.sh +ssh $TOMCAT1_HOST /tmp/TOMCAT1_rubbosSL_configure.sh + +ssh $CONTROL_HOST /tmp/CONTROL_rubbos_exec.sh + +set +x diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/start_all.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/start_all.sh new file mode 100755 index 00000000..e47b54d3 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/start_all.sh @@ -0,0 +1,21 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +ssh $MYSQL1_HOST /tmp/MYSQL1_ignition.sh & +sleep 20 + +ssh $TOMCAT1_HOST /tmp/TOMCAT1_ignition.sh +sleep 10 + +ssh $HTTPD_HOST /tmp/HTTPD_ignition.sh +sleep 5 diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/stop_all.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/stop_all.sh new file mode 100755 index 00000000..8e57b2b2 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/scripts/stop_all.sh @@ -0,0 +1,18 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +cd /bottlenecks/rubbos/rubbos_scripts/1-1-1 +source set_bottlenecks_rubbos_env.sh + +ssh $HTTPD_HOST /tmp/HTTPD_stop.sh + +ssh $TOMCAT1_HOST /tmp/TOMCAT1_stop.sh + +ssh $MYSQL1_HOST /tmp/MYSQL1_stop.sh diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/set_bottlenecks_rubbos_env.sh b/testsuites/rubbos/rubbos_scripts/1-1-1/set_bottlenecks_rubbos_env.sh new file mode 100755 index 00000000..0d175eba --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/set_bottlenecks_rubbos_env.sh @@ -0,0 +1,95 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +set -o allexport + +# HOSTS +CONTROL_HOST=REPLACE_CONTROL_HOST +HTTPD_HOST=REPLACE_HTTPD_HOST +MYSQL1_HOST=REPLACE_MYSQL1_HOST +TOMCAT1_HOST=REPLACE_TOMCAT1_HOST +CLIENT1_HOST=REPLACE_CLIENT1_HOST +CLIENT2_HOST=REPLACE_CLIENT2_HOST +CLIENT3_HOST=REPLACE_CLIENT3_HOST +CLIENT4_HOST=REPLACE_CLIENT4_HOST +BENCHMARK_HOST=REPLACE_BENCHMARK_HOST + +# Experiment name on OPNFV +BOTTLNECKS_NAME=bottlenecks + +# Directories from which files are copied +WORK_HOME=/bottlenecks/rubbos/rubbos_scripts/rubbosMulini6 +OUTPUT_HOME=/bottlenecks/rubbos/rubbos_scripts/1-1-1 +SOFTWARE_HOME=/bottlenecks/rubbos/app_tools + +# Output directory for results of RUBBoS benchmark +RUBBOS_RESULTS_HOST=${CONTROL_HOST} +RUBBOS_RESULTS_DIR_BASE=/bottlenecks/rubbos/rubbos_results +RUBBOS_RESULTS_DIR_NAME=2015-01-20T081237-0700 + +# Target directories +BOTTLENECKS_TOP=/bottlenecks +RUBBOS_TOP=$BOTTLENECKS_TOP/rubbos +RUBBOS_APP=$RUBBOS_TOP/app +TMP_RESULTS_DIR_BASE=$RUBBOS_TOP/tmp_results +RUBBOS_HOME=$RUBBOS_APP/RUBBoS +SYSSTAT_HOME=$RUBBOS_APP/sysstat-9.0.6 + +HTTPD_HOME=$RUBBOS_APP/apache2 +HTTPD_INSTALL_FILES=$RUBBOS_APP/httpd-2.0.64 +MOD_JK_INSTALL_FILES=$RUBBOS_APP/tomcat-connectors-1.2.32-src +MOD_JK_INSTALL_CONFIGURE=$MOD_JK_INSTALL_FILES/native +CATALINA_HOME=$RUBBOS_APP/apache-tomcat-5.5.17 +SERVLET_API_PATH=$CATALINA_HOME/common/lib/servlet-api.jar +CATALINA_BASE=$CATALINA_HOME +CJDBC_HOME= + +MYSQL_HOME=$RUBBOS_APP/mysql-5.5.46-linux2.6-x86_64 + +# Java & Ant +JAVA_HOME=$RUBBOS_APP/jdk1.6.0_27 +JAVA_OPTS="-Xmx1300m" +J2EE_HOME=$RUBBOS_APP/j2sdkee1.3.1 +ANT_HOME=$RUBBOS_APP/apache-ant-1.6.5 + +# Tarballs +JAVA_TARBALL=jdk1.6.0_27.tar.gz +J2EE_TARBALL=j2sdkee1.3.1.jar.gz +ANT_TARBALL=apache-ant-1.6.5.tar.gz +SYSSTAT_TARBALL=sysstat-9.0.6.tar.gz +HTTPD_TARBALL=httpd-2.0.64.tar.gz +MOD_JK_TARBALL=tomcat-connectors-1.2.32-src.tar.gz +TOMCAT_TARBALL=apache-tomcat-5.5.17.tar.gz +CJDBC_TARBALL= +MYSQL_TARBALL=mysql-5.5.46-linux2.6-x86_64.tar.gz +RUBBOS_TARBALL=RUBBoS-servlets.tar.gz +RUBBOS_DATA_TARBALL=rubbos_data.sql.tar.gz +RUBBOS_DATA_SQL=rubbos_data.sql +RUBBOS_DATA_TEXTFILES_TARBALL=smallDB-rubbos-modified.tgz + +# for MySQL +MYSQL_CONNECTOR=mysql-connector-java-5.1.7-bin.jar +MYSQL_PORT=3313 +MYSQL_SOCKET=$MYSQL_HOME/mysql.sock +MYSQL_DATA_DIR=$MYSQL_HOME/data +MYSQL_ERR_LOG=$MYSQL_HOME/data/mysql.log +MYSQL_PID_FILE=$MYSQL_HOME/run/mysqld.pid + +# for DBs & C-JDBC +ROOT_PASSWORD=new-password +BOTTLENECKS_USER=mysql +BOTTLENECKS_PASSWORD=mysql + + +CLASSPATH=$CLASSPATH:$JONAS_ROOT/bin/unix/registry:$JAVA_HOME:$JAVA_HOME/lib/tools.jar:$SERVLET_API_PATH:. + +PATH=$JAVA_HOME/bin:$JONAS_ROOT/bin/unix:$ANT_HOME/bin:$CATALINA_HOME/bin:$PATH +set +o allexport + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/sysstat_conf/CONFIG b/testsuites/rubbos/rubbos_scripts/1-1-1/sysstat_conf/CONFIG new file mode 100644 index 00000000..24bfca3a --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/sysstat_conf/CONFIG @@ -0,0 +1,46 @@ + +# Configuration file for sysstat +# (C) 2000-2006 Sebastien GODARD (sysstat <at> wanadoo.fr) + +# Directories +PREFIX = /bottlenecks/rubbos/app/sysstat-9.0.6 +SA_LIB_DIR = /bottlenecks/rubbos/app/sysstat-9.0.6/lib/sa +SADC_PATH = ${SA_LIB_DIR}/sadc +SA_DIR = /bottlenecks/rubbos/app/sysstat-9.0.6/var/log/sa +MAN_DIR = /bottlenecks/rubbos/app/sysstat-9.0.6/man +CLEAN_SA_DIR = n +YESTERDAY = +HISTORY = 7 + +DFLAGS = +SAS_DFLAGS = + +ENABLE_NLS = y +ENABLE_SMP_WRKARD = n + +ifeq ($(ENABLE_NLS),y) +# NLS (National Language Support) +REQUIRE_NLS = -DUSE_NLS -DPACKAGE=\"$(PACKAGE)\" -DLOCALEDIR=\"$(PREFIX)/share/locale\" +endif +ifdef REQUIRE_NLS + DFLAGS += $(REQUIRE_NLS) +endif + +ifeq ($(ENABLE_SMP_WRKARD),y) +# Uncomment this to enable workaround for Linux kernel SMP race condition +SAS_DFLAGS += -DSMP_RACE +endif + +# Man page group +MAN_GROUP = man + +# Crontab owner +CRON_OWNER = adm + +# Run-command directories +RC_DIR = /etc +INIT_DIR = /etc/init.d +INITD_DIR = init.d + +INSTALL_CRON = n + diff --git a/testsuites/rubbos/rubbos_scripts/1-1-1/tomcat_conf/server.xml b/testsuites/rubbos/rubbos_scripts/1-1-1/tomcat_conf/server.xml new file mode 100644 index 00000000..525c4398 --- /dev/null +++ b/testsuites/rubbos/rubbos_scripts/1-1-1/tomcat_conf/server.xml @@ -0,0 +1,79 @@ + +<Server port="8005" shutdown="SHUTDOWN"> + + <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/> + + <!-- Global JNDI resources --> + <GlobalNamingResources> + + <!-- Test entry for demonstration purposes --> + <Environment name="simpleValue" type="java.lang.Integer" value="30"/> + + <!-- Editable user database that can also be used by + UserDatabaseRealm to authenticate users --> + <Resource name="UserDatabase" auth="Container" + type="org.apache.catalina.UserDatabase" + description="User database that can be updated and saved" + factory="org.apache.catalina.users.MemoryUserDatabaseFactory" + pathname="conf/tomcat-users.xml" /> + + </GlobalNamingResources> + + + <!-- Define the Tomcat Stand-Alone Service --> + <Service name="Catalina"> + + <!-- A "Connector" represents an endpoint by which requests are received + and responses are returned. Each Connector passes requests on to the + associated "Container" (normally an Engine) for processing. + --> + + <!-- Define a non-SSL HTTP/1.1 Connector on port 2117 (default 8080) --> + <Connector port="8080" maxHttpHeaderSize="8192" + maxThreads="330" minSpareThreads="5" maxSpareThreads="50" + enableLookups="false" redirectPort="8443" acceptCount="6000" + connectionTimeout="20000" disableUploadTimeout="true" /> + + <!-- Define an AJP 1.3 Connector on port 8009 --> + <Connector port="8009" + maxThreads="330" minSpareThreads="5" maxSpareThreads="50" + acceptCount="6000" redirectPort="8443" protocol="AJP/1.3" /> + + <!-- Define a Proxied HTTP/1.1 Connector on port 8082 --> + <!-- See proxy documentation for more information about using this. --> + <!-- + <Connector port="8082" + maxThreads="150" minSpareThreads="25" maxSpareThreads="75" + enableLookups="false" acceptCount="100" connectionTimeout="20000" + proxyPort="80" disableUploadTimeout="true" /> + --> + + <!-- An Engine represents the entry point (within Catalina) that processes + every request. The Engine implementation for Tomcat stand alone + analyzes the HTTP headers included with the request, and passes them + on to the appropriate Host (virtual host). --> + + <!-- Define the top level container in our container hierarchy --> + <Engine jvmRoute="TOMCAT1" name="Catalina" defaultHost="localhost"> + + <Realm className="org.apache.catalina.realm.UserDatabaseRealm" + resourceName="UserDatabase"/> + + <!-- Define the default virtual host --> + + <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> + + <!-- <Context path="" docBase="webapps" debug="0" reloadable="true"/> --> + + <Valve className="org.apache.catalina.valves.AccessLogValve" + directory="logs" prefix="localhost_access_log." suffix=".txt" + pattern="common" resolveHosts="false"/> + </Host> + + + </Engine> + + </Service> + +</Server> + diff --git a/testsuites/rubbos/run_rubbos.sh b/testsuites/rubbos/run_rubbos.sh new file mode 100755 index 00000000..e69de29b --- /dev/null +++ b/testsuites/rubbos/run_rubbos.sh diff --git a/testsuites/rubbos/testcase_cfg/rubbos_1-1-1.yaml b/testsuites/rubbos/testcase_cfg/rubbos_1-1-1.yaml new file mode 100755 index 00000000..e69de29b --- /dev/null +++ b/testsuites/rubbos/testcase_cfg/rubbos_1-1-1.yaml diff --git a/testsuites/rubbos/testcase_cfg/rubbos_1-2-1.yaml b/testsuites/rubbos/testcase_cfg/rubbos_1-2-1.yaml new file mode 100755 index 00000000..e69de29b --- /dev/null +++ b/testsuites/rubbos/testcase_cfg/rubbos_1-2-1.yaml diff --git a/testsuites/rubbos/testsuite_story/rubbos_story1 b/testsuites/rubbos/testsuite_story/rubbos_story1 new file mode 100755 index 00000000..f3e7f31a --- /dev/null +++ b/testsuites/rubbos/testsuite_story/rubbos_story1 @@ -0,0 +1,2 @@ +rubbos_1-1-1 +rubbos_1-2-1 diff --git a/testsuites/rubbos/testsuite_story/rubbos_story2 b/testsuites/rubbos/testsuite_story/rubbos_story2 new file mode 100755 index 00000000..40eb5f02 --- /dev/null +++ b/testsuites/rubbos/testsuite_story/rubbos_story2 @@ -0,0 +1,2 @@ +rubbos_1-1-1 +rubbos_1-1-2 |