[autotest] Send frontend jobs to shards.
Frontend jobs on hosts that are on the shard are disallowed
currently, because the host-scheduler on master currently
ignore jobs based on meta-host, but frontend jobs have no
meta-host. This CL have the following changes:
- Make host-scheduler ignore frontend jobs that are supposed
to be picked by shard.
- Send such frontend jobs in heartbeat.
- Allow creation of frontend jobs in rpc.
TEST=Test the follows:
- Create a job on a host on shard from AFE frontend.
Observe it runs on shards and completes on master.
- Create a job on two hosts (one host on shard, the other on master)
from AFE frontend. Make sure exception is railed with correct
message.
- Run a normal dummy suite on shard, make sure normal flow still
works. Heartbeat contains the right information.
- Run a normal dummy suite on master, make sure it works.
BUG=chromium:444790
DEPLOY=apache, host-scheduler
Change-Id: Ibca3d36cb59fed695233ffdc89506364c402cc37
Reviewed-on: https://chromium-review.googlesource.com/240396
Reviewed-by: Mungyung Ryu <mkryu@google.com>
Reviewed-by: Dan Shi <dshi@chromium.org>
Commit-Queue: Fang Deng <fdeng@chromium.org>
Tested-by: Fang Deng <fdeng@chromium.org>
diff --git a/frontend/afe/models_test.py b/frontend/afe/models_test.py
index 5c074d0..29a155d 100755
--- a/frontend/afe/models_test.py
+++ b/frontend/afe/models_test.py
@@ -476,6 +476,7 @@
'name': 'board:daisy',
'only_if_needed': False,
'platform': True},
+ 'host_id': None,
'started_on': None,
'status': 'Queued'}],
'id': 5,
@@ -539,6 +540,7 @@
'name': 'board:daisy',
'only_if_needed': False,
'platform': True},
+ 'host_id': None,
'started_on': None,
'status': 'Queued'}],
'id': 7,