summaryrefslogtreecommitdiffstats
path: root/filter_plugins
diff options
context:
space:
mode:
authorJason DeTiberus <jdetiber@redhat.com>2016-12-20 14:54:43 -0500
committerJason DeTiberus <jdetiber@redhat.com>2016-12-20 16:05:49 -0500
commit4cdc771f8e04f88ac47dd194da03dadfa2fdba2d (patch)
tree3e394b3da742faaa0d5d97dd0a74d4efd03c6567 /filter_plugins
parent3e5f3380ccacc654450924fca830b93fda6c7592 (diff)
downloadopenshift-4cdc771f8e04f88ac47dd194da03dadfa2fdba2d.tar.gz
openshift-4cdc771f8e04f88ac47dd194da03dadfa2fdba2d.tar.bz2
openshift-4cdc771f8e04f88ac47dd194da03dadfa2fdba2d.tar.xz
openshift-4cdc771f8e04f88ac47dd194da03dadfa2fdba2d.zip
python3 support, add tox for better local testing against multiple python versions
Diffstat (limited to 'filter_plugins')
-rw-r--r--filter_plugins/oo_filters.py29
-rw-r--r--filter_plugins/openshift_master.py22
2 files changed, 22 insertions, 29 deletions
diff --git a/filter_plugins/oo_filters.py b/filter_plugins/oo_filters.py
index 8fe85d8e2..bad1f6a3b 100644
--- a/filter_plugins/oo_filters.py
+++ b/filter_plugins/oo_filters.py
@@ -19,6 +19,7 @@ from distutils.version import LooseVersion
from operator import itemgetter
from ansible.parsing.yaml.dumper import AnsibleDumper
from urlparse import urlparse
+from six import string_types
HAS_OPENSSL = False
try:
@@ -120,7 +121,7 @@ class FilterModule(object):
raise errors.AnsibleFilterError("|failed expects hostvars is dictionary or object")
if not isinstance(variables, dict):
raise errors.AnsibleFilterError("|failed expects variables is a dictionary")
- if not isinstance(inventory_hostname, basestring):
+ if not isinstance(inventory_hostname, string_types):
raise errors.AnsibleFilterError("|failed expects inventory_hostname is a string")
# pylint: disable=no-member
ansible_version = pkg_resources.get_distribution("ansible").version
@@ -215,7 +216,7 @@ class FilterModule(object):
"""
if not isinstance(data, list):
raise errors.AnsibleFilterError("|failed expects first param is a list")
- if not all(isinstance(x, basestring) for x in data):
+ if not all(isinstance(x, string_types) for x in data):
raise errors.AnsibleFilterError("|failed expects first param is a list"
" of strings")
retval = [prepend + s for s in data]
@@ -362,7 +363,7 @@ class FilterModule(object):
if not isinstance(data, list):
raise errors.AnsibleFilterError("|failed expects to filter on a list")
- if not isinstance(filter_attr, basestring):
+ if not isinstance(filter_attr, string_types):
raise errors.AnsibleFilterError("|failed expects filter_attr is a str or unicode")
# Gather up the values for the list of keys passed in
@@ -401,9 +402,9 @@ class FilterModule(object):
"""
if not isinstance(nodes, list):
raise errors.AnsibleFilterError("failed expects to filter on a list")
- if not isinstance(label, basestring):
+ if not isinstance(label, string_types):
raise errors.AnsibleFilterError("failed expects label to be a string")
- if value is not None and not isinstance(value, basestring):
+ if value is not None and not isinstance(value, string_types):
raise errors.AnsibleFilterError("failed expects value to be a string")
def label_filter(node):
@@ -419,7 +420,7 @@ class FilterModule(object):
else:
return False
- if isinstance(labels, basestring):
+ if isinstance(labels, string_types):
labels = yaml.safe_load(labels)
if not isinstance(labels, dict):
raise errors.AnsibleFilterError(
@@ -518,7 +519,7 @@ class FilterModule(object):
"cafile": "/etc/origin/master/named_certificates/custom-ca-2.crt",
"names": [ "some-hostname.com" ] }]
"""
- if not isinstance(named_certs_dir, basestring):
+ if not isinstance(named_certs_dir, string_types):
raise errors.AnsibleFilterError("|failed expects named_certs_dir is str or unicode")
if not isinstance(internal_hostnames, list):
@@ -545,7 +546,7 @@ class FilterModule(object):
if cert.get_extension(i).get_short_name() == 'subjectAltName':
for name in str(cert.get_extension(i)).replace('DNS:', '').split(', '):
certificate['names'].append(name)
- except:
+ except Exception:
raise errors.AnsibleFilterError(("|failed to parse certificate '%s', " % certificate['certfile'] +
"please specify certificate names in host inventory"))
@@ -670,7 +671,7 @@ class FilterModule(object):
migrations = {'openshift_router_selector': 'openshift_hosted_router_selector',
'openshift_registry_selector': 'openshift_hosted_registry_selector'}
- for old_fact, new_fact in migrations.iteritems():
+ for old_fact, new_fact in migrations.items():
if old_fact in facts and new_fact not in facts:
facts[new_fact] = facts[old_fact]
return facts
@@ -781,7 +782,7 @@ class FilterModule(object):
"""
if not isinstance(rpms, list):
raise errors.AnsibleFilterError("failed expects to filter on a list")
- if openshift_version is not None and not isinstance(openshift_version, basestring):
+ if openshift_version is not None and not isinstance(openshift_version, string_types):
raise errors.AnsibleFilterError("failed expects openshift_version to be a string")
rpms_31 = []
@@ -800,9 +801,9 @@ class FilterModule(object):
"""
if not isinstance(pods, list):
raise errors.AnsibleFilterError("failed expects to filter on a list")
- if not isinstance(deployment_type, basestring):
+ if not isinstance(deployment_type, string_types):
raise errors.AnsibleFilterError("failed expects deployment_type to be a string")
- if not isinstance(component, basestring):
+ if not isinstance(component, string_types):
raise errors.AnsibleFilterError("failed expects component to be a string")
image_prefix = 'openshift/origin-'
@@ -843,7 +844,7 @@ class FilterModule(object):
Ex. v3.2.0.10 -> -3.2.0.10
v1.2.0-rc1 -> -1.2.0
"""
- if not isinstance(version, basestring):
+ if not isinstance(version, string_types):
raise errors.AnsibleFilterError("|failed expects a string or unicode")
if version.startswith("v"):
version = version[1:]
@@ -861,7 +862,7 @@ class FilterModule(object):
Ex: https://ose3-master.example.com/v1/api -> ose3-master.example.com
"""
- if not isinstance(url, basestring):
+ if not isinstance(url, string_types):
raise errors.AnsibleFilterError("|failed expects a string or unicode")
parse_result = urlparse(url)
if parse_result.netloc != '':
diff --git a/filter_plugins/openshift_master.py b/filter_plugins/openshift_master.py
index 57b1f7d82..ec09b09f6 100644
--- a/filter_plugins/openshift_master.py
+++ b/filter_plugins/openshift_master.py
@@ -6,22 +6,14 @@ Custom filters for use in openshift-master
'''
import copy
import sys
-import yaml
+
+from distutils.version import LooseVersion # pylint: disable=no-name-in-module,import-error
from ansible import errors
+from ansible.plugins.filter.core import to_bool as ansible_bool
+from six import string_types
-# pylint: disable=no-name-in-module,import-error,wrong-import-order
-from distutils.version import LooseVersion
-try:
- # ansible-2.1
- from ansible.plugins.filter.core import to_bool as ansible_bool
-except ImportError:
- try:
- # ansible-2.0.x
- from ansible.runner.filter_plugins.core import bool as ansible_bool
- except ImportError:
- # ansible-1.9.x
- from ansible.plugins.filter.core import bool as ansible_bool
+import yaml
class IdentityProviderBase(object):
@@ -513,7 +505,7 @@ class FilterModule(object):
'master3.example.com']
returns True
'''
- if not issubclass(type(data), basestring):
+ if not issubclass(type(data), string_types):
raise errors.AnsibleFilterError("|failed expects data is a string or unicode")
if not issubclass(type(masters), list):
raise errors.AnsibleFilterError("|failed expects masters is a list")
@@ -558,7 +550,7 @@ class FilterModule(object):
def oo_htpasswd_users_from_file(file_contents):
''' return a dictionary of htpasswd users from htpasswd file contents '''
htpasswd_entries = {}
- if not isinstance(file_contents, basestring):
+ if not isinstance(file_contents, string_types):
raise errors.AnsibleFilterError("failed, expects to filter on a string")
for line in file_contents.splitlines():
user = None