From 60bc3e36344abe6fef17684cfc7d22cd8c1035be Mon Sep 17 00:00:00 2001 From: Pavel Bar Date: Thu, 27 Nov 2025 03:08:31 +0200 Subject: [PATCH 1/4] Fix deprecated module_utils imports in synchronize MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These deprecated imports will be removed in ansible-core 2.24. Updated to use the new recommended import paths. - ansible.module_utils._text → ansible.module_utils.common.text.converters - ansible.module_utils.common._collections_compat → collections.abc Fixes #686 Co-authored-by: Cursor AI Signed-off-by: Pavel Bar --- plugins/action/synchronize.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/action/synchronize.py b/plugins/action/synchronize.py index a171a2b..6bf4ac7 100644 --- a/plugins/action/synchronize.py +++ b/plugins/action/synchronize.py @@ -22,8 +22,8 @@ import os.path from ansible import constants as C from ansible.module_utils.six import string_types from ansible.module_utils.six.moves import shlex_quote -from ansible.module_utils._text import to_text -from ansible.module_utils.common._collections_compat import MutableSequence +from ansible.module_utils.common.text.converters import to_text +from collections.abc import MutableSequence from ansible.module_utils.parsing.convert_bool import boolean from ansible.plugins.action import ActionBase from ansible.plugins.loader import connection_loader From 708df85118bb9c9c8cdb4d31050a25065c1ca519 Mon Sep 17 00:00:00 2001 From: Pavel Bar Date: Thu, 27 Nov 2025 03:08:41 +0200 Subject: [PATCH 2/4] Fix deprecated module_utils imports in mount MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These deprecated imports will be removed in ansible-core 2.24. Updated to use the new recommended import paths. - ansible.module_utils._text → ansible.module_utils.common.text.converters Related to #686 Co-authored-by: Cursor AI Signed-off-by: Pavel Bar --- plugins/modules/mount.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/modules/mount.py b/plugins/modules/mount.py index 6e2425b..76bbcc2 100644 --- a/plugins/modules/mount.py +++ b/plugins/modules/mount.py @@ -226,7 +226,7 @@ import platform from ansible.module_utils.basic import AnsibleModule from ansible_collections.ansible.posix.plugins.module_utils.mount import ismount from ansible.module_utils.six import iteritems -from ansible.module_utils._text import to_bytes, to_native +from ansible.module_utils.common.text.converters import to_bytes, to_native from ansible.module_utils.parsing.convert_bool import boolean From 5b071d26baf7ddf25b54eee9676e6891d112c624 Mon Sep 17 00:00:00 2001 From: Pavel Bar Date: Thu, 27 Nov 2025 03:09:11 +0200 Subject: [PATCH 3/4] Fix additional six deprecations for CI compliance MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace deprecated ansible.module_utils.six imports with Python 3 standard library equivalents to pass pylint sanity checks. synchronize.py: - ansible.module_utils.six.string_types → str - ansible.module_utils.six.moves.shlex_quote → shlex.quote mount.py: - ansible.module_utils.six.iteritems → dict.items() Related to #686 Co-authored-by: Cursor AI Signed-off-by: Pavel Bar --- plugins/action/synchronize.py | 7 +++---- plugins/modules/mount.py | 3 +-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/plugins/action/synchronize.py b/plugins/action/synchronize.py index 6bf4ac7..8f857c0 100644 --- a/plugins/action/synchronize.py +++ b/plugins/action/synchronize.py @@ -18,12 +18,11 @@ from __future__ import (absolute_import, division, print_function) __metaclass__ = type import os.path +from collections.abc import MutableSequence +from shlex import quote as shlex_quote from ansible import constants as C -from ansible.module_utils.six import string_types -from ansible.module_utils.six.moves import shlex_quote from ansible.module_utils.common.text.converters import to_text -from collections.abc import MutableSequence from ansible.module_utils.parsing.convert_bool import boolean from ansible.plugins.action import ActionBase from ansible.plugins.loader import connection_loader @@ -417,7 +416,7 @@ class ActionModule(ActionBase): # Replicate what we do in the module argumentspec handling for lists if not isinstance(_tmp_args.get('rsync_opts'), MutableSequence): tmp_rsync_opts = _tmp_args.get('rsync_opts', []) - if isinstance(tmp_rsync_opts, string_types): + if isinstance(tmp_rsync_opts, str): tmp_rsync_opts = tmp_rsync_opts.split(',') elif isinstance(tmp_rsync_opts, (int, float)): tmp_rsync_opts = [to_text(tmp_rsync_opts)] diff --git a/plugins/modules/mount.py b/plugins/modules/mount.py index 76bbcc2..682fd4c 100644 --- a/plugins/modules/mount.py +++ b/plugins/modules/mount.py @@ -225,7 +225,6 @@ import platform from ansible.module_utils.basic import AnsibleModule from ansible_collections.ansible.posix.plugins.module_utils.mount import ismount -from ansible.module_utils.six import iteritems from ansible.module_utils.common.text.converters import to_bytes, to_native from ansible.module_utils.parsing.convert_bool import boolean @@ -279,7 +278,7 @@ def _set_mount_save_old(module, args): old_lines = [] exists = False changed = False - escaped_args = dict([(k, _escape_fstab(v)) for k, v in iteritems(args)]) + escaped_args = dict([(k, _escape_fstab(v)) for k, v in args.items()]) new_line = '%(src)s %(name)s %(fstype)s %(opts)s %(dump)s %(passno)s\n' if platform.system() == 'SunOS': From c19d766d3a3f849b4e3cb84245cad8365591672d Mon Sep 17 00:00:00 2001 From: Pavel Bar Date: Thu, 27 Nov 2025 03:09:18 +0200 Subject: [PATCH 4/4] Add changelog fragment for deprecated imports fix Added changelog entry documenting the bugfixes for synchronize and mount modules' deprecated import issues. Related to #686 Co-authored-by: Cursor AI Signed-off-by: Pavel Bar --- changelogs/fragments/686_fix_deprecated_imports.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 changelogs/fragments/686_fix_deprecated_imports.yml diff --git a/changelogs/fragments/686_fix_deprecated_imports.yml b/changelogs/fragments/686_fix_deprecated_imports.yml new file mode 100644 index 0000000..83520d9 --- /dev/null +++ b/changelogs/fragments/686_fix_deprecated_imports.yml @@ -0,0 +1,4 @@ +--- +bugfixes: + - synchronize - fix deprecated ``ansible.module_utils._text`` and ``ansible.module_utils.common._collections_compat`` imports (https://github.com/ansible-collections/ansible.posix/issues/686). + - mount - fix deprecated ``ansible.module_utils._text`` import (https://github.com/ansible-collections/ansible.posix/issues/686).