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