1#!/bin/bash 2 3# Force a verify job for any host that hasn't seen activity in 4# the past day. 5# 6# Various scripts/cron jobs look for DUTs that aren't working. To 7# be conservative, those scripts assume that a DUT that hasn't run 8# any jobs within a reasonable time interval isn't working, since 9# some of the ways a DUT may be unavailable manifest as inactivity. 10# 11# In some cases, we'd like to be more certain as to a DUT's status. 12# This script goes through the entire AFE hosts table, and 13# identifies unlocked hosts that would otherwise be flagged as "not 14# working due to lack of activity", and forces a Verify job. 15# 16# Locked hosts are skipped because they can't run jobs, and because 17# we want them to show up as suspicious anyway. 18 19 20cd $(dirname $0)/.. 21 22# Gather all the hosts under supervision of the SKC fire team. 23# Basically, that's any host in the suites, bvt, cq, or pfq pool. 24 25GET_HOSTS=' 26 /pool:(suites|bvt|cq|continuous)/ { 27 print $1 28 } 29' 30HOSTS=( $(cli/atest host list --unlocked | awk "$GET_HOSTS") ) 31 32 33# Go through the gathered hosts, and use dut_status to find the 34# ones with unknown state (anything without a positive "OK" or 35# "NO" diagnosis). 36 37NEED_VERIFY=' 38 /OK/ || /NO/ { next } 39 /^chromeos/ { 40 print $1 41 } 42' 43VERIFY=( $(site_utils/dut_status.py -d 19 "${HOSTS[@]}" | awk "$NEED_VERIFY") ) 44 45# Reverify the unknown hosts. 46contrib/reverify_hosts "${VERIFY[@]}" 47