From: Nathan Cutler Date: Wed, 1 Aug 2018 14:50:54 +0000 (+0200) Subject: install: make exclude_packages distro-agnostic (in a limited way) X-Git-Tag: 1.1.0~318^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6721ba2d444d796b05e8b8a043553d91f0368545;p=teuthology.git install: make exclude_packages distro-agnostic (in a limited way) Signed-off-by: Nathan Cutler --- diff --git a/teuthology/task/install/__init__.py b/teuthology/task/install/__init__.py index 910d4fcd..dcf17343 100644 --- a/teuthology/task/install/__init__.py +++ b/teuthology/task/install/__init__.py @@ -198,15 +198,17 @@ def get_package_list(ctx, config): debs = filter(lambda p: not p.endswith('-dbg'), debs) rpms = filter(lambda p: not p.endswith('-debuginfo'), rpms) - excluded_packages = config.get('exclude_packages', list()) - if excluded_packages: - log.debug("Excluding packages: {}".format(excluded_packages)) - - def exclude(pkgs): - return list(set(pkgs).difference(set(excluded_packages))) + def exclude(pkgs, exclude_list): + return list(set(pkgs).difference(set(exclude_list))) - debs = exclude(debs) - rpms = exclude(rpms) + excluded_packages = config.get('exclude_packages', []) + if isinstance(excluded_packages, dict): + log.debug("Excluding packages: {}".format(excluded_packages)) + debs = exclude(debs, excluded_packages.get('deb', [])) + rpms = exclude(rpms, excluded_packages.get('rpm', [])) + else: + debs = exclude(debs, excluded_packages) + rpms = exclude(rpms, excluded_packages) package_list = dict(deb=debs, rpm=rpms) log.debug("Package list is: {}".format(package_list))