diff options
Diffstat (limited to 'src/lib/Bcfg2/Client')
-rw-r--r-- | src/lib/Bcfg2/Client/Tools/APT.py | 2 | ||||
-rw-r--r-- | src/lib/Bcfg2/Client/Tools/Pkgng.py | 2 | ||||
-rw-r--r-- | src/lib/Bcfg2/Client/Tools/Systemd.py | 14 |
3 files changed, 16 insertions, 2 deletions
diff --git a/src/lib/Bcfg2/Client/Tools/APT.py b/src/lib/Bcfg2/Client/Tools/APT.py index abc76ef1c..9b3dded99 100644 --- a/src/lib/Bcfg2/Client/Tools/APT.py +++ b/src/lib/Bcfg2/Client/Tools/APT.py @@ -236,7 +236,7 @@ class APT(Bcfg2.Client.Tools.Tool): self.logger.error("Cannot find correct versions of packages:") self.logger.error(bad_pkgs) if not ipkgs: - return + return dict() if not self.cmd.run(self.pkgcmd % (" ".join(ipkgs))): self.logger.error("APT command failed") self.pkg_cache = apt.cache.Cache() diff --git a/src/lib/Bcfg2/Client/Tools/Pkgng.py b/src/lib/Bcfg2/Client/Tools/Pkgng.py index eef86a131..025bc59be 100644 --- a/src/lib/Bcfg2/Client/Tools/Pkgng.py +++ b/src/lib/Bcfg2/Client/Tools/Pkgng.py @@ -205,7 +205,7 @@ class Pkgng(Bcfg2.Client.Tools.Tool): self.logger.error("Cannot find correct versions of packages:") self.logger.error(bad_pkgs) if not ipkgs: - return + return dict() if not self.cmd.run(self.pkgcmd % (" ".join(ipkgs))): self.logger.error("pkg command failed") self._load_pkg_cache() diff --git a/src/lib/Bcfg2/Client/Tools/Systemd.py b/src/lib/Bcfg2/Client/Tools/Systemd.py index bfcc69475..5f9208afc 100644 --- a/src/lib/Bcfg2/Client/Tools/Systemd.py +++ b/src/lib/Bcfg2/Client/Tools/Systemd.py @@ -2,6 +2,8 @@ """This is systemd support.""" +import glob +import os import Bcfg2.Client.Tools import Bcfg2.Client.XML @@ -91,3 +93,15 @@ class Systemd(Bcfg2.Client.Tools.SvcTool): return self.cmd.run(cmd).success else: return True + + def FindExtra(self): + """Find Extra Systemd Service entries.""" + specified = [self.get_svc_name(entry) + for entry in self.getSupportedEntries()] + extra = set() + for fname in glob.glob("/etc/systemd/system/*.wants/*"): + name = os.path.basename(fname) + if name not in specified: + extra.add(name) + return [Bcfg2.Client.XML.Element('Service', name=name, type='systemd') + for name in list(extra)] |