In order to display the appropriate virt software versions installed in the autotest results email, we can register versions like the precise git repo definition used to build that software, or all the packages from Brew/Koji that were installed.
This is attained by creating an additional method, write_version_keyval, that gets executed after the installation was performed. The first Installer class that gets a get_version method is GitRepoInstaller. Signed-off-by: Lucas Meneghel Rodrigues <[email protected]> --- client/virt/base_installer.py | 17 +++++++++++++++++ client/virt/tests/build.py | 1 + 2 files changed, 18 insertions(+) diff --git a/client/virt/base_installer.py b/client/virt/base_installer.py index a8cbc6d..e7eaa10 100644 --- a/client/virt/base_installer.py +++ b/client/virt/base_installer.py @@ -304,6 +304,16 @@ class BaseInstaller(object): pass + def write_version_keyval(self, test): + if getattr(self, 'get_version'): + version = self.get_version() + else: + version = "Unknown" + sw_version = {('software_version_%s' % self.name): version} + logging.debug("Writing test keyval %s", sw_version) + test.write_test_keyval(sw_version) + + def load_modules(self, module_list=None): ''' Load Linux Kernel modules the virtualization software may depend on @@ -705,6 +715,13 @@ class GitRepoInstaller(BaseLocalSourceInstaller): self._set_build_helper() + def get_version(self): + uri = self.content_helper.uri + branch = self.content_helper.branch + commit = self.content_helper.get_top_commit() + return "%s:%s:%s" % (uri, branch, commit) + + class FailedInstaller: """ Class used to be returned instead of the installer if a installation fails diff --git a/client/virt/tests/build.py b/client/virt/tests/build.py index 85b36bd..f2593f1 100644 --- a/client/virt/tests/build.py +++ b/client/virt/tests/build.py @@ -22,6 +22,7 @@ def run_build(test, params, env): for name in params.get("installers", "").split(): installer_obj = installer.make_installer(name, params, test) installer_obj.install() + installer_obj.write_version_keyval(test) if installer_obj.minor_failure == True: minor_failure = True reason = "%s_%s: %s" % (installer_obj.name, -- 1.7.10.4 _______________________________________________ Autotest-kernel mailing list [email protected] https://www.redhat.com/mailman/listinfo/autotest-kernel
