diff options
author | kgottholm <kgottholm@scrippsnetworks.com> | 2017-05-23 13:49:54 -0400 |
---|---|---|
committer | Toshio Kuratomi <a.badger@gmail.com> | 2017-05-23 11:46:57 -0700 |
commit | ce67dc4ff9e89196a91cfc9f7e5749223e060ee0 (patch) | |
tree | f1e0046faeebd7e547c99cdd0d1124a09d553a3c | |
parent | dd71712dbb75e959d3c1b90d41b8e6a448e34a23 (diff) | |
download | ansible-ce67dc4ff9e89196a91cfc9f7e5749223e060ee0.tar.gz |
Vertica schema fix (#24915)
* replace deprecated cmp() with custom conditional
cmp is not present in Python3 but several modules use it
Reference 24756
(cherry picked from commit 5240e5a2304c177ff37271aa010fb34907c06cc2)
4 files changed, 23 insertions, 11 deletions
diff --git a/lib/ansible/modules/database/vertica/vertica_role.py b/lib/ansible/modules/database/vertica/vertica_role.py index faf58c85ba..5f8c06b653 100644 --- a/lib/ansible/modules/database/vertica/vertica_role.py +++ b/lib/ansible/modules/database/vertica/vertica_role.py @@ -141,7 +141,7 @@ def check(role_facts, role, assigned_roles): role_key = role.lower() if role_key not in role_facts: return False - if assigned_roles and cmp(sorted(assigned_roles), sorted(role_facts[role_key]['assigned_roles'])) != 0: + if assigned_roles and sorted(assigned_roles) != sorted(role_facts[role_key]['assigned_roles']): return False return True @@ -154,7 +154,7 @@ def present(role_facts, cursor, role, assigned_roles): return True else: changed = False - if assigned_roles and cmp(sorted(assigned_roles), sorted(role_facts[role_key]['assigned_roles'])) != 0: + if assigned_roles and (sorted(assigned_roles) != sorted(role_facts[role_key]['assigned_roles'])): update_roles(role_facts, cursor, role, role_facts[role_key]['assigned_roles'], assigned_roles) changed = True diff --git a/lib/ansible/modules/database/vertica/vertica_schema.py b/lib/ansible/modules/database/vertica/vertica_schema.py index 89b781d350..3a5a5e9b59 100644 --- a/lib/ansible/modules/database/vertica/vertica_schema.py +++ b/lib/ansible/modules/database/vertica/vertica_schema.py @@ -193,9 +193,9 @@ def check(schema_facts, schema, usage_roles, create_roles, owner): return False if owner and owner.lower() == schema_facts[schema_key]['owner'].lower(): return False - if cmp(sorted(usage_roles), sorted(schema_facts[schema_key]['usage_roles'])) != 0: + if sorted(usage_roles) != sorted(schema_facts[schema_key]['usage_roles']): return False - if cmp(sorted(create_roles), sorted(schema_facts[schema_key]['create_roles'])) != 0: + if sorted(create_roles) != sorted(schema_facts[schema_key]['create_roles']): return False return True @@ -216,8 +216,9 @@ def present(schema_facts, cursor, schema, usage_roles, create_roles, owner): "Changing schema owner is not supported. " "Current owner: {0}." ).format(schema_facts[schema_key]['owner'])) - if cmp(sorted(usage_roles), sorted(schema_facts[schema_key]['usage_roles'])) != 0 or \ - cmp(sorted(create_roles), sorted(schema_facts[schema_key]['create_roles'])) != 0: + if sorted(usage_roles) != sorted(schema_facts[schema_key]['usage_roles']) or \ + sorted(create_roles) != sorted(schema_facts[schema_key]['create_roles']): + update_roles(schema_facts, cursor, schema, schema_facts[schema_key]['usage_roles'], usage_roles, schema_facts[schema_key]['create_roles'], create_roles) diff --git a/lib/ansible/modules/database/vertica/vertica_user.py b/lib/ansible/modules/database/vertica/vertica_user.py index cf0c512b97..65bd62707f 100644 --- a/lib/ansible/modules/database/vertica/vertica_user.py +++ b/lib/ansible/modules/database/vertica/vertica_user.py @@ -208,8 +208,8 @@ def check(user_facts, user, profile, resource_pool, if expired is not None and expired != (user_facts[user_key]['expired'] == 'True') or \ ldap is not None and ldap != (user_facts[user_key]['expired'] == 'True'): return False - if roles and (cmp(sorted(roles), sorted(user_facts[user_key]['roles'])) != 0 or \ - cmp(sorted(roles), sorted(user_facts[user_key]['default_roles'])) != 0): + if roles and (sorted(roles) != sorted(user_facts[user_key]['roles']) or \ + sorted(roles) != sorted(user_facts[user_key]['default_roles'])): return False return True @@ -275,8 +275,10 @@ def present(user_facts, cursor, user, profile, resource_pool, changed = True if changed: cursor.execute(' '.join(query_fragments)) - if roles and (cmp(sorted(roles), sorted(user_facts[user_key]['roles'])) != 0 or \ - cmp(sorted(roles), sorted(user_facts[user_key]['default_roles'])) != 0): +==== BASE ==== + if (roles and (cmp(sorted(roles), sorted(user_facts[user_key]['roles'])) != 0 or + cmp(sorted(roles), sorted(user_facts[user_key]['default_roles'])) != 0)): +==== BASE ==== update_roles(user_facts, cursor, user, user_facts[user_key]['roles'], user_facts[user_key]['default_roles'], roles) changed = True diff --git a/lib/ansible/modules/packaging/os/swdepot.py b/lib/ansible/modules/packaging/os/swdepot.py index 03ea8a4c24..e262df36d3 100644 --- a/lib/ansible/modules/packaging/os/swdepot.py +++ b/lib/ansible/modules/packaging/os/swdepot.py @@ -88,7 +88,16 @@ def compare_package(version1, version2): def normalize(v): return [int(x) for x in re.sub(r'(\.0+)*$', '', v).split(".")] - return cmp(normalize(version1), normalize(version2)) + normalized_version1 = normalize(version1) + normalized_version2 = normalize(version2) + if normalized_version1 == normalized_version2: + rc = 0 + elif normalized_version1 < normalized_version2: + rc = -1 + else: + rc = 1 + return rc + def query_package(module, name, depot=None): """ Returns whether a package is installed or not and version. """ |