summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander.sulfrian@fu-berlin.de>2015-07-27 17:52:07 +0200
committerAlexander Sulfrian <alexander.sulfrian@fu-berlin.de>2015-07-27 17:52:07 +0200
commit3a1cf61e329c71c356d4d2a851b00065550dfae0 (patch)
tree4b315b5e4a323c5c058906191498700b5097253b
parentc11fcd8110e537db70bf40b91ed14467184b0e1c (diff)
downloadbcfg2-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.
-rw-r--r--src/lib/Bcfg2/Client/Tools/Systemd.py14
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)]