run_suite_skylab: set and use an env var to specify swarming cred path
BUG=chromium:948755
TEST=None
Change-Id: I9e745880eb3c5446d933d7789356563c036c1d83
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/autotest/+/1549644
Reviewed-by: Xixuan Wu <xixuan@chromium.org>
Reviewed-by: Allen Li <ayatane@chromium.org>
Tested-by: Aviv Keshet <akeshet@chromium.org>
Trybot-Ready: Aviv Keshet <akeshet@chromium.org>
diff --git a/venv/skylab_suite/cmd/run_suite_skylab.py b/venv/skylab_suite/cmd/run_suite_skylab.py
index 3f412f4..4b2ef82 100755
--- a/venv/skylab_suite/cmd/run_suite_skylab.py
+++ b/venv/skylab_suite/cmd/run_suite_skylab.py
@@ -115,11 +115,17 @@
return options
+def _setup_env(options):
+ """Set environment variables based on commandline options."""
+ os.environ['SWARMING_CREDS'] = options.swarming_auth_json
+
+
def main():
"""Entry point."""
autotest.monkeypatch()
options = parse_args()
+ _setup_env(options)
suite_tracking.setup_logging()
result = _run_suite(options)
logging.info('Will return from %s with status: %s',
diff --git a/venv/skylab_suite/suite_runner.py b/venv/skylab_suite/suite_runner.py
index b3fa1b5..3cea765 100644
--- a/venv/skylab_suite/suite_runner.py
+++ b/venv/skylab_suite/suite_runner.py
@@ -172,6 +172,7 @@
skylab_tool_path, 'create-test',
'-board', test_spec.board,
'-image', test_spec.build,
+ '-service-account-json', os.environ['SWARMING_CREDS'],
]
if _is_dev():
cmd += ['-dev']
diff --git a/venv/skylab_suite/swarming_lib.py b/venv/skylab_suite/swarming_lib.py
index 173289b..7c0575e 100644
--- a/venv/skylab_suite/swarming_lib.py
+++ b/venv/skylab_suite/swarming_lib.py
@@ -217,6 +217,8 @@
class Client(object):
"""Wrapper for interacting with swarming client."""
+ # TODO(akeshet): Drop auth_json_path argument and use the same
+ # SWARMING_CREDS envvar that is used to select creds for skylab tool.
def __init__(self, auth_json_path=DEFAULT_SERVICE_ACCOUNT):
self._auth_json_path = auth_json_path