From 6721ba2d444d796b05e8b8a043553d91f0368545 Mon Sep 17 00:00:00 2001 From: Nathan Cutler Date: Wed, 1 Aug 2018 16:50:54 +0200 Subject: [PATCH] install: make exclude_packages distro-agnostic (in a limited way) Signed-off-by: Nathan Cutler --- teuthology/task/install/__init__.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/teuthology/task/install/__init__.py b/teuthology/task/install/__init__.py index 910d4fcda3..dcf17343d6 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)) -- 2.39.5