| #!/bin/sh |
| # Copyright (c) 2011 The Chromium OS Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| # |
| # autotest control init script, intended for Debian/Ubuntu type boxes. |
| # |
| # copy this to /etc/init.d/autotest, then run this: |
| # |
| # update-rc.d autotest start 95 2 3 4 5 . stop 90 0 1 6 . |
| |
| BASE_DIR=/usr/local/autotest |
| BECOME_USER=chromeos-test |
| |
| # Setup PATH so Autotest can run gsutil and cros_sdk for stack trace generation. |
| PATH_EXTRAS=$PATH:/usr/local/google/gsutil:/usr/local/google/depot_tools |
| |
| if (test -r /lib/lsb/init-functions) |
| then |
| . /lib/lsb/init-functions |
| else |
| echo "This script requires /lib/lsb/init-functions" |
| exit 1 |
| fi |
| |
| # --- |
| |
| autotest_start() { |
| cd /tmp |
| |
| log_daemon_msg "Starting monitor_db_babysitter" |
| ( ulimit -v 2048000 ; PATH=$PATH_EXTRAS USER=$BECOME_USER USERNAME=$USER \ |
| start-stop-daemon --start --quiet --chuid $BECOME_USER \ |
| --background --exec $BASE_DIR/scheduler/ssh_start_wrapper.sh ) |
| } |
| |
| stop_daemon() { |
| PID_NAME=$1 |
| DAEMON_NAME=$2 |
| log_daemon_msg "Stopping $DAEMON_NAME" |
| start-stop-daemon --stop --quiet --pidfile $BASE_DIR/$PID_NAME.pid |
| } |
| |
| autotest_stop() { |
| stop_daemon monitor_db_babysitter babysitter |
| stop_daemon monitor_db scheduler |
| } |
| |
| case "$1" in |
| start) |
| autotest_start |
| ;; |
| |
| stop) |
| autotest_stop |
| ;; |
| |
| restart) |
| autotest_stop |
| sleep 2 |
| autotest_start |
| ;; |
| |
| *) |
| echo "Usage: $0 start|stop|restart" |
| exit 1 |
| |
| esac |