Skip to content

Commit

Permalink
Prepare for distutils.version being removed in Python 3.12 (ansible-c…
Browse files Browse the repository at this point in the history
…ollections#267)

* Prepare for distutils.version being removed in Python 3.12

* Update plugins/module_utils/version.py

Co-authored-by: Felix Fontein <felix@fontein.de>

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit d9e12b8)
  • Loading branch information
Andersson007 committed Jan 17, 2022
1 parent ace830e commit 146681c
Show file tree
Hide file tree
Showing 7 changed files with 28 additions and 5 deletions.
2 changes: 2 additions & 0 deletions changelogs/fragments/267-prepare_for_distutils_be_removed.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
bugfixes:
- "Collection core functions - use vendored version of ``distutils.version`` included in ansible-core 2.12 if available. This avoids breakage when ``distutils`` is removed from the standard library of Python 3.12. Note that ansible-core 2.11, ansible-base 2.10 and Ansible 2.9 are right now not compatible with Python 3.12, hence this fix does not target these ansible-core/-base/2.9 versions (https://github.com/ansible-collections/community.mysql/pull/267)."
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
__metaclass__ = type

from ansible_collections.community.mysql.plugins.module_utils.mysql import get_server_version
from distutils.version import LooseVersion
from ansible_collections.community.mysql.plugins.module_utils.version import LooseVersion


def uses_replica_terminology(cursor):
Expand Down
2 changes: 1 addition & 1 deletion plugins/module_utils/implementations/mariadb/user.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type

from distutils.version import LooseVersion
from ansible_collections.community.mysql.plugins.module_utils.version import LooseVersion
from ansible_collections.community.mysql.plugins.module_utils.mysql import get_server_version


Expand Down
2 changes: 1 addition & 1 deletion plugins/module_utils/implementations/mysql/replication.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
__metaclass__ = type

from ansible_collections.community.mysql.plugins.module_utils.mysql import get_server_version
from distutils.version import LooseVersion
from ansible_collections.community.mysql.plugins.module_utils.version import LooseVersion


def uses_replica_terminology(cursor):
Expand Down
2 changes: 1 addition & 1 deletion plugins/module_utils/implementations/mysql/user.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type

from distutils.version import LooseVersion
from ansible_collections.community.mysql.plugins.module_utils.version import LooseVersion
from ansible_collections.community.mysql.plugins.module_utils.mysql import get_server_version


Expand Down
21 changes: 21 additions & 0 deletions plugins/module_utils/version.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# -*- coding: utf-8 -*-

# Copyright: (c) 2021, Felix Fontein <felix@fontein.de>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)

"""Provide version object to compare version numbers."""

from __future__ import absolute_import, division, print_function
__metaclass__ = type

from ansible.module_utils.six import raise_from

try:
from ansible.module_utils.compat.version import LooseVersion
except ImportError:
try:
from distutils.version import LooseVersion
except ImportError as exc:
msg = ('To use this plugin or module with ansible-core < 2.11, '
'you need to use Python < 3.12 with distutils.version present')
raise_from(ImportError(msg), exc)
2 changes: 1 addition & 1 deletion plugins/modules/mysql_replication.py
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,7 @@
mysql_common_argument_spec,
)
from ansible.module_utils._text import to_native
from distutils.version import LooseVersion
from ansible_collections.community.mysql.plugins.module_utils.version import LooseVersion

executed_queries = []

Expand Down

0 comments on commit 146681c

Please sign in to comment.