coren has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/130429

Change subject: Front-end support for tomcat webservices.
......................................................................

Front-end support for tomcat webservices.

Bug: 54845
Change-Id: I021a82b97b07de03830b3a81dabf222cb4ff2c0e
---
A misctools/setup-tomcat
M misctools/webservice
2 files changed, 53 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/labs/toollabs 
refs/changes/29/130429/1

diff --git a/misctools/setup-tomcat b/misctools/setup-tomcat
new file mode 100755
index 0000000..1b38a75
--- /dev/null
+++ b/misctools/setup-tomcat
@@ -0,0 +1,29 @@
+#! /bin/bash
+
+prefix=$(/bin/cat /etc/wmflabs-project)
+tool=$(/usr/bin/id -nu|sed -e "s/^$prefix.//")
+user="$prefix.$tool"
+
+home=$(getent passwd $user | cut -d : -f 6 | sed -e 's/\/$//')
+if [ "$(getent group $user | cut -d : -f 1)" != "$user" ]; then
+    echo "$0: $tool does not appear to be a tool" >&2
+    exit 1
+fi
+
+if [ -d "$home/public_tomcat" ]; then
+    echo "This tool already has a public_tomcat directory" >&2
+    exit 1
+fi
+
+echo "Setting up your public_tomcat directory..."
+/usr/bin/qsub -sync y -o /dev/null -e /dev/null -i /dev/null -q 
"webgrid-tomcat" -l h_vmem=512m -b y -N "setup-$tool" tomcat7-instance-create 
public_tomcat >/dev/null
+
+conf="$home/public_tomcat/conf/server.xml"
+if [ -r "$conf" ]; then
+    echo "All done."
+    echo "You can edit the configuration in $conf as needed."
+else
+    echo "How odd. Something went wrong. ($conf)" >&2
+    exit 1
+fi
+
diff --git a/misctools/webservice b/misctools/webservice
index a7503d6..cd57748 100755
--- a/misctools/webservice
+++ b/misctools/webservice
@@ -1,22 +1,38 @@
 #! /bin/bash
 
-prefix=(/bin/cat /etc/wmflabs-project)
+prefix=$(/bin/cat /etc/wmflabs-project)
 tool=$(/usr/bin/id -nu|sed -e "s/^$prefix.//")
 user="$prefix.$tool"
+server="lighttpd"
+public="public_html"
+
+case "$1" in
+  -tomcat)
+    server="tomcat"
+    public="public_tomcat"
+    shift
+    ;;
+  -lighttpd)
+    shift
+    ;;
+  -*)
+    echo "Unknown webservice type $1" >&2
+    exit 1
+    ;;
+esac
+
 home=$(getent passwd $user | cut -d : -f 6 | sed -e 's/\/$//')
 if [ "$(getent group $user | cut -d : -f 1)" != "$user" ]; then
     echo "$0: $tool does not appear to be a tool" >&2
     exit 1
 fi
-spool="/var/run/lighttpd"
-runbase="$spool/$tool"
 
-if [ "$home" = "" -o ! -d "$home/public_html" ]; then
-    echo "$tool does not have a public_html" >&2
+if [ "$home" = "" -o ! -d "$home/$public" ]; then
+    echo "$tool does not have a $public" >&2
     exit 1
 fi
 
-job=$(qstat -q 'webgrid' -j "httpd-$tool" 2>&1 | grep job_number: | sed -e 
's/^.*  *\(.*\)$/\1/')
+job=$(qstat -q "webgrid-$server" -j "$server-$tool" 2>&1 | grep job_number: | 
sed -e 's/^.*  *\(.*\)$/\1/')
 if [ "$job" != "" ]; then
     si=$(qstat -j "$job" 2>&1 | grep 'scheduling info': | sed -e 's/^.*: 
*\(.*\)$/\1/')
 fi
@@ -37,7 +53,7 @@
         if [ "$job" != "" ]; then
             echo "Webservice already running."
         else
-            if qsub -e $home/error.log -o $home/error.log -i /dev/null -q 
webgrid -l h_vmem=4g -b y -N "httpd-$tool" /usr/local/bin/tool-lighttpd 
>/dev/null 2>&1 ; then
+            if qsub -e $home/error.log -o $home/error.log -i /dev/null -q 
"webgrid-$server" -l h_vmem=4g -b y -N "$server-$tool" 
/usr/local/bin/tool-$server >/dev/null 2>&1 ; then
                 echo " started."
             else
                 echo " failed."
@@ -53,7 +69,7 @@
         else
             echo -n .
         fi
-        if qsub -e $home/error.log -o /dev/null -i /dev/null -q webgrid -l 
h_vmem=4g -b y -N "httpd-$tool" /usr/local/bin/tool-lighttpd >/dev/null 2>&1; 
then
+        if qsub -e $home/error.log -o /dev/null -i /dev/null -q 
"webgrid-$server" -l h_vmem=4g -b y -N "$server-$tool" 
/usr/local/bin/tool-$server >/dev/null 2>&1; then
             echo " restarted."
         else
             echo " failed."

-- 
To view, visit https://gerrit.wikimedia.org/r/130429
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I021a82b97b07de03830b3a81dabf222cb4ff2c0e
Gerrit-PatchSet: 1
Gerrit-Project: labs/toollabs
Gerrit-Branch: master
Gerrit-Owner: coren <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to