mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
Add logic for test=True
This commit is contained in:
parent
c3d9e2d9b2
commit
bcbf7b4e68
1 changed files with 33 additions and 13 deletions
|
@ -97,29 +97,49 @@ def installed(name, version=None, source=None, force=False, pre_versions=False,
|
|||
ret['changes'] = {name: 'Version {0} will be installed'
|
||||
''.format(version)}
|
||||
else:
|
||||
ret['changes'] = {name: 'Will be installed'}
|
||||
ret['changes'] = {name: 'Latest version will be installed'}
|
||||
|
||||
# Package installed
|
||||
else:
|
||||
version_info = __salt__['chocolatey.version'](name, check_remote=True)
|
||||
|
||||
full_name = name
|
||||
lower_name = name.lower()
|
||||
for pkg in version_info:
|
||||
if lower_name == pkg.lower():
|
||||
if name.lower() == pkg.lower():
|
||||
full_name = pkg
|
||||
|
||||
available_version = version_info[full_name]['available'][0]
|
||||
version = version if version else available_version
|
||||
installed_version = version_info[full_name]['installed'][0]
|
||||
|
||||
if force:
|
||||
ret['changes'] = {name: 'Version {0} will be forcibly installed'
|
||||
''.format(version)}
|
||||
elif allow_multiple:
|
||||
ret['changes'] = {name: 'Version {0} will be installed side by side'
|
||||
''.format(version)}
|
||||
if version:
|
||||
if salt.utils.compare_versions(
|
||||
ver1=installed_version, oper="==", ver2=version):
|
||||
if force:
|
||||
ret['changes'] = {name: 'Version {0} will be reinstalled'
|
||||
''.format(version)}
|
||||
else:
|
||||
ret['comment'] = '{0} {1} is already installed' \
|
||||
''.format(name, version)
|
||||
return ret
|
||||
else:
|
||||
if allow_multiple:
|
||||
ret['changes'] = {
|
||||
name: 'Version {0} will be installed side by side with '
|
||||
'Version {1} if supported'
|
||||
''.format(version, installed_version)}
|
||||
else:
|
||||
ret['changes'] = {
|
||||
name: 'Version {0} will be installed over Existing '
|
||||
'Version {1}'.format(version, installed_version)}
|
||||
force = True
|
||||
else:
|
||||
ret['comment'] = 'The Package {0} is already installed'.format(name)
|
||||
return ret
|
||||
version = installed_version
|
||||
if force:
|
||||
ret['changes'] = {name: 'Version {0} will be reinstalled'
|
||||
''.format(version)}
|
||||
else:
|
||||
ret['comment'] = '{0} {1} is already installed' \
|
||||
''.format(name, version)
|
||||
return ret
|
||||
|
||||
if __opts__['test']:
|
||||
ret['result'] = None
|
||||
|
|
Loading…
Add table
Reference in a new issue