diff --git a/changelogs/fragments/service.yml b/changelogs/fragments/service.yml new file mode 100644 index 0000000000..4dbe8375a2 --- /dev/null +++ b/changelogs/fragments/service.yml @@ -0,0 +1,4 @@ +--- +bugfixes: +- Fix glob path of rc.d + Some distribtuions like SUSE has the rc%.d directories under /etc/init.d diff --git a/lib/ansible/module_utils/service.py b/lib/ansible/module_utils/service.py index dc345f5916..a296afb2c9 100644 --- a/lib/ansible/module_utils/service.py +++ b/lib/ansible/module_utils/service.py @@ -48,8 +48,12 @@ def sysv_is_enabled(name, runlevel=None): :kw runlevel: runlevel to check (default: None) ''' if runlevel: + if not os.path.isdir('/etc/rc0.d/'): + return bool(glob.glob('/etc/init.d/rc%s.d/S??%s' % (runlevel, name))) return bool(glob.glob('/etc/rc%s.d/S??%s' % (runlevel, name))) else: + if not os.path.isdir('/etc/rc0.d/'): + return bool(glob.glob('/etc/init.d/rc?.d/S??%s' % name)) return bool(glob.glob('/etc/rc?.d/S??%s' % name))