aboutsummaryrefslogtreecommitdiff
path: root/crosperf/experiment_runner.py
diff options
context:
space:
mode:
authorHan Shen <shenhan@google.com>2015-09-17 11:26:22 -0700
committerHan Shen <shenhan@google.com>2015-09-17 18:53:43 +0000
commitf9b503542669e34f83e5f6bfd3c4e19a0c43e015 (patch)
tree8bbba7542d2074bb2301eefc40f250d8c76a1174 /crosperf/experiment_runner.py
parent7a939a38850f3afff46a30b53e731ccafa961f54 (diff)
downloadtoolchain-utils-f9b503542669e34f83e5f6bfd3c4e19a0c43e015.tar.gz
Filter out unreachable machines from experiment.remote as well as
label.remote. We had a bug for a experiment file with label L1 and L2, remote A & B, and B is unreachable (dead machine). This ends up with MachineManager._all_machines being [A], but L1.remote and L2.remote being both [A, B], because B is locked even it is not reachable. This caused an internal error because only 1 dut worker is create for 'A', no dut worker created for 'B'. Fixed by filter unreachable machines from both experiment.remote as well as label.remote. Tested by running a experiment file manually. Change-Id: Ia3f563fe7e6d1521ec8d506b79cdf185af76df06 Reviewed-on: https://chrome-internal-review.googlesource.com/231038 Commit-Queue: Han Shen <shenhan@google.com> Tested-by: Han Shen <shenhan@google.com> Reviewed-by: Han Shen <shenhan@google.com>
Diffstat (limited to 'crosperf/experiment_runner.py')
-rw-r--r--crosperf/experiment_runner.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/crosperf/experiment_runner.py b/crosperf/experiment_runner.py
index 479650cc..d7749b53 100644
--- a/crosperf/experiment_runner.py
+++ b/crosperf/experiment_runner.py
@@ -54,9 +54,10 @@ class ExperimentRunner(object):
label-specific requests, and return the list.
"""
machines = self._experiment.remote
+ # All Label.remote is a sublist of experiment.remote.
for l in self._experiment.labels:
- if l.remote:
- machines += l.remote
+ for r in l.remote:
+ assert r in machines
return machines
def _UpdateMachineList(self, locked_machines):