]> git-server-git.apps.pok.os.sepia.ceph.com Git - teuthology.git/commitdiff
Fixes to install task to handle extra system pkgs 1463/head
authorVasu Kulkarni <vasu@redhat.com>
Thu, 30 Apr 2020 20:23:45 +0000 (13:23 -0700)
committerVasu Kulkarni <vasu@redhat.com>
Tue, 12 May 2020 01:59:07 +0000 (18:59 -0700)
Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
Fix unit test cases

Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
teuthology/task/install/redhat.py
teuthology/test/task/test_install.py

index 4da3ad324b783ab8c5bbc9dbebb4440de5180069..08568bda81e30bed01f348a719da6b5088dff7ee 100644 (file)
@@ -57,6 +57,10 @@ def install(ctx, config):
     log.info("using yaml path %s", yaml_path)
     downstream_config = yaml.safe_load(open(yaml_path))
     rh_versions = downstream_config.get('versions', dict()).get('supported', [])
+    external_config = dict(extra_system_packages=config.get('extra_system_packages', {}),
+                           extra_packages=config.get('extra_packages', {}),
+                           )
+    downstream_config.update(external_config)
     version = config['rhbuild']
     if version in rh_versions:
         log.info("%s is a supported version", version)
@@ -70,8 +74,7 @@ def install(ctx, config):
             else:
                 log.info("Install on Ubuntu node: %s", remote.shortname)
                 p.spawn(install_deb_pkgs, ctx, remote, version,
-                        downstream_config, config['deb-repo'],
-                        config['deb-gpg-key'])
+                        downstream_config)
     try:
         yield
     finally:
@@ -92,7 +95,9 @@ def install_pkgs(ctx, remote, version, downstream_config):
     :param downstream_config the dict object that has downstream pkg info
     """
     rh_version_check = downstream_config.get('versions').get('rpm').get('mapped')
-    rh_rpm_pkgs = downstream_config.get('pkgs').get('rpm')
+    rh_rpm_pkgs = downstream_config.get('pkgs').get('rpm') + \
+                  downstream_config.get('extra_system_packages').get('rpm', []) + \
+                  downstream_config.get('extra_packages').get('rpm', [])
     pkgs = str.join(' ', rh_rpm_pkgs)
     log.info("Remove any epel packages installed on node %s", remote.shortname)
     # below packages can come from epel and still work, ensure we use cdn pkgs
@@ -104,6 +109,7 @@ def install_pkgs(ctx, remote, version, downstream_config):
             run.Raw("leveldb xmlstarlet fcgi"),
             '-y'],
         check_status=False)
+
     log.info("Installing redhat ceph packages")
     remote.run(args=['sudo', 'yum', '-y', 'install',
                      run.Raw(pkgs)])
@@ -157,21 +163,18 @@ def install_deb_pkgs(
         ctx,
         remote,
         version,
-        downstream_config,
-        deb_repo,
-        deb_gpg_key):
+        downstream_config):
     """
     Setup debian repo, Install gpg key
     and Install on debian packages
     : param ctx
     : param remote
     : param downstream_config the dict object that has downstream pkg info
-    : deb_repo - http path of downstream ubuntu repo
-    : deb_gpg_key - gpg key for the ubuntu pkg
     """
-    set_deb_repo(remote, deb_repo, deb_gpg_key)
     rh_version_check = downstream_config.get('versions').get('deb').get('mapped')
-    rh_deb_pkgs = downstream_config.get('pkgs').get('deb')
+    rh_deb_pkgs = downstream_config.get('pkgs').get('deb') + \
+                  downstream_config.get('extra_system_packages').get('deb', []) + \
+                  downstream_config.get('extra_packages').get('deb', [])
     pkgs = str.join(' ', rh_deb_pkgs)
     log.info("Installing redhat ceph packages")
     remote.run(args=['sudo', 'apt-get', '-y', 'install',
index 0334d685e8794d513b8a915a579a5a9f068d6db6..15b9085e1865f2e4e5483588afcd56416adbebfe 100644 (file)
@@ -306,14 +306,14 @@ class TestInstall(object):
         remote = Mock()
         version = '1.3.2'
         rh_ds_yaml = dict()
-        rh_ds_yaml = {'versions': {'deb': {'mapped': {'1.3.2': '0.94.5'}}},
-                      'pkgs': { 'deb': ['pkg1', 'pkg2'] }}
+        rh_ds_yaml = {
+            'versions': {'deb': {'mapped': {'1.3.2': '0.94.5'}}},
+            'pkgs': {'deb': ['pkg1', 'pkg2']},
+            'extra_system_packages': {'deb': ['es_pkg1', 'es_pkg2']},
+            'extra_packages': {'deb': ['e_pkg1', 'e_pkg2']},
+        }
         m_get_pkg_version.return_value = "0.94.5"
-        deb_repo=Mock()
-        deb_gpg_key=Mock()
-        install.redhat.install_deb_pkgs(ctx, remote, version, rh_ds_yaml,
-                                    deb_repo, deb_gpg_key)
-
+        install.redhat.install_deb_pkgs(ctx, remote, version, rh_ds_yaml)
 
     @patch("teuthology.task.install.packaging.get_package_version")
     def test_rh_install_pkgs(self, m_get_pkg_version):
@@ -321,9 +321,14 @@ class TestInstall(object):
         remote = Mock()
         version = '1.3.2'
         rh_ds_yaml = dict()
-        rh_ds_yaml = {'versions': {'rpm': {'mapped': {'1.3.2': '0.94.5',
-                                                      '1.3.1': '0.94.3'}}},
-                      'pkgs': { 'rpm': ['pkg1', 'pkg2'] }}
+        rh_ds_yaml = {
+            'versions': {'rpm': {'mapped': {'1.3.2': '0.94.5',
+                                            '1.3.1': '0.94.3'}}},
+            'pkgs': {'rpm': ['pkg1', 'pkg2']},
+            'extra_system_packages': {'rpm': ['es_pkg1', 'es_pkg2']},
+            'extra_packages': {'rpm': ['e_pkg1', 'e_pkg2']},
+        }
+
         m_get_pkg_version.return_value = "0.94.5"
         install.redhat.install_pkgs(ctx, remote, version, rh_ds_yaml)
         version = '1.3.1'