Produce changes dict for pkg.uptodate dry-run mode

This commit is contained in:
Adam Mendlik 2017-12-23 07:30:00 -07:00
parent 7c67ec39d9
commit 23ab93353b
No known key found for this signature in database
GPG key ID: BD2747BB4A930106

View file

@ -2845,8 +2845,11 @@ def uptodate(name, refresh=False, pkgs=None, **kwargs):
if isinstance(refresh, bool):
try:
packages = __salt__['pkg.list_upgrades'](refresh=refresh, **kwargs)
expected = {pkgname: {'new': pkgver, 'old': __salt__['pkg.version'](pkgname)}
for pkgname, pkgver in six.iteritems(packages)}
if isinstance(pkgs, list):
packages = [pkg for pkg in packages if pkg in pkgs]
expected = {pkgname: pkgver for pkgname, pkgver in six.iteritems(expected) if pkgname in pkgs}
except Exception as exc:
ret['comment'] = str(exc)
return ret
@ -2860,6 +2863,7 @@ def uptodate(name, refresh=False, pkgs=None, **kwargs):
return ret
elif __opts__['test']:
ret['comment'] = 'System update will be performed'
ret['changes'] = expected
ret['result'] = None
return ret