Migrate the remaining bots in EC2 to Google Compute Engine
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 12 Jan 2013 20:16:16 +0000 (20:16 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 12 Jan 2013 20:16:16 +0000 (20:16 +0000)
https://bugs.webkit.org/show_bug.cgi?id=106005

Patch by Alan Cutter <alancutter@chromium.org> on 2013-01-12
Reviewed by Eric Seidel.

Updated bot scripts for launching feeder-queue, style-queue and sheriffbot on GCE.

* EWSTools/GoogleComputeEngine/build-feeder-style-sheriffbot.sh: Copied from Tools/EWSTools/build-repo.sh.
* EWSTools/boot.sh:
* EWSTools/build-repo.sh:
* EWSTools/start-queue.sh:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@139552 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Tools/ChangeLog
Tools/EWSTools/GoogleComputeEngine/build-feeder-style-sheriffbot.sh [new file with mode: 0755]
Tools/EWSTools/boot.sh
Tools/EWSTools/build-repo.sh
Tools/EWSTools/start-queue.sh

index c9bbf93..5e15936 100644 (file)
@@ -1,3 +1,17 @@
+2013-01-12  Alan Cutter  <alancutter@chromium.org>
+
+        Migrate the remaining bots in EC2 to Google Compute Engine
+        https://bugs.webkit.org/show_bug.cgi?id=106005
+
+        Reviewed by Eric Seidel.
+
+        Updated bot scripts for launching feeder-queue, style-queue and sheriffbot on GCE.
+
+        * EWSTools/GoogleComputeEngine/build-feeder-style-sheriffbot.sh: Copied from Tools/EWSTools/build-repo.sh.
+        * EWSTools/boot.sh:
+        * EWSTools/build-repo.sh:
+        * EWSTools/start-queue.sh:
+
 2013-01-12  Jochen Eisinger  <jochen@chromium.org>
 
         [chromium] move inspector related methods to TestRunner library
 2013-01-12  Jochen Eisinger  <jochen@chromium.org>
 
         [chromium] move inspector related methods to TestRunner library
diff --git a/Tools/EWSTools/GoogleComputeEngine/build-feeder-style-sheriffbot.sh b/Tools/EWSTools/GoogleComputeEngine/build-feeder-style-sheriffbot.sh
new file mode 100755 (executable)
index 0000000..51ceecd
--- /dev/null
@@ -0,0 +1,64 @@
+#!/bin/sh
+# Copyright (c) 2012 Google Inc. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+#     * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#     * Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following disclaimer
+# in the documentation and/or other materials provided with the
+# distribution.
+#     * Neither the name of Google Inc. nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+if [[ $# -ne 1 ]];then
+echo "Usage: build-feeder-style-sheriffbot.sh BOT_NUMBER"
+exit 1
+fi
+
+BOT_ID=gce-feeder-$1
+BUGZILLA_USERNAME=webkit.review.bot@gmail.com
+read -s -p "Bugzilla Password: " BUGZILLA_PASSWORD && echo
+read -s -p "sheriffbot IRC Password: " IRC_PASSWORD && echo
+
+PROJECT=google.com:webkit
+# FIXME: We should use gcutil to find a zone that's actually up.
+ZONE=us-east1-a
+IMAGE=projects/google/images/ubuntu-10-04-v20120621
+MACHINE_TYPE=n1-standard-4-d
+
+gcutil --project=$PROJECT addinstance $BOT_ID --machine_type=$MACHINE_TYPE --image=$IMAGE --zone=$ZONE --wait_until_running
+
+echo "Sleeping for 30s to let the server spin up ssh..."
+sleep 30
+
+gcutil --project=$PROJECT ssh $BOT_ID "
+    sudo apt-get install subversion -y &&
+    svn checkout http://svn.webkit.org/repository/webkit/trunk/Tools/EWSTools tools &&
+    cd tools &&
+    bash build-vm.sh &&
+    bash build-repo.sh feeder-queue $BUGZILLA_USERNAME $BUGZILLA_PASSWORD &&
+    cp -r /mnt/git/webkit-feeder-queue /mnt/git/webkit-style-queue &&
+    cp -r /mnt/git/webkit-feeder-queue /mnt/git/webkit-sheriff-bot &&
+    bash build-boot-cmd.sh \"\\
+screen -t fq ./start-queue.sh feeder-queue $BOT_ID 10
+screen -t sq ./start-queue.sh style-queue $BOT_ID 10
+screen -t sb ./start-queue.sh sheriff-bot $BOT_ID 180 --irc-password=$IRC_PASSWORD\"
+    bash boot.sh
+"
index fb5aadd..787e619 100755 (executable)
@@ -27,4 +27,9 @@
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-screen -d -m -c ~/tools/screen-config
+CWD=$(pwd)
+
+cd ~/tools
+screen -d -m -c ./screen-config
+
+cd $CWD
index 83bde40..65b0d84 100755 (executable)
@@ -27,7 +27,7 @@
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-if [[ $# -ne 4 ]];then
+if [[ $# -ne 3 ]];then
 echo "Usage: build-repo.sh QUEUE_TYPE BUGZILLA_USERNAME BUGZILLA_PASSWORD"
 exit 1
 fi
 echo "Usage: build-repo.sh QUEUE_TYPE BUGZILLA_USERNAME BUGZILLA_PASSWORD"
 exit 1
 fi
@@ -38,7 +38,7 @@ cd /mnt/git
 
 echo "Cloning WebKit git repository, process takes ~30m."
 echo "Note: No status output will be shown via remote pipe."
 
 echo "Cloning WebKit git repository, process takes ~30m."
 echo "Note: No status output will be shown via remote pipe."
-git clone http://git.webkit.org/WebKit.git webkit-$1
+git clone git://git.webkit.org/WebKit.git webkit-$1
 cd webkit-$1
 
 cat >> .git/config <<EOF
 cd webkit-$1
 
 cat >> .git/config <<EOF
index 2522187..a739a78 100755 (executable)
@@ -27,7 +27,8 @@
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-if [[ $# -lt 3 ]] || [[ $# -gt 4 ]]; then
+# The GCE VM image we're using only has bash v4.1.5
+if test $# -lt 3 -o $# -gt 4; then
     echo "Usage: start-queue-loop.sh QUEUE_NAME BOT_ID RESET_AFTER_ITERATION [QUEUE_PARAMS]"
     exit 1
 fi
     echo "Usage: start-queue-loop.sh QUEUE_NAME BOT_ID RESET_AFTER_ITERATION [QUEUE_PARAMS]"
     exit 1
 fi