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