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