diff options
author | Alexander Sulfrian <alexander.sulfrian@fu-berlin.de> | 2015-07-27 17:52:07 +0200 |
---|---|---|
committer | Alexander Sulfrian <alexander.sulfrian@fu-berlin.de> | 2015-07-27 17:52:07 +0200 |
commit | 3a1cf61e329c71c356d4d2a851b00065550dfae0 (patch) | |
tree | 4b315b5e4a323c5c058906191498700b5097253b /src/lib/Bcfg2/Client/Tools | |
parent | c11fcd8110e537db70bf40b91ed14467184b0e1c (diff) | |
download | bcfg2-3a1cf61e329c71c356d4d2a851b00065550dfae0.tar.gz bcfg2-3a1cf61e329c71c356d4d2a851b00065550dfae0.tar.bz2 bcfg2-3a1cf61e329c71c356d4d2a851b00065550dfae0.zip |
Client/Tools/Systemd: Find extra entries
Add FindExtra to get a listing of all extra systemd entries.
Diffstat (limited to 'src/lib/Bcfg2/Client/Tools')
-rw-r--r-- | src/lib/Bcfg2/Client/Tools/Systemd.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/lib/Bcfg2/Client/Tools/Systemd.py b/src/lib/Bcfg2/Client/Tools/Systemd.py index f7e5b1b0b..e3ddc3982 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)] |