• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# By default, we're invoked without arguments.  This is how the cron
2# job does it, and means we should generate output and mail it to
3# the default mail alias.
4#
5# Invoking with arguments is for testing:  It allows running through
6# the full logic and output generation, without spamming the alert
7# aliases.
8
9OPTIONS=""
10if [ $# -eq 0 ]; then
11  # TODO(jrbarnette):  Really, this feels like a hack.  The cron job
12  # that invokes the inventory scripts is installed and enabled on
13  # both a primary and backup server, meaning the e-mail will be
14  # generated twice.  We don't want that, so unless this is the
15  # primary server, quash this job.
16  if ! cli/atest server list $(hostname) 2>&1 |
17      grep -q '^Status *: *primary'; then
18    exit 0
19  fi
20
21  POOL_INTEREST=(
22    chromeos-infra-eng@grotations.appspotmail.com
23    chromeos-build-alerts+dut-pool@google.com
24  )
25  MODEL_INTEREST=(
26    englab-sys-cros@google.com
27    chromeos-build-alerts+dut-pool@google.com
28  )
29else
30  MODEL_INTEREST=( "$@" )
31  POOL_INTEREST=( "$@" )
32  OPTIONS=--debug
33fi
34
35# Options to be used for different script invocations.  Inventory
36# runs are relatively expensive, so operations that happen rarely
37# also bundle operations that happen more frequently.
38#   + REPAIR_LOOP_DETECT happens with every run.  It looks for
39#     and reports DUTs that do no work other than to fail, then repair
40#     successfully.
41#   + MODEL_NOTIFY happens less often.  This adds a full model
42#     inventory count to REPAIR_LOOP_DETECT.
43#   + POOL_NOTIFY happens least often.  It adds per-pool inventory
44#     counts, as well as individual DUT repair recommendations to
45#     MODEL_NOTIFY.
46
47REPAIR_LOOP_DETECT=( --repair-loops )
48
49MODEL_NOTIFY=(
50  "${REPAIR_LOOP_DETECT[@]}"
51  --model-notify $(echo "${MODEL_INTEREST[@]}" | sed 's/ /,/g')
52)
53
54POOL_NOTIFY=(
55  "${MODEL_NOTIFY[@]}"
56  --recommend=40
57  --pool-notify $(echo "${POOL_INTEREST[@]}" | sed 's/ /,/g')
58)
59