handle semodule version >=2.4 (#37732) and fix typo

This commit is contained in:
David Haines 2016-11-16 14:47:05 -05:00
parent 98e25c68aa
commit b16f2d8400
2 changed files with 35 additions and 14 deletions

View file

@ -240,16 +240,36 @@ def list_semod():
.. versionadded:: 2016.3.0
'''
mdata = __salt__['cmd.run']('semodule -l').splitlines()
ret = {}
for line in mdata[1:]:
if not line.strip():
continue
comps = line.split()
if len(comps) == 3:
ret[comps[0]] = {'Enabled': False,
'Version': comps[1]}
else:
ret[comps[0]] = {'Enabled': True,
'Version': comps[1]}
semodule_versioncheck = __salt__['cmd.run']('semodule -h').splitlines()
semodule_version = ''
for line in versioncheck[1:]:
if line.strip.startswith('full'):
semodule_version = 'new'
if semodule_version == 'new':
mdata = __salt__['cmd.run']('semodule -lfull').splitlines()
ret = {}
for line in mdata[1:]:
if not line.strip():
continue
comps = line.split()
if len(comps) == 4:
ret[comps[1]] = {'Enabled': False,
'Version': None}
else:
ret[comps[1]] = {'Enabled': True,
'Version': None}
else:
mdata = __salt__['cmd.run']('semodule -l').splitlines()
ret = {}
for line in mdata[1:]:
if not line.strip():
continue
comps = line.split()
if len(comps) == 3:
ret[comps[0]] = {'Enabled': False,
'Version': comps[1]}
else:
ret[comps[0]] = {'Enabled': True,
'Version': comps[1]}
return ret

View file

@ -198,7 +198,8 @@ def module(name, module_state='Enabled', version='any'):
installed_version = modules[name]['Version']
if not installed_version == version:
ret['comment'] = 'Module version is {0} and does not match ' \
'the desired version of {1}'.format(installed_version, version)
'the desired version of {1} or you are ' \
'using semodule >= 2.4'.format(installed_version, version)
ret['result'] = False
return ret
current_module_state = _refine_module_state(modules[name]['Enabled'])
@ -207,7 +208,7 @@ def module(name, module_state='Enabled', version='any'):
return ret
if __opts__['test']:
ret['result'] = None
ret['comment'] = 'Module {0} is set to be togggled to {1}'.format(
ret['comment'] = 'Module {0} is set to be toggled to {1}'.format(
name, module_state)
return ret