| #!/bin/bash |
| # |
| # Copyright 2014 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. |
| |
| # The purpose of this script is to be able to reset an autotest instance. |
| # This means cleaning up the database and all log and results files. |
| # The main use case for this is if the master ever fails and all shards need to |
| # be reset. |
| |
| declare -a SERVICES=("apache2" "scheduler" "host-scheduler" "shard-client" |
| "gs_offloader" "gs_offloader_s") |
| AUTOTEST_DIR=$(dirname $(dirname $0)) |
| |
| function service_action { |
| local s |
| for s in "${SERVICES[@]}"; do |
| if [[ -e "/etc/init/$s.conf" || -e "/etc/init.d/$s" ]]; then |
| sudo service $s $1 |
| fi |
| done |
| } |
| |
| service_action stop |
| |
| ${AUTOTEST_DIR}/frontend/manage.py dbshell <<END |
| DROP DATABASE chromeos_autotest_db; |
| CREATE DATABASE chromeos_autotest_db; |
| END |
| |
| ${AUTOTEST_DIR}/database/migrate.py sync -f |
| ${AUTOTEST_DIR}/frontend/manage.py syncdb --noinput |
| ${AUTOTEST_DIR}/frontend/manage.py syncdb --noinput |
| |
| sudo rm -rf ${AUTOTEST_DIR}/results/* |
| sudo rm -rf ${AUTOTEST_DIR}/logs/* |
| |
| service_action start |