aboutsummaryrefslogtreecommitdiff
path: root/internal/lib/cvd_runtime_config.py
diff options
context:
space:
mode:
Diffstat (limited to 'internal/lib/cvd_runtime_config.py')
-rw-r--r--internal/lib/cvd_runtime_config.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/internal/lib/cvd_runtime_config.py b/internal/lib/cvd_runtime_config.py
index 4f4b4478..14604873 100644
--- a/internal/lib/cvd_runtime_config.py
+++ b/internal/lib/cvd_runtime_config.py
@@ -36,7 +36,7 @@ _RE_LOCAL_INSTANCE_ID = re.compile(r".+(?:local-instance-|instance_home_)"
r"(?P<ins_id>\d+).+")
-def _GetIdFromInstanceDirStr(instance_dir):
+def _GetIdFromInstanceDirStr(instance_dir, config_dict):
"""Look for instance id from the path of instance dir.
Args:
@@ -51,7 +51,15 @@ def _GetIdFromInstanceDirStr(instance_dir):
# To support the device which is not created by acloud.
if os.path.expanduser("~") in instance_dir:
- return "1"
+ if config_dict:
+ instances = config_dict.get(_CFG_KEY_INSTANCES)
+ if instances:
+ return min(instances.keys())
+ else:
+ # Old runtime config doesn't have "instances" information.
+ return "1"
+ else:
+ return "1"
return None
@@ -116,10 +124,10 @@ class CvdRuntimeConfig():
if not config_path and not raw_data:
raise errors.ConfigError("No cuttlefish config found!")
self._config_path = config_path
- self._instance_id = "1" if raw_data else _GetIdFromInstanceDirStr(
- config_path)
self._config_dict = self._GetCuttlefishRuntimeConfig(config_path,
raw_data)
+ self._instance_id = "1" if raw_data else _GetIdFromInstanceDirStr(
+ config_path, self._config_dict)
self._instances = self._config_dict.get(_CFG_KEY_INSTANCES)
# Old runtime config doesn't have "instances" information.
self._instance_ids = list(self._instances.keys()) if self._instances else ["1"]