summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2015-10-20 10:30:42 -0500
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2015-10-20 10:30:42 -0500
commit720bb89c940906726f30a62c46521f1851b540c3 (patch)
tree0986c21a29aa2e057008baebcdc1df3c2ff09b09
parenta5a25e56e595ea4eff0449390d62ff72c9d192b3 (diff)
parent3a1cf61e329c71c356d4d2a851b00065550dfae0 (diff)
downloadbcfg2-720bb89c940906726f30a62c46521f1851b540c3.tar.gz
bcfg2-720bb89c940906726f30a62c46521f1851b540c3.tar.bz2
bcfg2-720bb89c940906726f30a62c46521f1851b540c3.zip
Merge pull request #301 from AlexanderS/feature/systemd-extra
Client/Tools/Systemd: Find extra 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 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)]