Use dev_server to determine the url of the devserver.
The dynamic_suite code assumed the devserver variable in the autotest
config was a string that represented the url for the devserver.
This is no longer a correct assumption as it can be a list of devservers.
This change modifies the dynamic_suite logic to use a DevServer instance
to tell it the URL it should use for the devserver.
BUG=chromium-os:26451
TEST=Unittests
Change-Id: I0bc63029630d9e884a23b16ccdf75da1756e6518
Reviewed-on: https://gerrit.chromium.org/gerrit/28447
Reviewed-by: Chris Masone <cmasone@chromium.org>
Tested-by: Chris Sosa <sosa@chromium.org>
Commit-Ready: Chris Sosa <sosa@chromium.org>
diff --git a/server/cros/dynamic_suite.py b/server/cros/dynamic_suite.py
index fa4a7fa..86e935d 100644
--- a/server/cros/dynamic_suite.py
+++ b/server/cros/dynamic_suite.py
@@ -277,7 +277,6 @@
debug=False)
manager = host_lock_manager.HostLockManager(afe=afe)
reimager = Reimager(job.autodir, afe, tko, results_dir=job.resultdir)
-
try:
if skip_reimage or reimager.attempt(build, board, pool,
job.record_entry, check_hosts,
@@ -368,6 +367,12 @@
return CONFIG.get_config_value('CROS', 'package_url_pattern', type=str)
+def get_package_url(build):
+ """Returns the package url for the given build."""
+ devserver_url = dev_server.DevServer.devserver_url_for_build(build)
+ return _package_url_pattern() % (devserver_url, build)
+
+
def skip_reimage(g):
return g.get('SKIP_IMAGE')
@@ -493,7 +498,7 @@
return job_status.gather_per_host_results(self._afe,
self._tko,
[canary_job],
- REIMAGE_JOB_NAME+'-')
+ REIMAGE_JOB_NAME + '-')
def _ensure_enough_hosts(self, board, pool, num):
@@ -601,8 +606,10 @@
@param num_machines: how many devices to reimage.
@return a frontend.Job object for the reimaging job we scheduled.
"""
+ image_url = _image_url_pattern() % (
+ dev_server.DevServer.devserver_url_for_build(build), build)
control_file = inject_vars(
- {'image_url': _image_url_pattern() % build, 'image_name': build},
+ dict(image_url=image_url, image_name=build),
self._cf_getter.get_control_file_contents_by_name('autoupdate'))
job_deps = []
if pool: