Fix no attribute 'autoconnet' when run acloud-dev setup.
Fix AttributeError: 'Namespace' object has no attribute 'autoconnect'
when run acloud-dev setup.
Bug: 204193944
Test: remove .config/acloud/mkcert folder && acloud hostcleanup && acloud-dev create --local-image
acloud-dev setup --webrtc-cert
acloud-dev setup
Change-Id: I228800e2e9c3a44dd8425d5ba8ccb879f0db0464
diff --git a/create/create.py b/create/create.py
index 00b0843..bb82f74 100644
--- a/create/create.py
+++ b/create/create.py
@@ -178,6 +178,7 @@
args.host_base = False
args.force = False
args.update_config = None
+ args.host_mkcert = False
# Remote image/instance requires the GCP config setup.
if args.local_instance is None or args.local_image is None:
gcp_setup = gcp_setup_runner.GcpTaskRunner(args.config_file)
@@ -195,11 +196,10 @@
if host_pkg_setup.ShouldRun():
args.host = True
- setup_mkcert = False
if args.autoconnect == constants.INS_KEY_WEBRTC:
mkcert_pkg_setup = host_setup_runner.MkcertPkgInstaller()
if mkcert_pkg_setup.ShouldRun():
- setup_mkcert = True
+ args.host_mkcert = True
# Install base packages if we haven't already.
host_base_setup = host_setup_runner.HostBasePkgInstaller()
@@ -207,7 +207,7 @@
args.host_base = True
run_setup = (args.force or args.gcp_init or args.host or args.host_base
- or setup_mkcert)
+ or args.host_mkcert)
if run_setup:
answer = utils.InteractWithQuestion("Missing necessary acloud setup, "
diff --git a/create/create_test.py b/create/create_test.py
index da69da1..e6aaf1a 100644
--- a/create/create_test.py
+++ b/create/create_test.py
@@ -84,6 +84,7 @@
def testCheckForSetup(self):
"""Test _CheckForSetup."""
args = mock.MagicMock()
+ args.autoconnect = constants.INS_KEY_WEBRTC
args.local_instance = None
args.args.config_file = "fake_path"
self.Patch(gcp_setup_runner.GcpTaskRunner,
@@ -92,6 +93,9 @@
self.Patch(host_setup_runner.HostBasePkgInstaller,
"ShouldRun",
return_value=False)
+ self.Patch(host_setup_runner.MkcertPkgInstaller,
+ "ShouldRun",
+ return_value=False)
self.Patch(config, "AcloudConfigManager")
self.Patch(config.AcloudConfigManager, "Load")
self.Patch(setup, "Run")
@@ -102,6 +106,7 @@
create._CheckForSetup(args)
gcp_setup_runner.GcpTaskRunner.ShouldRun.assert_called_once()
host_setup_runner.HostBasePkgInstaller.ShouldRun.assert_called_once()
+ host_setup_runner.MkcertPkgInstaller.ShouldRun.assert_called_once()
setup.Run.assert_not_called()
# Checking Setup.Run should be called if runner's ShouldRun func return
diff --git a/setup/setup.py b/setup/setup.py
index 2f0dc8a..77456e5 100644
--- a/setup/setup.py
+++ b/setup/setup.py
@@ -64,7 +64,7 @@
task_queue.append(host_avd_runner)
task_queue.append(host_cf_common_runner)
task_queue.append(host_env_runner)
- if args.autoconnect == constants.INS_KEY_WEBRTC:
+ if args.host_mkcert:
task_queue.append(host_mkcert_runner)
# We should do these setup tasks if specified or if no args were used.
diff --git a/setup/setup_args.py b/setup/setup_args.py
index 1e3583c..0b3a93a 100644
--- a/setup/setup_args.py
+++ b/setup/setup_args.py
@@ -62,6 +62,13 @@
help="Setup Google Cloud project name and enable required GCP APIs."
"E.G. Google Cloud Storage/ Internal Android Build/ Compute Engine")
setup_parser.add_argument(
+ "--mkcert",
+ action="store_true",
+ dest="host_mkcert",
+ required=False,
+ help="Install mkcert package on the host. It helps to create the "
+ "certification files for the WEB browser.")
+ setup_parser.add_argument(
"--force",
action="store_true",
dest="force",