[libvirt-ci PATCH 10/13] lcitool: Use d.update() on extra_vars for options coming from the config

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Rather than putting all the options to the extra_vars JSON, use the
update method to extend the source dictionary with options coming from
the lcitool config file. By doing this split, we know which options are
hard-coded and which come from external sources. The main reason for this
change though is that some sections/members in the config file are
optional (thus may be missing in the config dictionary) and we'd risk
the KeyError exception if we tried to access them directly when filling
out the extra_vars JSON.

Signed-off-by: Erik Skultety <eskultet@xxxxxxxxxx>
---
 guests/lcitool | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/guests/lcitool b/guests/lcitool
index f2b4d44..4cb6e69 100755
--- a/guests/lcitool
+++ b/guests/lcitool
@@ -481,17 +481,22 @@ class Application:
         extra_vars_path = os.path.join(tempdir.name, 'extra_vars.json')
 
         with open(extra_vars_path, 'w') as fp:
+
+            # start with generic items not coming from the config
             extra_vars = {
                 "base": base,
                 "playbook_base": playbook_base,
-                "root_password": self._config.dict["install"]["root_password"],
-                "flavor": self._config.dict["install"]["flavor"],
                 "selected_projects": selected_projects,
                 "git_remote": git_remote,
                 "git_branch": git_branch,
-                "gitlab_url": self._config.dict["gitlab"]["url"],
-                "gitlab_runner_secret": self._config.dict["gitlab"]["token"],
             }
+
+            # now add the config vars
+            extra_vars.update(self._config.dict["install"])
+
+            if extra_vars["flavor"] == "gitlab":
+                extra_vars.update(self._config.dict["gitlab"])
+
             json.dump(extra_vars, fp)
 
         ansible_playbook = distutils.spawn.find_executable("ansible-playbook")
-- 
2.25.3





[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux