Use salt.utils.versions instead of distutils.version

This commit is contained in:
Pedro Algarvio 2017-03-08 18:25:04 +00:00
parent 3a10e3014b
commit 0b41b92d7d
No known key found for this signature in database
GPG key ID: BB36BF6584A298FF
79 changed files with 248 additions and 210 deletions

View file

@ -80,12 +80,12 @@ from __future__ import absolute_import
import logging
import json
import datetime
from distutils.version import LooseVersion as _LooseVersion # pylint: disable=import-error,no-name-in-module
# Import Salt libs
import salt.ext.six as six
import salt.utils.boto3
import salt.utils.compat
from salt.utils.versions import LooseVersion as _LooseVersion
log = logging.getLogger(__name__)

View file

@ -52,13 +52,13 @@ The dependencies listed above can be installed via package or pip.
# Import Python libs
from __future__ import absolute_import
import logging
from distutils.version import LooseVersion as _LooseVersion # pylint: disable=import-error,no-name-in-module
# Import Salt libs
import salt.ext.six as six
import salt.utils.boto3
import salt.utils.compat
import salt.utils
from salt.utils.versions import LooseVersion as _LooseVersion
log = logging.getLogger(__name__)

View file

@ -74,17 +74,17 @@ Connection module for Amazon CognitoIdentity
'''
# keep lint from choking on _get_conn and _cache_id
#pylint: disable=E0602
# pylint: disable=E0602
# Import Python libs
from __future__ import absolute_import
import logging
from distutils.version import LooseVersion as _LooseVersion # pylint: disable=import-error,no-name-in-module
# Import Salt libs
import salt.utils.boto3
import salt.utils.compat
import salt.utils
from salt.utils.versions import LooseVersion as _LooseVersion
log = logging.getLogger(__name__)
@ -92,10 +92,10 @@ log = logging.getLogger(__name__)
# pylint: disable=import-error
try:
#pylint: disable=unused-import
# pylint: disable=unused-import
import boto
import boto3
#pylint: enable=unused-import
# pylint: enable=unused-import
from botocore.exceptions import ClientError
logging.getLogger('boto').setLevel(logging.CRITICAL)
logging.getLogger('boto3').setLevel(logging.CRITICAL)

View file

@ -50,13 +50,13 @@ from __future__ import absolute_import
import logging
import time
import json
from distutils.version import LooseVersion as _LooseVersion # pylint: disable=import-error,no-name-in-module
# Import Salt libs
import salt.utils
import salt.utils.compat
import salt.ext.six as six
from salt.exceptions import SaltInvocationError, CommandExecutionError
from salt.utils.versions import LooseVersion as _LooseVersion
# Import third party libs
try:

View file

@ -52,7 +52,6 @@ Connection module for Amazon EFS
# Import python libs
from __future__ import absolute_import
import logging
from distutils.version import LooseVersion as _LooseVersion
# Import 3rd-party libs
@ -63,6 +62,8 @@ try:
except ImportError:
HAS_BOTO3 = False
# Import salt libs
from salt.utils.versions import LooseVersion as _LooseVersion
log = logging.getLogger(__name__)

View file

@ -78,7 +78,6 @@ Connection module for Amazon Elasticsearch Service
from __future__ import absolute_import
import logging
import json
from distutils.version import LooseVersion as _LooseVersion # pylint: disable=import-error,no-name-in-module
# Import Salt libs
import salt.ext.six as six
@ -86,6 +85,7 @@ import salt.utils.boto3
import salt.utils.compat
import salt.utils
from salt.exceptions import SaltInvocationError
from salt.utils.versions import LooseVersion as _LooseVersion
log = logging.getLogger(__name__)

View file

@ -42,19 +42,23 @@ Connection module for Amazon ELB
:depends: boto >= 2.33.0
'''
# keep lint from choking on _get_conn and _cache_id
#pylint: disable=E0602
# pylint: disable=E0602
from __future__ import absolute_import
# Import Python libs
import logging
from distutils.version import LooseVersion as _LooseVersion # pylint: disable=import-error,no-name-in-module
import json
import salt.ext.six as six
log = logging.getLogger(__name__)
# Import Salt libs
import salt.utils.odict as odict
from salt.utils.versions import LooseVersion as _LooseVersion
# Import third party libs
import salt.ext.six as six
from salt.ext.six import string_types
try:
import boto
import boto.ec2 # pylint: enable=unused-import
@ -75,10 +79,6 @@ try:
except ImportError:
HAS_BOTO = False
# Import Salt libs
from salt.ext.six import string_types
import salt.utils.odict as odict
def __virtual__():
'''

View file

@ -54,18 +54,17 @@ from __future__ import absolute_import
import logging
import json
import datetime
from distutils.version import LooseVersion as _LooseVersion # pylint: disable=import-error,no-name-in-module
# Import Salt libs
import salt.utils.boto3
import salt.utils.compat
import salt.utils
from salt.ext.six import string_types
from salt.utils.versions import LooseVersion as _LooseVersion
log = logging.getLogger(__name__)
# Import third party libs
from salt.ext.six import string_types
# pylint: disable=import-error
try:
#pylint: disable=unused-import

View file

@ -41,11 +41,11 @@ from __future__ import absolute_import
# Import Python libs
import logging
from salt.serializers import json
from distutils.version import LooseVersion as _LooseVersion # pylint: disable=import-error,no-name-in-module
# Import Salt libs
import salt.utils.compat
import salt.utils.odict as odict
from salt.utils.versions import LooseVersion as _LooseVersion
log = logging.getLogger(__name__)

View file

@ -83,7 +83,6 @@ The dependencies listed above can be installed via package or pip.
from __future__ import absolute_import
import logging
import json
from distutils.version import LooseVersion as _LooseVersion # pylint: disable=import-error,no-name-in-module
import time
import random
@ -92,6 +91,7 @@ import salt.ext.six as six
import salt.utils.boto3
import salt.utils.compat
import salt.utils
from salt.utils.versions import LooseVersion as _LooseVersion
from salt.exceptions import SaltInvocationError
from salt.ext.six.moves import range # pylint: disable=import-error

View file

@ -48,20 +48,20 @@ Connection module for Amazon RDS
# Import Python libs
from __future__ import absolute_import
import logging
from salt.exceptions import SaltInvocationError
from distutils.version import LooseVersion as _LooseVersion # pylint: disable=import-error,no-name-in-module
from time import time, sleep
import time
# Import Salt libs
import salt.utils.boto3
import salt.utils.compat
import salt.utils.odict as odict
import salt.utils
import salt.ext.six as six
from salt.exceptions import SaltInvocationError
from salt.utils.versions import LooseVersion as _LooseVersion
log = logging.getLogger(__name__)
# Import third party libs
import salt.ext.six as six
# pylint: disable=import-error
try:
#pylint: disable=unused-import
@ -298,7 +298,7 @@ def create(name, allocated_storage, db_instance_class, engine,
while True:
log.info('Waiting 10 secs...')
sleep(10)
time.sleep(10)
_describe = describe(name=name, tags=tags, region=region, key=key,
keyid=keyid, profile=profile)['rds']
if not _describe:
@ -626,7 +626,7 @@ def delete(name, skip_final_snapshot=None, final_db_snapshot_identifier=None,
return {'deleted': bool(res), 'message':
'Deleted RDS instance {0}.'.format(name)}
start_time = time()
start_time = time.time()
while True:
res = __salt__['boto_rds.exists'](name=name, tags=tags, region=region,
key=key, keyid=keyid,
@ -635,11 +635,11 @@ def delete(name, skip_final_snapshot=None, final_db_snapshot_identifier=None,
return {'deleted': bool(res), 'message':
'Deleted RDS instance {0} completely.'.format(name)}
if time() - start_time > timeout:
if time.time() - start_time > timeout:
raise SaltInvocationError('RDS instance {0} has not been '
'deleted completely after {1} '
'seconds'.format(name, timeout))
sleep(10)
time.sleep(10)
except ClientError as e:
return {'error': salt.utils.boto3.get_error(e)}

View file

@ -49,13 +49,13 @@ from __future__ import absolute_import
# Import Python libs
import logging
from distutils.version import LooseVersion as _LooseVersion # pylint: disable=import-error,no-name-in-module
import time
# Import salt libs
import salt.utils.compat
import salt.utils.odict as odict
from salt.exceptions import SaltInvocationError
from salt.utils.versions import LooseVersion as _LooseVersion
log = logging.getLogger(__name__)

View file

@ -47,14 +47,13 @@ The dependencies listed above can be installed via package or pip.
'''
# keep lint from choking on _get_conn and _cache_id
#pylint: disable=E0602
# disable complaints about perfectly falid non-assignment code
#pylint: disable=W0106
# pylint: disable=E0602
# disable complaints about perfectly valid non-assignment code
# pylint: disable=W0106
# Import Python libs
from __future__ import absolute_import
import logging
from distutils.version import LooseVersion as _LooseVersion # pylint: disable=import-error,no-name-in-module
import json
# Import Salt libs
@ -63,6 +62,7 @@ from salt.ext.six.moves import range # pylint: disable=import-error
import salt.utils.compat
import salt.utils
from salt.exceptions import SaltInvocationError
from salt.utils.versions import LooseVersion as _LooseVersion
log = logging.getLogger(__name__)
@ -70,10 +70,10 @@ log = logging.getLogger(__name__)
# pylint: disable=import-error
try:
#pylint: disable=unused-import
# pylint: disable=unused-import
import boto
import boto3
#pylint: enable=unused-import
# pylint: enable=unused-import
from botocore.exceptions import ClientError
logging.getLogger('boto3').setLevel(logging.CRITICAL)
HAS_BOTO = True

View file

@ -48,13 +48,11 @@ from __future__ import absolute_import
# Import Python libs
import logging
from distutils.version import LooseVersion as _LooseVersion # pylint: disable=import-error,no-name-in-module
import salt.ext.six as six
from salt.exceptions import SaltInvocationError, CommandExecutionError
log = logging.getLogger(__name__)
# Import third party libs
import salt.ext.six as six
try:
# pylint: disable=unused-import
import boto
@ -65,7 +63,10 @@ try:
except ImportError:
HAS_BOTO = False
# Import Salt libs
import salt.utils.odict as odict
from salt.utils.versions import LooseVersion as _LooseVersion
from salt.exceptions import SaltInvocationError, CommandExecutionError
from salt.exceptions import SaltInvocationError

View file

@ -127,7 +127,6 @@ Deleting VPC peering connection via this module
from __future__ import absolute_import
import logging
import socket
from distutils.version import LooseVersion as _LooseVersion # pylint: disable=import-error,no-name-in-module
import time
import random
@ -136,7 +135,7 @@ import salt.utils.boto
import salt.utils.boto3
import salt.utils.compat
from salt.exceptions import SaltInvocationError, CommandExecutionError
from salt.ext.six.moves import range # pylint: disable=import-error
from salt.utils.versions import LooseVersion as _LooseVersion
# from salt.utils import exactly_one
# TODO: Uncomment this and s/_exactly_one/exactly_one/
@ -149,6 +148,7 @@ log = logging.getLogger(__name__)
# Import third party libs
import salt.ext.six as six
from salt.ext.six.moves import range # pylint: disable=import-error
# pylint: disable=import-error
try:
#pylint: disable=unused-import

View file

@ -13,12 +13,12 @@ from __future__ import absolute_import
# Import python libs
import json
import logging
import distutils.version # pylint: disable=import-error,no-name-in-module
import shlex
# Import salt libs
import salt.utils
from salt.exceptions import CommandExecutionError
from salt.utils.versions import LooseVersion as _LooseVersion
log = logging.getLogger(__name__)
@ -44,9 +44,9 @@ def _check_valid_version():
bower must be at least version 1.3.
'''
# pylint: disable=no-member
bower_version = distutils.version.LooseVersion(
bower_version = _LooseVersion(
__salt__['cmd.run']('bower --version'))
valid_version = distutils.version.LooseVersion('1.3')
valid_version = _LooseVersion('1.3')
# pylint: enable=no-member
if bower_version < valid_version:
raise CommandExecutionError(

View file

@ -12,10 +12,10 @@ import logging
import os.path
import re
import tempfile
from distutils.version import LooseVersion as _LooseVersion # pylint: disable=import-error,no-name-in-module
# Import salt libs
import salt.utils
from salt.utils.versions import LooseVersion as _LooseVersion
from salt.exceptions import CommandExecutionError, CommandNotFoundError, \
SaltInvocationError

View file

@ -259,7 +259,6 @@ import bz2
import copy
# Remove unused-import from disabled pylint checks when we uncomment the logic
# in _get_exec_driver() which checks the docker version
import distutils.version # pylint: disable=import-error,no-name-in-module,unused-import
import fnmatch
import functools
import gzip
@ -290,6 +289,7 @@ import salt.utils.thin
import salt.pillar
import salt.exceptions
import salt.fileclient
from salt.utils.versions import StrictVersion as _StrictVersion
from salt.state import HighState
import salt.client.ssh.state
@ -678,7 +678,7 @@ class _client_version(object):
Enforce a specific Docker client version
'''
def __init__(self, version):
self.version = distutils.version.StrictVersion(version)
self.version = _StrictVersion(version)
def __call__(self, func):
def wrapper(*args, **kwargs):
@ -687,7 +687,7 @@ class _client_version(object):
'''
_get_client()
current_version = '.'.join(map(str, _get_docker_py_versioninfo()))
if distutils.version.StrictVersion(current_version) < self.version:
if _StrictVersion(current_version) < self.version:
error_message = (
'This function requires a Docker Client version of at least '
'{0}. Version in use is {1}.'
@ -888,8 +888,8 @@ def _get_exec_driver():
if 'VersionInfo' in _version:
if _version['VersionInfo'] >= (1, 3, 0):
__context__[contextkey] = 'docker-exec'
elif distutils.version.LooseVersion(version()['Version']) \
>= distutils.version.LooseVersion('1.3.0'):
elif salt.utils.versions.LooseVersion(version()['Version']) \
>= salt.utils.versions.LooseVersion('1.3.0'):
# LooseVersion is less preferable, but OK as a fallback.
__context__[contextkey] = 'docker-exec'

View file

@ -9,7 +9,6 @@ import copy
import logging
import os
import re
from distutils.version import LooseVersion as _LooseVersion # pylint: disable=no-name-in-module
# Import salt libs
import salt.utils
@ -17,6 +16,7 @@ import salt.utils.files
import salt.utils.itertools
import salt.utils.url
from salt.exceptions import SaltInvocationError, CommandExecutionError
from salt.utils.versions import LooseVersion as _LooseVersion
from salt.ext import six
log = logging.getLogger(__name__)

View file

@ -14,7 +14,6 @@ Sign, encrypt and sign plus encrypt text and files.
# Import python libs
from __future__ import absolute_import
import distutils.version # pylint: disable=import-error,no-name-in-module
import functools
import logging
import os
@ -25,6 +24,7 @@ import time
import salt.utils
import salt.syspaths
from salt.exceptions import SaltInvocationError
from salt.utils.versions import LooseVersion as _LooseVersion
# Import 3rd-party libs
import salt.ext.six as six
@ -97,7 +97,7 @@ def __virtual__():
return (False, 'The gpg execution module cannot be loaded: '
'gpg binary is not in the path.')
if HAS_LIBS:
gnupg_version = distutils.version.LooseVersion(gnupg.__version__)
gnupg_version = _LooseVersion(gnupg.__version__)
if gnupg_version >= '1.3.1':
global GPG_1_3_1
GPG_1_3_1 = True
@ -1013,7 +1013,7 @@ def sign(user=None,
# Check for at least one secret key to sign with
gnupg_version = distutils.version.LooseVersion(gnupg.__version__)
gnupg_version = _LooseVersion(gnupg.__version__)
if text:
if gnupg_version >= '1.3.1':
signed_data = gpg.sign(text, default_key=keyid, passphrase=gpg_passphrase)

View file

@ -10,10 +10,9 @@ Module for the management of MacOS systems that use launchd/launchctl
:depends: - plistlib Python module
'''
from __future__ import absolute_import
from distutils.version import LooseVersion # pylint: disable=no-name-in-module
# Import python libs
from __future__ import absolute_import
import logging
import os
import plistlib
@ -22,6 +21,7 @@ import re
# Import salt libs
import salt.utils
import salt.utils.decorators as decorators
from salt.utils.versions import LooseVersion as _LooseVersion
import salt.ext.six as six
# Set up logging
@ -45,11 +45,11 @@ def __virtual__():
return (False, 'Failed to load the mac_service module:\n'
'Required binary not found: "/bin/launchctl"')
if LooseVersion(__grains__['osrelease']) >= LooseVersion('10.11'):
if _LooseVersion(__grains__['osrelease']) >= _LooseVersion('10.11'):
return (False, 'Failed to load the mac_service module:\n'
'Not available on El Capitan, uses mac_service.py')
if LooseVersion(__grains__['osrelease']) >= LooseVersion('10.10'):
if _LooseVersion(__grains__['osrelease']) >= _LooseVersion('10.10'):
global BEFORE_YOSEMITE
BEFORE_YOSEMITE = False

View file

@ -27,10 +27,10 @@ from __future__ import absolute_import
# Import Python libs
import logging
from distutils.version import LooseVersion as _LooseVersion # pylint: disable=import-error,no-name-in-module
# Import salt libs
import salt.utils.compat
from salt.utils.versions import LooseVersion as _LooseVersion
log = logging.getLogger(__name__)

View file

@ -23,7 +23,6 @@ import time
import shutil
import re
import random
import distutils.version # pylint: disable=no-name-in-module,import-error
# Import salt libs
import salt
@ -34,6 +33,7 @@ import salt.utils.network
from salt.exceptions import CommandExecutionError, SaltInvocationError
import salt.utils.cloud
import salt.config
from salt.utils.versions import LooseVersion as _LooseVersion
# Import 3rd-party libs
import salt.ext.six as six
@ -120,8 +120,8 @@ def version():
if not __context__.get(k, None):
cversion = __salt__['cmd.run_all']('lxc-info --version')
if not cversion['retcode']:
ver = distutils.version.LooseVersion(cversion['stdout'])
if ver < distutils.version.LooseVersion('1.0'):
ver = _LooseVersion(cversion['stdout'])
if ver < _LooseVersion('1.0'):
raise CommandExecutionError('LXC should be at least 1.0')
__context__[k] = "{0}".format(ver)
return __context__.get(k, None)
@ -870,11 +870,9 @@ def _network_conf(conf_tuples=None, **kwargs):
# on old versions of lxc, still support the gateway auto mode
# if we didnt explicitly say no to
# (lxc.network.ipv4.gateway: auto)
if (
distutils.version.LooseVersion(version()) <= '1.0.7' and
True not in ['lxc.network.ipv4.gateway' in a for a in ret] and
True in ['lxc.network.ipv4' in a for a in ret]
):
if _LooseVersion(version()) <= '1.0.7' and \
True not in ['lxc.network.ipv4.gateway' in a for a in ret] and \
True in ['lxc.network.ipv4' in a for a in ret]:
ret.append({'lxc.network.ipv4.gateway': 'auto'})
return ret
@ -2081,7 +2079,7 @@ def clone(name,
if backing in ('dir', 'overlayfs', 'btrfs'):
size = None
# LXC commands and options changed in 2.0 - CF issue #34086 for details
if version() >= distutils.version.LooseVersion('2.0'):
if version() >= _LooseVersion('2.0'):
# https://linuxcontainers.org/lxc/manpages//man1/lxc-copy.1.html
cmd = 'lxc-copy'
cmd += ' {0} -n {1} -N {2}'.format(snapshot, orig, name)

View file

@ -11,13 +11,13 @@ This module allows you to manage assistive access on macOS minions with 10.9+
# Import Python Libs
from __future__ import absolute_import
from distutils.version import LooseVersion # pylint: disable=no-name-in-module
import re
import logging
# Import salt libs
import salt.utils
from salt.exceptions import CommandExecutionError
from salt.utils.versions import LooseVersion as _LooseVersion
log = logging.getLogger(__name__)
@ -28,7 +28,7 @@ def __virtual__():
'''
Only work on Mac OS
'''
if salt.utils.is_darwin() and LooseVersion(__grains__['osrelease']) >= '10.9':
if salt.utils.is_darwin() and _LooseVersion(__grains__['osrelease']) >= '10.9':
return True
return False, 'The assistive module cannot be loaded: must be run on ' \
'macOS 10.9 or newer.'
@ -52,7 +52,7 @@ def install(app_id, enable=True):
salt '*' assistive.install /usr/bin/osascript
salt '*' assistive.install com.smileonmymac.textexpander
'''
ge_el_capitan = True if LooseVersion(__grains__['osrelease']) >= '10.11' else False
ge_el_capitan = True if _LooseVersion(__grains__['osrelease']) >= '10.11' else False
client_type = _client_type(app_id)
enable_str = '1' if enable else '0'
cmd = 'sqlite3 "/Library/Application Support/com.apple.TCC/TCC.db" ' \

View file

@ -9,12 +9,12 @@ from __future__ import absolute_import
import os
import re
import plistlib
from distutils.version import LooseVersion # pylint: disable=no-name-in-module
# Import salt libs
import salt.utils
import salt.utils.decorators as decorators
from salt.exceptions import CommandExecutionError
from salt.utils.versions import LooseVersion as _LooseVersion
# Import 3rd party libs
import salt.ext.six as six
@ -43,7 +43,7 @@ def __virtual__():
return (False, 'Failed to load the mac_service module:\n'
'Required binary not found: "plutil"')
if LooseVersion(__grains__['osrelease']) < LooseVersion('10.11'):
if _LooseVersion(__grains__['osrelease']) < _LooseVersion('10.11'):
return (False, 'Failed to load the mac_service module:\n'
'Requires macOS 10.11 or newer')

View file

@ -17,16 +17,16 @@ from __future__ import absolute_import
# Import python libs
import logging
from distutils.version import LooseVersion # pylint: disable=import-error,no-name-in-module
import json
import re
# Import salt libs
from salt.ext.six import string_types
from salt.utils.versions import LooseVersion as _LooseVersion
from salt.exceptions import get_error_message as _get_error_message
# Import third party libs
import salt.ext.six as six
try:
import pymongo
HAS_MONGODB = True
@ -79,7 +79,7 @@ def _to_dict(objects):
Potentially interprets a string as JSON for usage with mongo
"""
try:
if isinstance(objects, string_types):
if isinstance(objects, six.string_types):
objects = json.loads(objects)
except ValueError as err:
log.error("Could not parse objects: %s", err)
@ -122,7 +122,7 @@ def db_exists(name, user=None, password=None, host=None, port=None, authdb=None)
'''
dbs = db_list(user, password, host, port, authdb=authdb)
if isinstance(dbs, string_types):
if isinstance(dbs, six.string_types):
return False
return name in dbs
@ -238,7 +238,7 @@ def user_list(user=None, password=None, host=None, port=None, database='admin',
output = []
mongodb_version = _version(mdb)
if LooseVersion(mongodb_version) >= LooseVersion('2.6'):
if _LooseVersion(mongodb_version) >= _LooseVersion('2.6'):
for user in mdb.command('usersInfo')['users']:
output.append(
{'user': user['user'],
@ -274,7 +274,7 @@ def user_exists(name, user=None, password=None, host=None, port=None,
'''
users = user_list(user, password, host, port, database, authdb)
if isinstance(users, string_types):
if isinstance(users, six.string_types):
return 'Failed to connect to mongo database'
for user in users:
@ -368,7 +368,7 @@ def user_roles_exists(name, roles, database, user=None, password=None, host=None
users = user_list(user, password, host, port, database, authdb)
if isinstance(users, string_types):
if isinstance(users, six.string_types):
return 'Failed to connect to mongo database'
for user in users:

View file

@ -11,12 +11,12 @@ except ImportError:
# Import python libs
import json
import logging
import distutils.version # pylint: disable=import-error,no-name-in-module
# Import salt libs
import salt.utils
import salt.modules.cmdmod
from salt.exceptions import CommandExecutionError
from salt.utils.versions import LooseVersion as _LooseVersion
log = logging.getLogger(__name__)
@ -48,9 +48,9 @@ def _check_valid_version():
npm must be at least version 1.2.
'''
# pylint: disable=no-member
npm_version = distutils.version.LooseVersion(
npm_version = _LooseVersion(
salt.modules.cmdmod.run('npm --version', output_loglevel='quiet'))
valid_version = distutils.version.LooseVersion('1.2')
valid_version = _LooseVersion('1.2')
# pylint: enable=no-member
if npm_version < valid_version:
raise CommandExecutionError(

View file

@ -23,7 +23,6 @@ import copy
import os
import re
import logging
import distutils.version
from salt.ext import six
try:
from shlex import quote as _cmd_quote # pylint: disable=E0611
@ -33,6 +32,7 @@ except ImportError:
# Import salt libs
import salt.utils
import salt.utils.itertools
from salt.utils.versions import LooseVersion as _LooseVersion
from salt.exceptions import (
CommandExecutionError, MinionError, SaltInvocationError
@ -947,7 +947,7 @@ def version_cmp(pkg1, pkg2, ignore_epoch=False):
output_loglevel='trace',
python_shell=False)
opkg_version = output.split(' ')[2].strip()
if distutils.version.LooseVersion(opkg_version) >= distutils.version.LooseVersion('0.3.4'):
if _LooseVersion(opkg_version) >= _LooseVersion('0.3.4'):
cmd_compare = ['opkg', 'compare-versions']
elif salt.utils.which('opkg-compare-versions'):
cmd_compare = ['opkg-compare-versions']

View file

@ -17,13 +17,13 @@ import fnmatch
import logging
import re
import os.path
from distutils.version import LooseVersion as _LooseVersion # pylint: disable=no-name-in-module,import-error
# Import salt libs
import salt.utils
import salt.utils.itertools
import salt.utils.systemd
from salt.exceptions import CommandExecutionError, MinionError
from salt.utils.versions import LooseVersion as _LooseVersion
# Import 3rd-party libs
import salt.ext.six as six

View file

@ -34,7 +34,6 @@ Module to provide Postgres compatibility to salt.
# Import python libs
from __future__ import absolute_import
import datetime
import distutils.version # pylint: disable=import-error,no-name-in-module
import logging
import hashlib
import os
@ -52,6 +51,7 @@ import salt.utils
import salt.utils.files
import salt.utils.itertools
from salt.exceptions import CommandExecutionError, SaltInvocationError
from salt.utils.versions import LooseVersion as _LooseVersion
# Import 3rd-party libs
import salt.ext.six as six
@ -293,7 +293,7 @@ def _parsed_version(user=None, host=None, port=None, maintenance_db=None,
)
if psql_version:
return distutils.version.LooseVersion(psql_version)
return _LooseVersion(psql_version)
else:
log.warning('Attempt to parse version of Postgres server failed. '
'Is the server responding?')
@ -810,11 +810,11 @@ def user_list(user=None, host=None, port=None, maintenance_db=None,
password=password,
runas=runas)
if ver:
if ver >= distutils.version.LooseVersion('9.1'):
if ver >= _LooseVersion('9.1'):
replication_column = 'pg_roles.rolreplication'
else:
replication_column = 'NULL'
if ver >= distutils.version.LooseVersion('9.5'):
if ver >= _LooseVersion('9.5'):
rolcatupdate_column = 'NULL'
else:
rolcatupdate_column = 'pg_roles.rolcatupdate'

View file

@ -103,30 +103,31 @@ from __future__ import absolute_import
# Import python libs
import os
import re
import time
import calendar
import logging
import math
import binascii
import salt.utils
from salt._compat import string_types
from salt.ext.six.moves import range as _range
from datetime import datetime
from distutils.version import LooseVersion # pylint: disable=no-name-in-module
import re
# Import salt libs
from salt.utils.versions import LooseVersion as _LooseVersion
# Import 3rd-party libs
import salt.ext.six as six
from salt.ext.six.moves import range as _range
HAS_SSL = False
X509_EXT_ENABLED = True
try:
import OpenSSL
HAS_SSL = True
OpenSSL_version = LooseVersion(OpenSSL.__dict__.get('__version__', '0.0'))
OpenSSL_version = _LooseVersion(OpenSSL.__dict__.get('__version__', '0.0'))
except ImportError:
pass
# Import salt libs
log = logging.getLogger(__name__)
@ -139,12 +140,12 @@ def __virtual__():
Only load this module if the ca config options are set
'''
global X509_EXT_ENABLED
if HAS_SSL and OpenSSL_version >= LooseVersion('0.10'):
if OpenSSL_version < LooseVersion('0.14'):
if HAS_SSL and OpenSSL_version >= _LooseVersion('0.10'):
if OpenSSL_version < _LooseVersion('0.14'):
X509_EXT_ENABLED = False
log.debug('You should upgrade pyOpenSSL to at least 0.14.1 to '
'enable the use of X509 extensions in the tls module')
elif OpenSSL_version <= LooseVersion('0.15'):
elif OpenSSL_version <= _LooseVersion('0.15'):
log.debug('You should upgrade pyOpenSSL to at least 0.15.1 to '
'enable the full use of X509 extensions in the tls module')
# NOTE: Not having configured a cert path should not prevent this
@ -548,18 +549,18 @@ def _check_onlyif_unless(onlyif, unless):
ret = None
retcode = __salt__['cmd.retcode']
if onlyif is not None:
if not isinstance(onlyif, string_types):
if not isinstance(onlyif, six.string_types):
if not onlyif:
ret = {'comment': 'onlyif execution failed', 'result': True}
elif isinstance(onlyif, string_types):
elif isinstance(onlyif, six.string_types):
if retcode(onlyif) != 0:
ret = {'comment': 'onlyif execution failed', 'result': True}
log.debug('onlyif execution failed')
if unless is not None:
if not isinstance(unless, string_types):
if not isinstance(unless, six.string_types):
if unless:
ret = {'comment': 'unless execution succeeded', 'result': True}
elif isinstance(unless, string_types):
elif isinstance(unless, six.string_types):
if retcode(unless) == 0:
ret = {'comment': 'unless execution succeeded', 'result': True}
log.debug('unless execution succeeded')

View file

@ -4,11 +4,10 @@ Commands for working with travisci.
:depends: pyOpenSSL >= 16.0.0
'''
from __future__ import absolute_import
# Import python libraries
from __future__ import absolute_import
import base64
import distutils.version # pylint: disable=import-error,no-name-in-module
import json
@ -20,6 +19,7 @@ except ImportError:
HAS_OPENSSL = False
# Import Salt libraries
from salt.utils.versions import LooseVersion as _LooseVersion
from salt.ext.six.moves.urllib.parse import parse_qs # pylint: disable=import-error,no-name-in-module
OPENSSL_MIN_VER = '16.0.0'
@ -29,8 +29,8 @@ __virtualname__ = 'travisci'
def __virtual__():
if HAS_OPENSSL is False:
return (False, 'The travisci module was unable to be loaded: Install pyOpenssl >= {0}'.format(OPENSSL_MIN_VER))
cur_version = distutils.version.LooseVersion(OpenSSL.__version__)
min_version = distutils.version.LooseVersion(OPENSSL_MIN_VER)
cur_version = _LooseVersion(OpenSSL.__version__)
min_version = _LooseVersion(OPENSSL_MIN_VER)
if cur_version < min_version:
return (False, 'The travisci module was unable to be loaded: Install pyOpenssl >= {0}'.format(OPENSSL_MIN_VER))
return __virtualname__

View file

@ -21,11 +21,11 @@ from __future__ import absolute_import
import logging
import json
import os
import distutils.version # pylint: disable=no-name-in-module
# Import salt libs
import salt.utils
from salt.exceptions import CommandExecutionError, SaltInvocationError
from salt.utils.versions import StrictVersion as _StrictVersion
# Set up logging
log = logging.getLogger(__name__)
@ -47,8 +47,8 @@ def __virtual__():
if not powershell_info['installed']:
return False, 'Module DSC: PowerShell not available'
if distutils.version.StrictVersion(powershell_info['version']) < \
distutils.version.StrictVersion('5.0'):
if _StrictVersion(powershell_info['version']) < \
_StrictVersion('5.0'):
return False, 'Module DSC: Requires PowerShell 5 or later'
return __virtualname__

View file

@ -39,7 +39,6 @@ import logging
import os
import re
import time
from distutils.version import LooseVersion # pylint: disable=import-error,no-name-in-module
# Import third party libs
import salt.ext.six as six
@ -59,6 +58,7 @@ from salt.exceptions import (CommandExecutionError,
import salt.utils
import salt.syspaths
from salt.exceptions import MinionError
from salt.utils.versions import LooseVersion as _LooseVersion
log = logging.getLogger(__name__)
@ -1588,7 +1588,7 @@ def _reverse_cmp_pkg_versions(pkg1, pkg2):
'''
Compare software package versions
'''
if LooseVersion(pkg1) > LooseVersion(pkg2):
if _LooseVersion(pkg1) > _LooseVersion(pkg2):
return 1
else:
return -1

View file

@ -14,11 +14,11 @@ from __future__ import absolute_import, unicode_literals
import copy
import logging
import json
import distutils.version # pylint: disable=no-name-in-module
# Import salt libs
import salt.utils
from salt.exceptions import CommandExecutionError
from salt.utils.versions import StrictVersion as _StrictVersion
# Set up logging
log = logging.getLogger(__name__)
@ -37,8 +37,8 @@ def __virtual__():
# Verify PowerShell 5.0
powershell_info = __salt__['cmd.shell_info']('powershell')
if not powershell_info['installed'] or \
distutils.version.StrictVersion(
powershell_info['version']) >= distutils.version.StrictVersion('5.0'):
_StrictVersion(
powershell_info['version']) >= _StrictVersion('5.0'):
return False, 'Module DSC: Module only works with PowerShell 5 or ' \
'newer.'

View file

@ -24,7 +24,6 @@ import logging
import os
import re
import string
from distutils.version import LooseVersion as _LooseVersion # pylint: disable=no-name-in-module,import-error
# pylint: disable=import-error,redefined-builtin
# Import 3rd-party libs
@ -45,6 +44,7 @@ import salt.utils.itertools
import salt.utils.systemd
import salt.utils.decorators as decorators
import salt.utils.pkg.rpm
from salt.utils.versions import LooseVersion as _LooseVersion
from salt.exceptions import (
CommandExecutionError, MinionError, SaltInvocationError
)

View file

@ -28,10 +28,10 @@ from __future__ import absolute_import
import logging
import socket
import json
from distutils.version import LooseVersion # pylint: disable=no-name-in-module
# Import salt libs
import salt.utils
from salt.utils.versions import LooseVersion as _LooseVersion
from salt.ext.six.moves.urllib.error import HTTPError, URLError # pylint: disable=import-error,no-name-in-module
log = logging.getLogger(__name__)
@ -675,7 +675,7 @@ def usergroup_exists(name=None, node=None, nodeids=None, **connection_args):
try:
if conn_args:
# usergroup.exists deprecated
if LooseVersion(zabbix_version) > LooseVersion("2.5"):
if _LooseVersion(zabbix_version) > _LooseVersion("2.5"):
if not name:
name = ''
ret = usergroup_get(name, None, **connection_args)
@ -690,7 +690,7 @@ def usergroup_exists(name=None, node=None, nodeids=None, **connection_args):
if name:
params['name'] = name
# deprecated in 2.4
if LooseVersion(zabbix_version) < LooseVersion("2.4"):
if _LooseVersion(zabbix_version) < _LooseVersion("2.4"):
if node:
params['node'] = node
if nodeids:
@ -931,7 +931,7 @@ def host_exists(host=None, hostid=None, name=None, node=None, nodeids=None, **co
try:
if conn_args:
# hostgroup.exists deprecated
if LooseVersion(zabbix_version) > LooseVersion("2.5"):
if _LooseVersion(zabbix_version) > _LooseVersion("2.5"):
if not host:
host = None
if not name:
@ -951,7 +951,7 @@ def host_exists(host=None, hostid=None, name=None, node=None, nodeids=None, **co
if name:
params['name'] = name
# deprecated in 2.4
if LooseVersion(zabbix_version) < LooseVersion("2.4"):
if _LooseVersion(zabbix_version) < _LooseVersion("2.4"):
if node:
params['node'] = node
if nodeids:
@ -1180,7 +1180,7 @@ def hostgroup_exists(name=None, groupid=None, node=None, nodeids=None, **connect
try:
if conn_args:
# hostgroup.exists deprecated
if LooseVersion(zabbix_version) > LooseVersion("2.5"):
if _LooseVersion(zabbix_version) > _LooseVersion("2.5"):
if not groupid:
groupid = None
if not name:
@ -1196,7 +1196,7 @@ def hostgroup_exists(name=None, groupid=None, node=None, nodeids=None, **connect
if name:
params['name'] = name
# deprecated in 2.4
if LooseVersion(zabbix_version) < LooseVersion("2.4"):
if _LooseVersion(zabbix_version) < _LooseVersion("2.4"):
if node:
params['node'] = node
if nodeids:

View file

@ -40,7 +40,7 @@ def __virtual__():
# CherryPy wasn't imported; explain why
if cpy_error:
from distutils.version import LooseVersion as V # pylint: disable=E0611
from salt.utils.versions import LooseVersion as V
if 'cherrypy' in globals() and V(cherrypy.__version__) < V(cpy_min):
error_msg = ("Required version of CherryPy is {0} or "

View file

@ -1,10 +1,14 @@
# encoding: utf-8
# Import python libs
from __future__ import absolute_import, print_function
import hashlib
import logging
import os
import distutils.version # pylint: disable=no-name-in-module
# Import salt libs
import salt.auth
from salt.utils.versions import StrictVersion as _StrictVersion
__virtualname__ = os.path.abspath(__file__).rsplit('/')[-2] or 'rest_tornado'
@ -15,8 +19,7 @@ min_tornado_version = '4.0'
has_tornado = False
try:
import tornado
if distutils.version.StrictVersion(tornado.version) >= \
distutils.version.StrictVersion(min_tornado_version):
if _StrictVersion(tornado.version) >= _StrictVersion(min_tornado_version):
has_tornado = True
else:
logger.error('rest_tornado requires at least tornado {0}'.format(min_tornado_version))
@ -24,8 +27,6 @@ except (ImportError, TypeError) as err:
has_tornado = False
logger.error('ImportError! {0}'.format(str(err)))
import salt.auth
def __virtual__():
mod_opts = __opts__.get(__virtualname__, {})

View file

@ -31,7 +31,9 @@ the instance.
from __future__ import absolute_import
import re
import logging
from distutils.version import StrictVersion # pylint: disable=no-name-in-module
# Import salt libs
from salt.utils.versions import StrictVersion as _StrictVersion
# Import AWS Boto libs
try:
@ -53,8 +55,8 @@ def __virtual__():
'''
if not HAS_BOTO:
return False
boto_version = StrictVersion(boto.__version__)
required_boto_version = StrictVersion('2.8.0')
boto_version = _StrictVersion(boto.__version__)
required_boto_version = _StrictVersion('2.8.0')
if boto_version < required_boto_version:
log.error("%s: installed boto version %s < %s, can't retrieve instance data",
__name__, boto_version, required_boto_version)

View file

@ -70,11 +70,12 @@ To override individual configuration items, append --return_kwargs '{"key:": "va
from __future__ import absolute_import
# Import python libs
import distutils.version # pylint: disable=import-error,no-name-in-module
import logging
import pprint
# Import salt libs
import salt.returners
from salt.utils.versions import LooseVersion as _LooseVersion
HAS_LIBS = False
try:
@ -123,8 +124,8 @@ def __virtual__():
if HAS_LIBS:
import sleekxmpp # pylint: disable=3rd-party-module-not-gated
# Certain XMPP functionaility we're using doesn't work with versions under 1.3.1
sleekxmpp_version = distutils.version.LooseVersion(sleekxmpp.__version__)
valid_version = distutils.version.LooseVersion(min_version)
sleekxmpp_version = _LooseVersion(sleekxmpp.__version__)
valid_version = _LooseVersion(min_version)
if sleekxmpp_version >= valid_version:
return __virtualname__
return False, 'Could not import xmpp returner; sleekxmpp python client is not ' \

View file

@ -18,13 +18,15 @@ import logging
import os
import re
import string
from distutils.version import LooseVersion as _LooseVersion
# Import salt libs
import salt.utils
import salt.utils.url
from salt.exceptions import CommandExecutionError
from salt.ext import six
from salt.utils.versions import LooseVersion as _LooseVersion
# Import 3rd-party libs
import salt.ext.six as six
log = logging.getLogger(__name__)

View file

@ -46,14 +46,13 @@ Example:
# Import Python Libs
from __future__ import absolute_import
from distutils.version import LooseVersion as _LooseVersion # pylint: disable=import-error,no-name-in-module
import salt.modules.libcloud_dns as libcloud_dns_module
import logging
# Import salt libs
import salt.utils
import logging
import salt.modules.libcloud_dns as libcloud_dns_module
from salt.utils.versions import LooseVersion as _LooseVersion
log = logging.getLogger(__name__)
# Import third party libs

View file

@ -14,11 +14,11 @@ Install, enable and disable assistive access on macOS minions
# Import python libs
from __future__ import absolute_import
from distutils.version import LooseVersion
import logging
# Import salt libs
import salt.utils
from salt.utils.versions import LooseVersion as _LooseVersion
log = logging.getLogger(__name__)
@ -29,7 +29,7 @@ def __virtual__():
'''
Only work on Mac OS
'''
if salt.utils.is_darwin() and LooseVersion(__grains__['osrelease']) >= LooseVersion('10.9'):
if salt.utils.is_darwin() and _LooseVersion(__grains__['osrelease']) >= _LooseVersion('10.9'):
return True
return False

View file

@ -137,7 +137,7 @@ if salt.utils.is_windows():
import msgpack
except ImportError:
import msgpack_pure as msgpack
from distutils.version import LooseVersion # pylint: disable=no-name-in-module
from salt.utils.versions import LooseVersion
# pylint: enable=import-error,unused-import
# pylint: enable=invalid-name

View file

@ -9,7 +9,6 @@ import contextlib
import copy
import collections
import datetime
import distutils.version # pylint: disable=import-error,no-name-in-module
import errno
import fnmatch
import hashlib
@ -121,6 +120,7 @@ import salt.log
import salt.utils.dictupdate
import salt.version
from salt.utils.decorators import memoize as real_memoize
from salt.utils.versions import LooseVersion as _LooseVersion
from salt.textformat import TextFormat
from salt.exceptions import (
CommandExecutionError, SaltClientError,
@ -2418,7 +2418,7 @@ def kwargs_warn_until(kwargs,
def version_cmp(pkg1, pkg2, ignore_epoch=False):
'''
Compares two version strings using distutils.version.LooseVersion. This is
Compares two version strings using salt.utils.versions.LooseVersion. This is
a fallback for providers which don't have a version comparison utility
built into them. Return -1 if version1 < version2, 0 if version1 ==
version2, and 1 if version1 > version2. Return None if there was a problem
@ -2430,14 +2430,11 @@ def version_cmp(pkg1, pkg2, ignore_epoch=False):
try:
# pylint: disable=no-member
if distutils.version.LooseVersion(pkg1) < \
distutils.version.LooseVersion(pkg2):
if _LooseVersion(pkg1) < _LooseVersion(pkg2):
return -1
elif distutils.version.LooseVersion(pkg1) == \
distutils.version.LooseVersion(pkg2):
elif _LooseVersion(pkg1) == _LooseVersion(pkg2):
return 0
elif distutils.version.LooseVersion(pkg1) > \
distutils.version.LooseVersion(pkg2):
elif _LooseVersion(pkg1) > _LooseVersion(pkg2):
return 1
except Exception as exc:
log.exception(exc)

View file

@ -39,7 +39,6 @@ from __future__ import absolute_import
import hashlib
import logging
import sys
from distutils.version import LooseVersion as _LooseVersion # pylint: disable=import-error,no-name-in-module
from functools import partial
from salt.loader import minion_mods
@ -47,6 +46,7 @@ from salt.loader import minion_mods
import salt.ext.six as six
from salt.ext.six.moves import range # pylint: disable=import-error,redefined-builtin
from salt.exceptions import SaltInvocationError
from salt.utils.versions import LooseVersion as _LooseVersion
import salt.utils
# Import third party libs

View file

@ -39,12 +39,12 @@ from __future__ import absolute_import
import hashlib
import logging
import sys
from distutils.version import LooseVersion as _LooseVersion # pylint: disable=import-error,no-name-in-module
from functools import partial
# Import salt libs
from salt.ext.six.moves import range # pylint: disable=import-error,redefined-builtin
from salt.exceptions import SaltInvocationError
from salt.utils.versions import LooseVersion as _LooseVersion
from salt.ext import six
import salt.utils

View file

@ -4,7 +4,6 @@
from __future__ import absolute_import
import copy
import contextlib
import distutils.version # pylint: disable=import-error,no-name-in-module
import errno
import fnmatch
import glob
@ -33,6 +32,7 @@ from salt.exceptions import (
get_error_message
)
from salt.utils.event import tagify
from salt.utils.versions import LooseVersion as _LooseVersion
# Import third party libs
import salt.ext.six as six
@ -1158,8 +1158,8 @@ class Pygit2(GitProvider):
override_params, cache_root, role='gitfs'):
self.provider = 'pygit2'
self.use_callback = \
distutils.version.LooseVersion(pygit2.__version__) >= \
distutils.version.LooseVersion('0.23.2')
_LooseVersion(pygit2.__version__) >= \
_LooseVersion('0.23.2')
GitProvider.__init__(self, opts, remote, per_remote_defaults,
per_remote_only, override_params, cache_root, role)
@ -2187,8 +2187,8 @@ class GitBase(object):
return False
# pylint: disable=no-member
gitver = distutils.version.LooseVersion(git.__version__)
minver = distutils.version.LooseVersion(GITPYTHON_MINVER)
gitver = _LooseVersion(git.__version__)
minver = _LooseVersion(GITPYTHON_MINVER)
# pylint: enable=no-member
errors = []
if gitver < minver:
@ -2238,11 +2238,11 @@ class GitBase(object):
return False
# pylint: disable=no-member
pygit2ver = distutils.version.LooseVersion(pygit2.__version__)
pygit2_minver = distutils.version.LooseVersion(PYGIT2_MINVER)
pygit2ver = _LooseVersion(pygit2.__version__)
pygit2_minver = _LooseVersion(PYGIT2_MINVER)
libgit2ver = distutils.version.LooseVersion(pygit2.LIBGIT2_VERSION)
libgit2_minver = distutils.version.LooseVersion(LIBGIT2_MINVER)
libgit2ver = _LooseVersion(pygit2.LIBGIT2_VERSION)
libgit2_minver = _LooseVersion(LIBGIT2_MINVER)
# pylint: enable=no-member
errors = []

View file

@ -5,7 +5,6 @@ Nova class
# Import Python libs
from __future__ import absolute_import, with_statement
from distutils.version import LooseVersion # pylint: disable=no-name-in-module,import-error
import inspect
import logging
import time
@ -39,6 +38,7 @@ except ImportError:
# Import salt libs
import salt.utils
from salt.exceptions import SaltCloudSystemExit
from salt.utils.versions import LooseVersion as _LooseVersion
# Get logging started
log = logging.getLogger(__name__)
@ -63,8 +63,8 @@ CLIENT_BDM2_KEYS = {
def check_nova():
if HAS_NOVA:
novaclient_ver = LooseVersion(novaclient.__version__)
min_ver = LooseVersion(NOVACLIENT_MINVER)
novaclient_ver = _LooseVersion(novaclient.__version__)
min_ver = _LooseVersion(NOVACLIENT_MINVER)
if novaclient_ver >= min_ver:
return HAS_NOVA
log.debug('Newer novaclient version required. Minimum: {0}'.format(NOVACLIENT_MINVER))

40
salt/utils/versions.py Normal file
View file

@ -0,0 +1,40 @@
# -*- coding: utf-8 -*-
'''
:copyright: © 2017 by the SaltStack Team, see AUTHORS for more details.
:license: Apache 2.0, see LICENSE for more details.
salt.utils.versions
~~~~~~~~~~~~~~~~~~~
Version parsing based on distutils.version which works under python 3
because on python 3 you can no longer compare strings against integers.
'''
# Import pytohn libs
from __future__ import absolute_import
# pylint: disable=blacklisted-module
from distutils.version import StrictVersion as _StrictVersion
from distutils.version import LooseVersion as _LooseVersion
# pylint: enable=blacklisted-module
# Import 3rd-party libs
import salt.ext.six as six
class StrictVersion(_StrictVersion):
def parse(self, vstring):
_StrictVersion.parse(self, vstring)
if six.PY3:
# Convert every part of the version to string in order to be able to compare
self.version = [str(vp) for vp in self.version]
class LooseVersion(_LooseVersion):
def parse(self, vstring):
_LooseVersion.parse(self, vstring)
if six.PY3:
# Convert every part of the version to string in order to be able to compare
self.version = [str(vp) for vp in self.version]

View file

@ -8,7 +8,6 @@ from __future__ import absolute_import
import os
import random
import string
from distutils.version import LooseVersion
# Import Salt Testing Libs
import tests.integration as integration
@ -17,6 +16,7 @@ from tests.support.helpers import expensiveTest
# Import Salt Libs
from salt.config import cloud_providers_config
from salt.utils.versions import LooseVersion
# Import Third-Party Libs
from salt.ext.six.moves import range

View file

@ -18,7 +18,6 @@ import shutil
import subprocess
import tarfile
import tempfile
from distutils.version import LooseVersion
# Import Salt Testing libs
import tests.integration as integration
@ -30,6 +29,7 @@ from tests.support.helpers import (
# Import salt libs
import salt.utils
from salt.utils.versions import LooseVersion
log = logging.getLogger(__name__)

View file

@ -2,13 +2,15 @@
# Import Python Libs
from __future__ import absolute_import
from distutils.version import LooseVersion # pylint: disable=import-error,no-name-in-module
# Import Salt Testing libs
import tests.integration as integration
from tests.support.unit import skipIf
from tests.support.helpers import requires_network
# Import salt libs
from salt.utils.versions import LooseVersion
GIT_PYTHON = '0.3.2'
HAS_GIT_PYTHON = False

View file

@ -6,7 +6,6 @@ Tests for the file state
# Import python libs
from __future__ import absolute_import
from distutils.version import LooseVersion
import errno
import glob
import os
@ -26,6 +25,7 @@ from tests.support.helpers import skip_if_not_root, with_system_user_and_group
# Import salt libs
import salt.utils
from salt.utils.versions import LooseVersion
HAS_PWD = True
try:

View file

@ -8,7 +8,6 @@
# Import Python libs
from __future__ import absolute_import
from distutils.version import LooseVersion
try:
import libcloud.security
@ -19,6 +18,7 @@ except ImportError:
# Import Salt Libs
from salt.cloud.clouds import dimensiondata
from salt.exceptions import SaltCloudSystemExit
from salt.utils.versions import LooseVersion
# Import Salt Testing Libs
from tests.support.unit import TestCase, skipIf

View file

@ -8,7 +8,6 @@
# Import Python libs
from __future__ import absolute_import
from distutils.version import LooseVersion
try:
import libcloud.security
@ -19,6 +18,7 @@ except ImportError:
# Import Salt Libs
from salt.cloud.clouds import gce
from salt.exceptions import SaltCloudSystemExit
from salt.utils.versions import LooseVersion
# Import Salt Testing Libs
from tests.support.unit import TestCase, skipIf

View file

@ -7,7 +7,6 @@
'''
# Import python libs
from __future__ import absolute_import, print_function
from distutils.version import LooseVersion as _LooseVersion
# Import Salt Testing Libs
from tests.support.unit import TestCase, skipIf
@ -15,6 +14,7 @@ from tests.support.unit import TestCase, skipIf
# Import Salt Libs
from salt.config.schemas import ssh as ssh_schemas
from salt.config.schemas.minion import MinionConfiguration
from salt.utils.versions import LooseVersion as _LooseVersion
# Import 3rd-party libs
import salt.ext.six as six

View file

@ -2,7 +2,6 @@
# Import Python libs
from __future__ import absolute_import
from distutils.version import LooseVersion # pylint: disable=import-error,no-name-in-module
import datetime
import logging
import random
@ -15,6 +14,7 @@ from tests.support.mock import NO_MOCK, NO_MOCK_REASON, MagicMock, patch
# Import Salt libs
import salt.loader
from salt.modules import boto_apigateway
from salt.utils.versions import LooseVersion
# Import 3rd-party libs

View file

@ -2,7 +2,6 @@
# Import Python libs
from __future__ import absolute_import
from distutils.version import LooseVersion # pylint: disable=import-error,no-name-in-module
import random
import string
import logging
@ -20,6 +19,7 @@ from tests.support.mock import (
import salt.config
import salt.loader
from salt.modules import boto_cloudtrail
from salt.utils.versions import LooseVersion
from salt.ext.six.moves import range # pylint: disable=import-error,redefined-builtin
# pylint: disable=import-error,no-name-in-module,unused-import

View file

@ -2,7 +2,6 @@
# Import Python libs
from __future__ import absolute_import
from distutils.version import LooseVersion # pylint: disable=import-error,no-name-in-module
import logging
import random
import string
@ -14,6 +13,7 @@ from tests.support.mock import NO_MOCK, NO_MOCK_REASON, patch
# Import Salt libs
import salt.config
import salt.loader
from salt.utils.versions import LooseVersion
from salt.modules import boto_cognitoidentity
# Import Mock libraries

View file

@ -2,7 +2,6 @@
# Import Python libs
from __future__ import absolute_import
from distutils.version import LooseVersion # pylint: disable=import-error,no-name-in-module
import copy
import logging
import random
@ -20,6 +19,7 @@ from tests.support.mock import (
# Import Salt libs
import salt.ext.six as six
import salt.loader
from salt.utils.versions import LooseVersion
from salt.modules import boto_elasticsearch_domain
# Import 3rd-party libs

View file

@ -2,7 +2,6 @@
# Import Python libs
from __future__ import absolute_import
from distutils.version import LooseVersion # pylint: disable=import-error,no-name-in-module
import random
import string
@ -19,6 +18,7 @@ from tests.support.mock import (
import salt.config
import salt.loader
from salt.modules import boto_iot
from salt.utils.versions import LooseVersion
from salt.ext.six.moves import range # pylint: disable=import-error,redefined-builtin
# Import 3rd-party libs

View file

@ -2,7 +2,6 @@
# Import Python libs
from __future__ import absolute_import
from distutils.version import LooseVersion # pylint: disable=import-error,no-name-in-module
import platform
import random
import string
@ -22,6 +21,7 @@ import salt.ext.six as six
import salt.loader
from salt.modules import boto_lambda
from salt.exceptions import SaltInvocationError
from salt.utils.versions import LooseVersion
from salt.ext.six.moves import range # pylint: disable=import-error,redefined-builtin
import salt.utils

View file

@ -2,7 +2,7 @@
# Import Python libs
from __future__ import absolute_import
from distutils.version import LooseVersion # pylint: disable=import-error,no-name-in-module
import logging
from copy import deepcopy
import random
import string
@ -17,14 +17,13 @@ from tests.support.mock import (
)
# Import Salt libs
import salt.ext.six as six
import salt.loader
from salt.modules import boto_s3_bucket
from salt.ext.six.moves import range # pylint: disable=import-error,redefined-builtin
from salt.utils.versions import LooseVersion
# Import 3rd-party libs
import logging
import salt.ext.six as six
from salt.ext.six.moves import range # pylint: disable=import-error,redefined-builtin
# pylint: disable=import-error,no-name-in-module,unused-import
try:
import boto

View file

@ -5,7 +5,6 @@ from __future__ import absolute_import
import random
import string
from copy import deepcopy
from distutils.version import LooseVersion # pylint: disable=import-error,no-name-in-module
# Import Salt Testing Libs
from tests.support.unit import skipIf, TestCase
@ -14,6 +13,7 @@ from tests.support.mock import NO_MOCK, NO_MOCK_REASON
# Import Salt libs
import salt.config
import salt.loader
from salt.utils.versions import LooseVersion
# Import Third Party Libs
# pylint: disable=import-error

View file

@ -5,7 +5,6 @@
# Import Python libs
from __future__ import absolute_import
from distutils.version import LooseVersion # pylint: disable=import-error,no-name-in-module
import random
import string
# pylint: disable=3rd-party-module-not-gated
@ -21,6 +20,7 @@ from tests.support.mock import NO_MOCK, NO_MOCK_REASON, MagicMock, patch
import salt.config
import salt.loader
from salt.modules import boto_vpc
from salt.utils.versions import LooseVersion
from salt.exceptions import SaltInvocationError, CommandExecutionError
from salt.modules.boto_vpc import _maybe_set_name_tag, _maybe_set_tags

View file

@ -9,7 +9,6 @@ import copy
import logging
import os
import subprocess
from distutils.version import LooseVersion
# Import Salt Testing Libs
from tests.support.unit import TestCase, skipIf
@ -21,6 +20,7 @@ from tests.support.mock import (
)
# Import Salt Libs
from salt.utils.versions import LooseVersion
from salt.modules import git as git_mod # Don't potentially shadow GitPython
# Globals

View file

@ -11,7 +11,6 @@ NO_PYOPENSSL = False
import shutil
import tempfile
import os
from distutils.version import LooseVersion
try:
# We're not going to actually use OpenSSL, we just want to check that
# it's installed.
@ -20,6 +19,7 @@ except Exception:
NO_PYOPENSSL = True
# Import Salt Testing Libs
import tests.integration as integration
from tests.support.unit import TestCase, skipIf
from tests.support.mock import (
mock_open,
@ -32,7 +32,7 @@ from tests.support.helpers import destructiveTest
# Import Salt Libs
from salt.modules import tls
import tests.integration as integration
from salt.utils.versions import LooseVersion
# Globals

View file

@ -2,7 +2,6 @@
# Import Python libs
from __future__ import absolute_import
from distutils.version import LooseVersion # pylint: disable=import-error,no-name-in-module
import logging
import os
import datetime
@ -16,6 +15,7 @@ from tests.support.mock import NO_MOCK, NO_MOCK_REASON, MagicMock, patch
# Import Salt libs
import salt.config
import salt.loader
from salt.utils.versions import LooseVersion
# Import 3rd-party libs
import yaml

View file

@ -2,7 +2,7 @@
# Import Python libs
from __future__ import absolute_import
from distutils.version import LooseVersion # pylint: disable=import-error,no-name-in-module
import logging
import random
import string
@ -18,15 +18,14 @@ from tests.support.mock import (
# Import Salt libs
import salt.config
import salt.loader
from salt.ext.six.moves import range # pylint: disable=import-error,redefined-builtin
from salt.utils.versions import LooseVersion
# Import 3rd-party libs
import logging
# pylint: disable=import-error,no-name-in-module,unused-import
from tests.unit.modules.test_boto_cloudtrail import BotoCloudTrailTestCaseMixin
# Import 3rd-party libs
from salt.ext.six.moves import range # pylint: disable=import-error,redefined-builtin
try:
import boto
import boto3

View file

@ -2,7 +2,7 @@
# Import Python libs
from __future__ import absolute_import
from distutils.version import LooseVersion # pylint: disable=import-error,no-name-in-module
import logging
import random
import string
@ -13,9 +13,7 @@ from tests.support.mock import NO_MOCK, NO_MOCK_REASON, patch
# Import Salt libs
import salt.config
import salt.loader
# Import 3rd-party libs
import logging
from salt.utils.versions import LooseVersion
# Import Mock libraries
from tests.support.mock import NO_MOCK, NO_MOCK_REASON, MagicMock, patch

View file

@ -2,7 +2,6 @@
# Import Python libs
from __future__ import absolute_import
from distutils.version import LooseVersion # pylint: disable=import-error,no-name-in-module
import logging
import random
import string
@ -19,6 +18,7 @@ from tests.support.mock import (
# Import Salt libs
import salt.ext.six as six
import salt.loader
from salt.utils.versions import LooseVersion
from salt.ext.six.moves import range # pylint: disable=import-error,redefined-builtin
# pylint: disable=import-error,no-name-in-module,unused-import

View file

@ -2,7 +2,6 @@
# Import Python libs
from __future__ import absolute_import
from distutils.version import LooseVersion # pylint: disable=import-error,no-name-in-module
import logging
import random
import string
@ -19,6 +18,7 @@ from tests.support.mock import (
# Import Salt libs
import salt.config
import salt.loader
from salt.utils.versions import LooseVersion
from salt.ext.six.moves import range # pylint: disable=import-error,redefined-builtin
# pylint: disable=import-error,no-name-in-module,unused-import

View file

@ -2,7 +2,6 @@
# Import Python libs
from __future__ import absolute_import
from distutils.version import LooseVersion # pylint: disable=import-error,no-name-in-module
import json
import logging
import random
@ -20,6 +19,7 @@ from tests.support.mock import (
# Import Salt libs
import salt.config
import salt.loader
from salt.utils.versions import LooseVersion
from salt.ext.six.moves import range # pylint: disable=import-error,redefined-builtin
# pylint: disable=import-error,no-name-in-module

View file

@ -2,7 +2,6 @@
# Import Python libs
from __future__ import absolute_import
from distutils.version import LooseVersion # pylint: disable=import-error,no-name-in-module
from copy import deepcopy
import logging
import random
@ -20,6 +19,7 @@ from tests.support.mock import (
# Import Salt libs
import salt.ext.six as six
import salt.loader
from salt.utils.versions import LooseVersion
from salt.ext.six.moves import range # pylint: disable=import-error,redefined-builtin
# pylint: disable=import-error,no-name-in-module,unused-import

View file

@ -2,8 +2,6 @@
# Import Python libs
from __future__ import absolute_import
from distutils.version import LooseVersion # pylint: disable=import-error,no-name-in-module
import random
import string
@ -15,6 +13,7 @@ from tests.support.mock import NO_MOCK, NO_MOCK_REASON, patch
import salt.config
import salt.loader
import salt.utils.boto
from salt.utils.versions import LooseVersion
from salt.ext.six.moves import range # pylint: disable=import-error,redefined-builtin
# pylint: disable=import-error,unused-import

View file

@ -2,16 +2,16 @@
# Import python libs
from __future__ import absolute_import
from distutils.version import LooseVersion # pylint: disable=import-error,no-name-in-module
# Import Salt Testing libs
from tests.support.unit import skipIf, TestCase
from tests.support.mock import NO_MOCK, NO_MOCK_REASON, patch, MagicMock
# Import Salt libs
from salt.exceptions import SaltInvocationError
import salt.utils.boto
import salt.utils.boto3
from salt.exceptions import SaltInvocationError
from salt.utils.versions import LooseVersion
# Import 3rd-party libs
# pylint: disable=import-error

View file

@ -9,13 +9,12 @@ import copy
import json
import yaml
from distutils.version import LooseVersion as _LooseVersion
# Import Salt Testing Libs
from tests.support.unit import TestCase, skipIf
# Import Salt Libs
from salt.utils import schema
from salt.utils.versions import LooseVersion as _LooseVersion
# Import 3rd-party libs
try: