| #!/bin/bash |
| |
| # Force a verify job for any host that hasn't seen activity in |
| # the past day. |
| # |
| # Various scripts/cron jobs look for DUTs that aren't working. To |
| # be conservative, those scripts assume that a DUT that hasn't run |
| # any jobs within a reasonable time interval isn't working, since |
| # some of the ways a DUT may be unavailable manifest as inactivity. |
| # |
| # In some cases, we'd like to be more certain as to a DUT's status. |
| # This script goes through the entire AFE hosts table, and |
| # identifies unlocked hosts that would otherwise be flagged as "not |
| # working due to lack of activity", and forces a Verify job. |
| # |
| # Locked hosts are skipped because they can't run jobs, and because |
| # we want them to show up as suspicious anyway. |
| |
| |
| cd $(dirname $0)/.. |
| |
| # Gather all the hosts under supervision of the SKC fire team. |
| # Basically, that's any host in the suites, bvt, cq, or pfq pool. |
| |
| GET_HOSTS=' |
| /pool:(suites|bvt|cq|continuous|cts|arc-presubmit|crosperf|performance)/ { |
| print $1 |
| } |
| ' |
| HOSTS=( $(cli/atest host list --unlocked | awk "$GET_HOSTS") ) |
| |
| |
| # Go through the gathered hosts, and use dut_status to find the |
| # ones with unknown state (anything without a positive "OK" or |
| # "NO" diagnosis). |
| |
| NEED_VERIFY=' |
| /OK/ || /NO/ { next } |
| /^chromeos/ { |
| print $1 |
| } |
| ' |
| VERIFY=( $(site_utils/dut_status.py -d 19 "${HOSTS[@]}" | awk "$NEED_VERIFY") ) |
| |
| # Reverify the unknown hosts. |
| contrib/reverify_hosts "${VERIFY[@]}" |