diff options
Diffstat (limited to 'internal/lib/cvd_runtime_config.py')
-rw-r--r-- | internal/lib/cvd_runtime_config.py | 16 |
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"] |