Merge pull request #44624 from eliasp/fix-upstart-utmp-exception

Fix Traceback when using the `service.enabled` state on non-booted systems
This commit is contained in:
Nicole Thomas 2017-12-28 05:58:42 -05:00 committed by GitHub
commit 30d7f7257a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -97,7 +97,10 @@ def _find_utmp():
result[os.stat(utmp).st_mtime] = utmp
except Exception:
pass
return result[sorted(result).pop()]
if result > 0:
return result[sorted(result).pop()]
else:
return False
def _default_runlevel():
@ -148,12 +151,14 @@ def _runlevel():
'''
if 'upstart._runlevel' in __context__:
return __context__['upstart._runlevel']
out = __salt__['cmd.run'](['runlevel', '{0}'.format(_find_utmp())], python_shell=False)
try:
ret = out.split()[1]
except IndexError:
# The runlevel is unknown, return the default
ret = _default_runlevel()
ret = _default_runlevel()
utmp = _find_utmp()
if utmp:
out = __salt__['cmd.run'](['runlevel', '{0}'.format(utmp)], python_shell=False)
try:
ret = out.split()[1]
except IndexError:
pass
__context__['upstart._runlevel'] = ret
return ret