mirror of
https://github.com/valitydev/salt.git
synced 2024-11-08 09:23:56 +00:00
Merge pull request #1 from terminalmage/pr-36538
Move check for service availability to a helper function
This commit is contained in:
commit
833beb9b36
@ -71,6 +71,23 @@ def _canonical_unit_name(name):
|
||||
return '%s.service' % name
|
||||
|
||||
|
||||
def _check_available(name):
|
||||
'''
|
||||
Returns boolean telling whether or not the named service is available
|
||||
'''
|
||||
out = _systemctl_status(name).lower()
|
||||
for line in salt.utils.itertools.split(out, '\n'):
|
||||
match = re.match(r'\s+loaded:\s+(\S+)', line)
|
||||
if match:
|
||||
ret = match.group(1) != 'not-found'
|
||||
break
|
||||
else:
|
||||
raise CommandExecutionError(
|
||||
'Failed to get information on unit \'%s\'' % name
|
||||
)
|
||||
return ret
|
||||
|
||||
|
||||
def _check_for_unit_changes(name):
|
||||
'''
|
||||
Check for modified/updated unit files, and run a daemon-reload if any are
|
||||
@ -298,7 +315,7 @@ def _untracked_custom_unit_found(name):
|
||||
'''
|
||||
unit_path = os.path.join('/etc/systemd/system',
|
||||
_canonical_unit_name(name))
|
||||
return os.access(unit_path, os.R_OK) and not available(name, False)
|
||||
return os.access(unit_path, os.R_OK) and not _check_available(name)
|
||||
|
||||
|
||||
def _unit_file_changed(name):
|
||||
@ -468,7 +485,7 @@ def get_all():
|
||||
return sorted(ret)
|
||||
|
||||
|
||||
def available(name, check_units=True):
|
||||
def available(name):
|
||||
'''
|
||||
.. versionadded:: 0.10.4
|
||||
|
||||
@ -481,19 +498,8 @@ def available(name, check_units=True):
|
||||
|
||||
salt '*' service.available sshd
|
||||
'''
|
||||
if check_units:
|
||||
_check_for_unit_changes(name)
|
||||
out = _systemctl_status(name).lower()
|
||||
for line in salt.utils.itertools.split(out, '\n'):
|
||||
match = re.match(r'\s+loaded:\s+(\S+)', line)
|
||||
if match:
|
||||
ret = match.group(1) != 'not-found'
|
||||
break
|
||||
else:
|
||||
raise CommandExecutionError(
|
||||
'Failed to get information on unit \'%s\'' % name
|
||||
)
|
||||
return ret
|
||||
_check_for_unit_changes(name)
|
||||
return _check_available(name)
|
||||
|
||||
|
||||
def missing(name):
|
||||
|
Loading…
Reference in New Issue
Block a user