forked from saltstack/salt
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request saltstack#41390 from rallytime/merge-nitrogen
[nitrogen] Merge forward from 2016.11 to nitrogen
- Loading branch information
Showing
17 changed files
with
804 additions
and
51 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
# -*- coding: utf-8 -*- | ||
''' | ||
Package support for the dummy proxy used by the test suite | ||
''' | ||
from __future__ import absolute_import | ||
|
||
# Import python libs | ||
import logging | ||
import salt.utils | ||
|
||
|
||
log = logging.getLogger(__name__) | ||
|
||
# Define the module's virtual name | ||
__virtualname__ = 'pkg' | ||
|
||
|
||
def __virtual__(): | ||
''' | ||
Only work on systems that are a proxy minion | ||
''' | ||
try: | ||
if salt.utils.is_proxy() and __opts__['proxy']['proxytype'] == 'dummy': | ||
return __virtualname__ | ||
except KeyError: | ||
return (False, 'The dummyproxy_package execution module failed to load. Check the proxy key in pillar or /etc/salt/proxy.') | ||
|
||
return (False, 'The dummyproxy_package execution module failed to load: only works on a dummy proxy minion.') | ||
|
||
|
||
def list_pkgs(versions_as_list=False, **kwargs): | ||
return __proxy__['dummy.package_list']() | ||
|
||
|
||
def install(name=None, refresh=False, fromrepo=None, | ||
pkgs=None, sources=None, **kwargs): | ||
return __proxy__['dummy.package_install'](name, **kwargs) | ||
|
||
|
||
def remove(name=None, pkgs=None, **kwargs): | ||
return __proxy__['dummy.package_remove'](name) | ||
|
||
|
||
def version(*names, **kwargs): | ||
''' | ||
Returns a string representing the package version or an empty string if not | ||
installed. If more than one package name is specified, a dict of | ||
name/version pairs is returned. | ||
CLI Example: | ||
.. code-block:: bash | ||
salt '*' pkg.version <package name> | ||
salt '*' pkg.version <package1> <package2> <package3> ... | ||
''' | ||
if len(names) == 1: | ||
vers = __proxy__['dummy.package_status'](names[0]) | ||
return vers[names[0]] | ||
else: | ||
results = {} | ||
for n in names: | ||
vers = __proxy__['dummy.package_status'](n) | ||
results.update(vers) | ||
return results | ||
|
||
|
||
def upgrade(name=None, pkgs=None, refresh=True, skip_verify=True, | ||
normalize=True, **kwargs): | ||
old = __proxy__['dummy.package_list']() | ||
new = __proxy__['dummy.uptodate']() | ||
pkg_installed = __proxy__['dummy.upgrade']() | ||
ret = salt.utils.compare_dicts(old, pkg_installed) | ||
return ret | ||
|
||
|
||
def installed(name, | ||
version=None, | ||
refresh=False, | ||
fromrepo=None, | ||
skip_verify=False, | ||
pkgs=None, | ||
sources=None, | ||
**kwargs): | ||
|
||
p = __proxy__['dummy.package_status'](name) | ||
if version is None: | ||
if 'ret' in p: | ||
return str(p['ret']) | ||
else: | ||
return True | ||
else: | ||
if p is not None: | ||
return version == str(p) |
Oops, something went wrong.