diff options
author | Sol Jerome <sol.jerome@gmail.com> | 2014-11-06 18:34:20 -0600 |
---|---|---|
committer | Sol Jerome <sol.jerome@gmail.com> | 2014-11-06 18:34:20 -0600 |
commit | be595521fc9fd0bd0fae0115e9b00f504b75db88 (patch) | |
tree | 81e8cec1bdc2fa2618377cf413fb8e61047e93b3 /src | |
parent | f8fd790838e7c21954d4dbaba50ea1509f33fc94 (diff) | |
parent | 8f215dfefb99c4c6a2c50e003de64b52fe992128 (diff) | |
download | bcfg2-be595521fc9fd0bd0fae0115e9b00f504b75db88.tar.gz bcfg2-be595521fc9fd0bd0fae0115e9b00f504b75db88.tar.bz2 bcfg2-be595521fc9fd0bd0fae0115e9b00f504b75db88.zip |
Merge branch 'master' of https://github.com/gordonmessmer/bcfg2
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/Bcfg2/Client/Tools/Systemd.py | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/lib/Bcfg2/Client/Tools/Systemd.py b/src/lib/Bcfg2/Client/Tools/Systemd.py index 027d91c71..3b60c8285 100644 --- a/src/lib/Bcfg2/Client/Tools/Systemd.py +++ b/src/lib/Bcfg2/Client/Tools/Systemd.py @@ -13,15 +13,25 @@ class Systemd(Bcfg2.Client.Tools.SvcTool): __handles__ = [('Service', 'systemd')] __req__ = {'Service': ['name', 'status']} + def get_svc_name(self, service): + """Append .service to name if name doesn't specify a unit type.""" + svc = service.get('name') + if svc.endswith(('.service', '.socket', '.device', '.mount', + '.automount', '.swap', '.target', '.path', + '.timer', '.snapshot', '.slice', '.scope')): + return svc + else: + return '%s.service' % svc + def get_svc_command(self, service, action): - return "/bin/systemctl %s %s.service" % (action, service.get('name')) + return "/bin/systemctl %s %s" % (action, self.get_svc_name(service)) def VerifyService(self, entry, _): """Verify Service status for entry.""" if entry.get('status') == 'ignore': return True - cmd = "/bin/systemctl status %s.service " % (entry.get('name')) + cmd = "/bin/systemctl status %s" % (self.get_svc_name(entry)) rv = self.cmd.run(cmd) if 'Loaded: error' in rv.stdout: |