1*9c5db199SXin Li#!/bin/bash 2*9c5db199SXin Li# 3*9c5db199SXin Li# Copyright 2014 The Chromium OS Authors. All rights reserved. 4*9c5db199SXin Li# Use of this source code is governed by a BSD-style license that can be 5*9c5db199SXin Li# found in the LICENSE file. 6*9c5db199SXin Li 7*9c5db199SXin Li# The purpose of this script is to be able to reset an autotest instance. 8*9c5db199SXin Li# This means cleaning up the database and all log and results files. 9*9c5db199SXin Li# The main use case for this is if the master ever fails and all shards need to 10*9c5db199SXin Li# be reset. 11*9c5db199SXin Li 12*9c5db199SXin Lideclare -a SERVICES=("apache2" "scheduler" "host-scheduler" "shard-client" 13*9c5db199SXin Li "gs_offloader" "gs_offloader_s") 14*9c5db199SXin LiAUTOTEST_DIR=$(dirname $(dirname $0)) 15*9c5db199SXin Li 16*9c5db199SXin Lifunction service_action { 17*9c5db199SXin Li local s 18*9c5db199SXin Li for s in "${SERVICES[@]}"; do 19*9c5db199SXin Li if [[ -e "/etc/init/$s.conf" || -e "/etc/init.d/$s" ]]; then 20*9c5db199SXin Li sudo service $s $1 21*9c5db199SXin Li fi 22*9c5db199SXin Li done 23*9c5db199SXin Li} 24*9c5db199SXin Li 25*9c5db199SXin Liservice_action stop 26*9c5db199SXin Li 27*9c5db199SXin Li${AUTOTEST_DIR}/frontend/manage.py dbshell <<END 28*9c5db199SXin LiDROP DATABASE chromeos_autotest_db; 29*9c5db199SXin LiCREATE DATABASE chromeos_autotest_db; 30*9c5db199SXin LiEND 31*9c5db199SXin Li 32*9c5db199SXin Li${AUTOTEST_DIR}/database/migrate.py sync -f 33*9c5db199SXin Li${AUTOTEST_DIR}/frontend/manage.py syncdb --noinput 34*9c5db199SXin Li${AUTOTEST_DIR}/frontend/manage.py syncdb --noinput 35*9c5db199SXin Li 36*9c5db199SXin Lisudo rm -rf ${AUTOTEST_DIR}/results/* 37*9c5db199SXin Lisudo rm -rf ${AUTOTEST_DIR}/logs/* 38*9c5db199SXin Li 39*9c5db199SXin Liservice_action start 40