diff options
author | Jason Kincl <kincljc@ornl.gov> | 2013-02-27 13:20:34 -0500 |
---|---|---|
committer | Jason Kincl <kincljc@ornl.gov> | 2013-02-27 13:20:34 -0500 |
commit | 59faa6b5d570d26c00b5c058cb9e866729fd66ee (patch) | |
tree | f82c8db0c915e52a682d77da3d549a07fd0b866f /src/lib/Bcfg2/Client/Tools | |
parent | c0e43f73cb4e98145537543b6275c4cc6dbd5430 (diff) | |
download | bcfg2-59faa6b5d570d26c00b5c058cb9e866729fd66ee.tar.gz bcfg2-59faa6b5d570d26c00b5c058cb9e866729fd66ee.tar.bz2 bcfg2-59faa6b5d570d26c00b5c058cb9e866729fd66ee.zip |
YUM: Fixed YUM Group package selection with group types (default, optional, all) on client tool
Diffstat (limited to 'src/lib/Bcfg2/Client/Tools')
-rw-r--r-- | src/lib/Bcfg2/Client/Tools/YUM.py | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/lib/Bcfg2/Client/Tools/YUM.py b/src/lib/Bcfg2/Client/Tools/YUM.py index 92568c070..7764a6808 100644 --- a/src/lib/Bcfg2/Client/Tools/YUM.py +++ b/src/lib/Bcfg2/Client/Tools/YUM.py @@ -293,7 +293,7 @@ class YUM(Bcfg2.Client.Tools.PkgTool): group. """ missing = Bcfg2.Client.Tools.PkgTool.missing_attrs(self, entry) - if entry.get('name', None) == None and + if entry.get('name', None) == None and \ entry.get('group', None) == None: missing += ['name', 'group'] return missing @@ -450,14 +450,20 @@ class YUM(Bcfg2.Client.Tools.PkgTool): instances = [] if self.yumbase.comps.has_group(entry.get('group')): group = self.yumbase.comps.return_group(entry.get('group')) - group_type = getattr(group, '%s_packages' % - entry.get('choose', 'default')) group_packages = [p for p, d in group.mandatory_packages.items() - if d] + \ - [p - for p, d in group_type.items() if d] + group_type = entry.get('choose', 'default') + if group_type in ['default', 'optional', 'all']: + group_packages += [p + for p, d in + group.default_packages.items() + if d] + if group_type in ['optional', 'all']: + group_packages += [p + for p, d in + group.optional_packages.items() + if d] if len(group_packages) == 0: self.logger.error("No packages found for group %s" % entry.get("group")) |