diff options
author | Han Shen <shenhan@google.com> | 2015-09-17 11:26:22 -0700 |
---|---|---|
committer | Han Shen <shenhan@google.com> | 2015-09-17 18:53:43 +0000 |
commit | f9b503542669e34f83e5f6bfd3c4e19a0c43e015 (patch) | |
tree | 8bbba7542d2074bb2301eefc40f250d8c76a1174 /crosperf/experiment_runner.py | |
parent | 7a939a38850f3afff46a30b53e731ccafa961f54 (diff) | |
download | toolchain-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.py | 5 |
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): |