]> git-server-git.apps.pok.os.sepia.ceph.com Git - teuthology.git/commitdiff
task/install: populate "downgrade_packages" to nested_config 1245/head
authorKefu Chai <kchai@redhat.com>
Fri, 21 Dec 2018 07:17:09 +0000 (15:17 +0800)
committerKefu Chai <kchai@redhat.com>
Fri, 21 Dec 2018 12:40:55 +0000 (20:40 +0800)
- populate "downgrade_packages" to `nested_config` in `task()`.
  otherwise, the "downgrade_packages" is invisible to the `install()`
  function.
- also print logging message before downgrading packages.
- cleanup rpm._downgrade_packages(), no need to format `downgrade_cmd`.
  it's already formated.

Signed-off-by: Kefu Chai <kchai@redhat.com>
teuthology/task/install/__init__.py
teuthology/task/install/rpm.py

index 11e58f7ee0a8295bbd583d3499f1f757d4c940a1..180e4e8be0c4f214e58a58908221c6fd9073f11d 100644 (file)
@@ -621,6 +621,7 @@ def task(ctx, config):
                 sha1=config.get('sha1'),
                 debuginfo=config.get('debuginfo'),
                 flavor=flavor,
+                downgrade_packages=config.get('downgrade_packages', []),
                 extra_packages=config.get('extra_packages', []),
                 extra_system_packages=config.get('extra_system_packages', []),
                 exclude_packages=config.get('exclude_packages', []),
index 8c2678d0491fa4f85b27cc0b182414c38774b63f..8837a08737c88b929e94e8966655c3a99a67e3d1 100644 (file)
@@ -121,6 +121,8 @@ def _downgrade_packages(ctx, remote, pkgs, pkg_version, config):
     downgrade_pkgs = config.get('downgrade_packages', [])
     if not downgrade_pkgs:
         return pkgs
+    log.info('Downgrading packages: {pkglist}'.format(
+        pkglist=', '.join(downgrade_pkgs)))
     # assuming we are going to downgrade packages with the same version
     first_pkg = downgrade_pkgs[0]
     installed_version = packaging.get_package_version(remote, first_pkg)
@@ -128,8 +130,7 @@ def _downgrade_packages(ctx, remote, pkgs, pkg_version, config):
     assert LooseVersion(installed_version) < LooseVersion(pkg_version)
     # to compose package name like "librados2-0.94.10-87.g116a558.el7"
     pkgs_opt = ['-'.join([pkg, pkg_version]) for pkg in downgrade_pkgs]
-    downgrade_cmd = 'sudo yum -y downgrade {}'.format(' '.join(pkgs_opt))
-    remote.run(args=downgrade_cmd.format(pkgs=pkgs_opt))
+    remote.run(args='sudo yum -y downgrade {}'.format(' '.join(pkgs_opt)))
     return [pkg for pkg in pkgs if pkg not in downgrade_pkgs]