summaryrefslogtreecommitdiffstats
path: root/ipaplatform/base
diff options
context:
space:
mode:
authorDavid Kupka <dkupka@redhat.com>2014-11-06 18:08:58 -0500
committerPetr Vobornik <pvoborni@redhat.com>2014-11-13 13:53:23 +0100
commite28eb13907053ca9d49e4bf66cb32820f1a2ef1d (patch)
treee1e0f6159ed711ccc2407cad97293c12b3c808d2 /ipaplatform/base
parent2712b609cb1edb478aa6a55da1f6529befaa2edb (diff)
downloadfreeipa-e28eb13907053ca9d49e4bf66cb32820f1a2ef1d.tar.gz
freeipa-e28eb13907053ca9d49e4bf66cb32820f1a2ef1d.tar.xz
freeipa-e28eb13907053ca9d49e4bf66cb32820f1a2ef1d.zip
Remove service file even if it isn't link.
(Link to) service file from /etc/systemd/system/ must be removed before masking systemd service. https://fedorahosted.org/freeipa/ticket/4658 Reviewed-By: Jan Cholasta <jcholast@redhat.com>
Diffstat (limited to 'ipaplatform/base')
-rw-r--r--ipaplatform/base/services.py8
1 files changed, 3 insertions, 5 deletions
diff --git a/ipaplatform/base/services.py b/ipaplatform/base/services.py
index 5921da920..24d7a73df 100644
--- a/ipaplatform/base/services.py
+++ b/ipaplatform/base/services.py
@@ -442,11 +442,9 @@ class SystemdService(PlatformService):
pass
def mask(self, instance_name=""):
- if instance_name != "":
- srv_tgt = os.path.join(paths.ETC_SYSTEMD_SYSTEM_DIR, instance_name)
- # remove instance file or link before masking
- if os.path.islink(srv_tgt):
- os.unlink(srv_tgt)
+ srv_tgt = os.path.join(paths.ETC_SYSTEMD_SYSTEM_DIR, self.service_instance(instance_name))
+ if os.path.exists(srv_tgt):
+ os.unlink(srv_tgt)
try:
ipautil.run([paths.SYSTEMCTL, "mask",
self.service_instance(instance_name)])