Previously, the set_*() functions would always set the result of the toml parsing as the setting. Instead, only override it if it is a string.
This fixes an issue introduced in commit 5be6069bcbd5a7fa3f114f28366597bc5ddbb891. --- catalyst/base/stagebase.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py index 5c7e9adb..1d71c59d 100644 --- a/catalyst/base/stagebase.py +++ b/catalyst/base/stagebase.py @@ -589,9 +589,9 @@ class StageBase(TargetBase, ClearBase, GenBase): def set_groups(self): groups = self.settings["spec_prefix"] + "/groups" if groups in self.settings: + self.settings["groups"] = self.settings[groups] if isinstance(self.settings[groups], str): self.settings["groups"] = self.settings[groups].split(",") - self.settings["groups"] = self.settings[groups] del self.settings[groups] else: self.settings["groups"] = [] @@ -600,9 +600,9 @@ class StageBase(TargetBase, ClearBase, GenBase): def set_users(self): users = self.settings["spec_prefix"] + "/users" if users in self.settings: + self.settings["users"] = self.settings[users] if isinstance(self.settings[users], str): self.settings["users"] = self.settings[users].split(",") - self.settings["users"] = self.settings[users] del self.settings[users] else: self.settings["users"] = [] @@ -611,9 +611,9 @@ class StageBase(TargetBase, ClearBase, GenBase): def set_ssh_public_keys(self): ssh_public_keys = self.settings["spec_prefix"] + "/ssh_public_keys" if ssh_public_keys in self.settings: + self.settings["ssh_public_keys"] = self.settings[ssh_public_keys] if isinstance(self.settings[ssh_public_keys], str): self.settings["ssh_public_keys"] = self.settings[ssh_public_keys].split(",") - self.settings["ssh_public_keys"] = self.settings[ssh_public_keys] del self.settings[ssh_public_keys] else: self.settings["ssh_public_keys"] = [] -- 2.35.1