mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
dockerng: fix/enhance version warning in __virtual__
Currently the call to `log.warning` will throw an error, because `str.join` expects strings, not numbers. This commit fixes it and also handles a mismatching docker-py version more appropriate by returning a tuple instead of logging warnings (hinted via https://github.com/saltstack/salt/pull/27602#discussion_r41057751).
This commit is contained in:
parent
4ddc87157a
commit
561dc4cf94
1 changed files with 13 additions and 6 deletions
|
@ -247,6 +247,7 @@ import time
|
|||
|
||||
# Import Salt libs
|
||||
from salt.exceptions import CommandExecutionError, SaltInvocationError
|
||||
from salt.ext.six.moves import map
|
||||
from salt.utils.decorators \
|
||||
import identical_signature_wrapper as _mimic_signature
|
||||
import salt.utils
|
||||
|
@ -490,6 +491,7 @@ def __virtual__():
|
|||
docker_py_versioninfo = _get_docker_py_versioninfo()
|
||||
except CommandExecutionError:
|
||||
docker_py_versioninfo = None
|
||||
|
||||
# Don't let a failure to interpret the version keep this module from
|
||||
# loading. Log a warning (log happens in _get_docker_py_versioninfo()).
|
||||
if docker_py_versioninfo is None \
|
||||
|
@ -498,17 +500,22 @@ def __virtual__():
|
|||
docker_versioninfo = version().get('VersionInfo')
|
||||
except CommandExecutionError:
|
||||
docker_versioninfo = None
|
||||
|
||||
if docker_versioninfo is None or docker_versioninfo >= MIN_DOCKER:
|
||||
return __virtualname__
|
||||
else:
|
||||
log.warning(
|
||||
return (False,
|
||||
'Insufficient Docker version for dockerng (required: '
|
||||
'{0}, installed: {1})'.format(
|
||||
'.'.join(docker_versioninfo),
|
||||
'.'.join(MIN_DOCKER)
|
||||
)
|
||||
)
|
||||
return False
|
||||
'.'.join(map(str, MIN_DOCKER)),
|
||||
'.'.join(map(str, docker_versioninfo))))
|
||||
else:
|
||||
return (False,
|
||||
'Insufficient docker-py version for dockerng (required: '
|
||||
'{0}, installed: {1})'.format(
|
||||
'.'.join(map(str, MIN_DOCKER_PY)),
|
||||
'.'.join(map(str, docker_py_versioninfo))))
|
||||
return (False, 'Docker module could not get imported')
|
||||
|
||||
|
||||
def _get_docker_py_versioninfo():
|
||||
|
|
Loading…
Add table
Reference in a new issue