Compare commits

...

28 commits

Author SHA1 Message Date
Pavel Bar
e6f92358df
Merge ff2f23fb30 into 2cd1a6e4ab 2026-02-25 02:19:43 -06:00
Pavel Bar
ff2f23fb30 Add changelog fragment for deprecated imports fix
Co-authored-by: Cursor AI
Signed-off-by: Pavel Bar <pbar@redhat.com>
2026-02-15 23:56:05 +02:00
Pavel Bar
98fda8f4b7 Fix deprecated imports in tests/unit/modules/utils.py
Replace deprecated module_utils import:
- ansible.module_utils._text -> ansible.module_utils.common.text.converters

Fixes #686

Co-authored-by: Cursor AI
Signed-off-by: Pavel Bar <pbar@redhat.com>
2026-02-15 23:56:05 +02:00
Pavel Bar
f42364d515 Fix deprecated imports in tests/unit/modules/system/test_mount.py
Replace deprecated module_utils import:
- ansible.module_utils._text -> ansible.module_utils.common.text.converters

Fixes #686

Co-authored-by: Cursor AI
Signed-off-by: Pavel Bar <pbar@redhat.com>
2026-02-15 23:56:05 +02:00
Pavel Bar
7bc21b6b41 Fix deprecated imports in tests/unit/modules/conftest.py
Replace deprecated module_utils imports:
- ansible.module_utils._text -> ansible.module_utils.common.text.converters
- ansible.module_utils.six.string_types -> str
- ansible.module_utils.common._collections_compat -> collections.abc

Fixes #686

Co-authored-by: Cursor AI
Signed-off-by: Pavel Bar <pbar@redhat.com>
2026-02-15 23:56:05 +02:00
Pavel Bar
ab24f41cbd Fix deprecated imports in tests/unit/mock/yaml_helper.py
Replace deprecated module_utils import:
- ansible.module_utils.six.PY3 -> removed (Python 2 code paths removed)

Related to #686

Co-authored-by: Cursor AI
Signed-off-by: Pavel Bar <pbar@redhat.com>
2026-02-15 23:56:05 +02:00
Pavel Bar
b5c50b6881 Fix deprecated imports in tests/unit/mock/vault_helper.py
Replace deprecated module_utils import:
- ansible.module_utils._text -> ansible.module_utils.common.text.converters

Fixes #686

Co-authored-by: Cursor AI
Signed-off-by: Pavel Bar <pbar@redhat.com>
2026-02-15 23:56:05 +02:00
Pavel Bar
0c210428cf Fix deprecated imports in tests/unit/mock/procenv.py
Replace deprecated module_utils imports:
- ansible.module_utils._text -> ansible.module_utils.common.text.converters
- ansible.module_utils.six.PY3 -> removed (Python 2 code paths removed)

Fixes #686

Co-authored-by: Cursor AI
Signed-off-by: Pavel Bar <pbar@redhat.com>
2026-02-15 23:56:05 +02:00
Pavel Bar
be431d23b5 Fix deprecated imports in tests/unit/mock/loader.py
Replace deprecated module_utils import:
- ansible.module_utils._text -> ansible.module_utils.common.text.converters

Fixes #686

Co-authored-by: Cursor AI
Signed-off-by: Pavel Bar <pbar@redhat.com>
2026-02-15 23:56:05 +02:00
Pavel Bar
a9bdfed194 Fix deprecated imports in plugins/shell/fish.py
Replace deprecated module_utils imports:
- ansible.module_utils.six.text_type -> str
- ansible.module_utils.six.moves.shlex_quote -> shlex.quote

Fixes #686

Co-authored-by: Cursor AI
Signed-off-by: Pavel Bar <pbar@redhat.com>
2026-02-15 23:56:05 +02:00
Pavel Bar
1d76c2ff5f Fix deprecated imports in plugins/shell/csh.py
Replace deprecated module_utils imports:
- ansible.module_utils.six.text_type -> str
- ansible.module_utils.six.moves.shlex_quote -> shlex.quote

Fixes #686

Co-authored-by: Cursor AI
Signed-off-by: Pavel Bar <pbar@redhat.com>
2026-02-15 23:56:05 +02:00
Pavel Bar
b8b424e4ee Fix deprecated imports in plugins/modules/sysctl.py
Replace deprecated module_utils imports:
- ansible.module_utils._text -> ansible.module_utils.common.text.converters
- ansible.module_utils.six.string_types -> str

Fixes #686

Co-authored-by: Cursor AI
Signed-off-by: Pavel Bar <pbar@redhat.com>
2026-02-15 23:56:05 +02:00
Pavel Bar
9eeacedd72 Fix deprecated imports in plugins/modules/seboolean.py
Replace deprecated module_utils import:
- ansible.module_utils._text -> ansible.module_utils.common.text.converters

Fixes #686

Co-authored-by: Cursor AI
Signed-off-by: Pavel Bar <pbar@redhat.com>
2026-02-15 23:56:05 +02:00
Pavel Bar
b4823e10a8 Fix deprecated imports in plugins/modules/rpm_ostree_upgrade.py
Replace deprecated module_utils import:
- ansible.module_utils._text -> ansible.module_utils.common.text.converters

Fixes #686

Co-authored-by: Cursor AI
Signed-off-by: Pavel Bar <pbar@redhat.com>
2026-02-15 23:56:05 +02:00
Pavel Bar
7c01879f0e Fix deprecated imports in plugins/modules/rhel_rpm_ostree.py
Replace deprecated module_utils import:
- ansible.module_utils._text -> ansible.module_utils.common.text.converters

Fixes #686

Co-authored-by: Cursor AI
Signed-off-by: Pavel Bar <pbar@redhat.com>
2026-02-15 23:56:05 +02:00
Pavel Bar
0c384a4d5b Fix deprecated imports in plugins/modules/patch.py
Replace deprecated module_utils import:
- ansible.module_utils._text -> ansible.module_utils.common.text.converters

Fixes #686

Co-authored-by: Cursor AI
Signed-off-by: Pavel Bar <pbar@redhat.com>
2026-02-15 23:56:05 +02:00
Pavel Bar
bdf59991d3 Fix deprecated imports in plugins/modules/firewalld_info.py
Replace deprecated module_utils import:
- ansible.module_utils._text -> ansible.module_utils.common.text.converters

Fixes #686

Co-authored-by: Cursor AI
Signed-off-by: Pavel Bar <pbar@redhat.com>
2026-02-15 23:56:05 +02:00
Pavel Bar
027c46f119 Fix deprecated imports in plugins/modules/authorized_key.py
Replace deprecated module_utils imports:
- ansible.module_utils._text -> ansible.module_utils.common.text.converters
- ansible.module_utils.six.moves.urllib.parse -> urllib.parse

Fixes #686

Co-authored-by: Cursor AI
Signed-off-by: Pavel Bar <pbar@redhat.com>
2026-02-15 23:56:02 +02:00
Pavel Bar
f6c77b5e45 Fix deprecated imports in plugins/modules/acl.py
Replace deprecated module_utils import:
- ansible.module_utils._text -> ansible.module_utils.common.text.converters

Fixes #686

Co-authored-by: Cursor AI
Signed-off-by: Pavel Bar <pbar@redhat.com>
2026-02-15 22:56:50 +02:00
Pavel Bar
7e4cf566f4 Fix deprecated imports in plugins/callback/profile_tasks.py
Replace deprecated module_utils import:
- ansible.module_utils.six.moves.reduce -> functools.reduce

Fixes #686

Co-authored-by: Cursor AI
Signed-off-by: Pavel Bar <pbar@redhat.com>
2026-02-15 22:56:50 +02:00
Pavel Bar
d0f576d3bd Fix deprecated imports in plugins/callback/profile_roles.py
Replace deprecated module_utils import:
- ansible.module_utils.six.moves.reduce -> functools.reduce

Fixes #686

Co-authored-by: Cursor AI
Signed-off-by: Pavel Bar <pbar@redhat.com>
2026-02-15 22:56:50 +02:00
Pavel Bar
0f02dc8960 Fix deprecated imports in plugins/callback/jsonl.py
Replace deprecated module_utils import:
- ansible.module_utils._text -> ansible.module_utils.common.text.converters

Fixes #686

Co-authored-by: Cursor AI
Signed-off-by: Pavel Bar <pbar@redhat.com>
2026-02-15 22:56:50 +02:00
Pavel Bar
ce6b409abe Fix deprecated imports in plugins/callback/json.py
Replace deprecated module_utils import:
- ansible.module_utils._text -> ansible.module_utils.common.text.converters

Fixes #686

Co-authored-by: Cursor AI
Signed-off-by: Pavel Bar <pbar@redhat.com>
2026-02-15 22:56:50 +02:00
Pavel Bar
c669351777 Fix deprecated imports in plugins/callback/cgroup_perf_recap.py
Replace deprecated module_utils imports:
- ansible.module_utils._text -> ansible.module_utils.common.text.converters
- ansible.module_utils.six.with_metaclass -> Python 3 metaclass syntax

Fixes #686

Co-authored-by: Cursor AI
Signed-off-by: Pavel Bar <pbar@redhat.com>
2026-02-15 22:56:50 +02:00
Pavel Bar
b6198df6ab Fix deprecated imports in plugins/action/patch.py
Replace deprecated module_utils import:
- ansible.module_utils._text -> ansible.module_utils.common.text.converters

Fixes #686

Co-authored-by: Cursor AI
Signed-off-by: Pavel Bar <pbar@redhat.com>
2026-02-15 22:56:50 +02:00
Pavel Bar
c1de972d38 Fix deprecated imports in plugins/modules/mount.py
Replace deprecated module_utils imports:
- ansible.module_utils._text -> ansible.module_utils.common.text.converters
- ansible.module_utils.six.iteritems -> dict.items()

Fixes #686

Co-authored-by: Cursor AI
Signed-off-by: Pavel Bar <pbar@redhat.com>
2026-02-15 22:56:49 +02:00
Pavel Bar
bd5f969ef1 Fix deprecated imports in plugins/modules/synchronize.py
Replace deprecated module_utils imports:
- ansible.module_utils._text -> ansible.module_utils.common.text.converters
- ansible.module_utils.six.moves.shlex_quote -> shlex.quote

Fixes #686

Co-authored-by: Cursor AI
Signed-off-by: Pavel Bar <pbar@redhat.com>
2026-02-15 22:56:49 +02:00
Pavel Bar
1b079a3d17 Fix deprecated imports in plugins/action/synchronize.py
Replace deprecated module_utils imports:
- ansible.module_utils._text -> ansible.module_utils.common.text.converters
- ansible.module_utils.common._collections_compat -> collections.abc
- ansible.module_utils.six.string_types -> str
- ansible.module_utils.six.moves.shlex_quote -> shlex.quote

Fixes #686

Co-authored-by: Cursor AI
Signed-off-by: Pavel Bar <pbar@redhat.com>
2026-02-15 22:56:49 +02:00
28 changed files with 89 additions and 84 deletions

View file

@ -0,0 +1,28 @@
---
minor_changes:
- mount - fix deprecated ``ansible.module_utils._text`` and ``ansible.module_utils.six`` imports (https://github.com/ansible-collections/ansible.posix/issues/686).
- plugins/action/patch.py - fix deprecated ``ansible.module_utils._text`` import (https://github.com/ansible-collections/ansible.posix/issues/686).
- plugins/action/synchronize.py - fix deprecated ``ansible.module_utils._text``, ``ansible.module_utils.common._collections_compat``, and ``ansible.module_utils.six`` imports (https://github.com/ansible-collections/ansible.posix/issues/686).
- plugins/callback/cgroup_perf_recap.py - fix deprecated ``ansible.module_utils._text`` and ``ansible.module_utils.six`` imports (https://github.com/ansible-collections/ansible.posix/issues/686).
- plugins/callback/json.py - fix deprecated ``ansible.module_utils._text`` import (https://github.com/ansible-collections/ansible.posix/issues/686).
- plugins/callback/jsonl.py - fix deprecated ``ansible.module_utils._text`` import (https://github.com/ansible-collections/ansible.posix/issues/686).
- plugins/callback/profile_roles.py - fix deprecated ``ansible.module_utils.six`` import (https://github.com/ansible-collections/ansible.posix/issues/686).
- plugins/callback/profile_tasks.py - fix deprecated ``ansible.module_utils.six`` import (https://github.com/ansible-collections/ansible.posix/issues/686).
- plugins/modules/acl.py - fix deprecated ``ansible.module_utils._text`` import (https://github.com/ansible-collections/ansible.posix/issues/686).
- plugins/modules/authorized_key.py - fix deprecated ``ansible.module_utils._text`` and ``ansible.module_utils.six`` imports (https://github.com/ansible-collections/ansible.posix/issues/686).
- plugins/modules/firewalld_info.py - fix deprecated ``ansible.module_utils._text`` import (https://github.com/ansible-collections/ansible.posix/issues/686).
- plugins/modules/patch.py - fix deprecated ``ansible.module_utils._text`` import (https://github.com/ansible-collections/ansible.posix/issues/686).
- plugins/modules/rhel_rpm_ostree.py - fix deprecated ``ansible.module_utils._text`` import (https://github.com/ansible-collections/ansible.posix/issues/686).
- plugins/modules/rpm_ostree_upgrade.py - fix deprecated ``ansible.module_utils._text`` import (https://github.com/ansible-collections/ansible.posix/issues/686).
- plugins/modules/seboolean.py - fix deprecated ``ansible.module_utils._text`` import (https://github.com/ansible-collections/ansible.posix/issues/686).
- plugins/modules/synchronize.py - fix deprecated ``ansible.module_utils._text`` and ``ansible.module_utils.six`` imports (https://github.com/ansible-collections/ansible.posix/issues/686).
- plugins/modules/sysctl.py - fix deprecated ``ansible.module_utils._text`` and ``ansible.module_utils.six`` imports (https://github.com/ansible-collections/ansible.posix/issues/686).
- plugins/shell/csh.py - fix deprecated ``ansible.module_utils.six`` imports (https://github.com/ansible-collections/ansible.posix/issues/686).
- plugins/shell/fish.py - fix deprecated ``ansible.module_utils.six`` imports (https://github.com/ansible-collections/ansible.posix/issues/686).
- tests/unit/mock/loader.py - fix deprecated ``ansible.module_utils._text`` import (https://github.com/ansible-collections/ansible.posix/issues/686).
- tests/unit/mock/procenv.py - fix deprecated ``ansible.module_utils._text`` and ``ansible.module_utils.six`` imports (https://github.com/ansible-collections/ansible.posix/issues/686).
- tests/unit/mock/vault_helper.py - fix deprecated ``ansible.module_utils._text`` import (https://github.com/ansible-collections/ansible.posix/issues/686).
- tests/unit/mock/yaml_helper.py - fix deprecated ``ansible.module_utils.six`` import (https://github.com/ansible-collections/ansible.posix/issues/686).
- tests/unit/modules/conftest.py - fix deprecated ``ansible.module_utils._text``, ``ansible.module_utils.six``, and ``ansible.module_utils.common._collections_compat`` imports (https://github.com/ansible-collections/ansible.posix/issues/686).
- tests/unit/modules/system/test_mount.py - fix deprecated ``ansible.module_utils._text`` import (https://github.com/ansible-collections/ansible.posix/issues/686).
- tests/unit/modules/utils.py - fix deprecated ``ansible.module_utils._text`` import (https://github.com/ansible-collections/ansible.posix/issues/686).

View file

@ -21,7 +21,7 @@ __metaclass__ = type
import os import os
from ansible.errors import AnsibleError, AnsibleAction, _AnsibleActionDone, AnsibleActionFail from ansible.errors import AnsibleError, AnsibleAction, _AnsibleActionDone, AnsibleActionFail
from ansible.module_utils._text import to_native from ansible.module_utils.common.text.converters import to_native
from ansible.module_utils.parsing.convert_bool import boolean from ansible.module_utils.parsing.convert_bool import boolean
from ansible.plugins.action import ActionBase from ansible.plugins.action import ActionBase

View file

@ -18,12 +18,11 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type
import os.path import os.path
from collections.abc import MutableSequence
from shlex import quote as shlex_quote
from ansible import constants as C from ansible import constants as C
from ansible.module_utils.six import string_types from ansible.module_utils.common.text.converters import to_text
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.parsing.convert_bool import boolean from ansible.module_utils.parsing.convert_bool import boolean
from ansible.plugins.action import ActionBase from ansible.plugins.action import ActionBase
from ansible.plugins.loader import connection_loader 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 # Replicate what we do in the module argumentspec handling for lists
if not isinstance(_tmp_args.get('rsync_opts'), MutableSequence): if not isinstance(_tmp_args.get('rsync_opts'), MutableSequence):
tmp_rsync_opts = _tmp_args.get('rsync_opts', []) 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(',') tmp_rsync_opts = tmp_rsync_opts.split(',')
elif isinstance(tmp_rsync_opts, (int, float)): elif isinstance(tmp_rsync_opts, (int, float)):
tmp_rsync_opts = [to_text(tmp_rsync_opts)] tmp_rsync_opts = [to_text(tmp_rsync_opts)]

View file

@ -141,8 +141,7 @@ from abc import ABCMeta, abstractmethod
from functools import partial from functools import partial
from ansible.module_utils._text import to_bytes, to_text from ansible.module_utils.common.text.converters import to_bytes, to_text
from ansible.module_utils.six import with_metaclass
from ansible.parsing.ajson import AnsibleJSONEncoder from ansible.parsing.ajson import AnsibleJSONEncoder
from ansible.plugins.callback import CallbackBase from ansible.plugins.callback import CallbackBase
@ -158,7 +157,7 @@ def dict_fromkeys(keys, default=None):
return d return d
class BaseProf(with_metaclass(ABCMeta, threading.Thread)): class BaseProf(threading.Thread, metaclass=ABCMeta):
def __init__(self, path, obj=None, writer=None): def __init__(self, path, obj=None, writer=None):
threading.Thread.__init__(self) # pylint: disable=non-parent-init-called threading.Thread.__init__(self) # pylint: disable=non-parent-init-called
self.obj = obj self.obj = obj

View file

@ -48,7 +48,7 @@ import json
from functools import partial from functools import partial
from ansible.inventory.host import Host from ansible.inventory.host import Host
from ansible.module_utils._text import to_text from ansible.module_utils.common.text.converters import to_text
from ansible.parsing.ajson import AnsibleJSONEncoder from ansible.parsing.ajson import AnsibleJSONEncoder
from ansible.plugins.callback import CallbackBase from ansible.plugins.callback import CallbackBase

View file

@ -50,7 +50,7 @@ import copy
from functools import partial from functools import partial
from ansible.inventory.host import Host from ansible.inventory.host import Host
from ansible.module_utils._text import to_text from ansible.module_utils.common.text.converters import to_text
from ansible.parsing.ajson import AnsibleJSONEncoder from ansible.parsing.ajson import AnsibleJSONEncoder
from ansible.plugins.callback import CallbackBase from ansible.plugins.callback import CallbackBase

View file

@ -33,7 +33,7 @@ import collections
import time import time
from ansible.plugins.callback import CallbackBase from ansible.plugins.callback import CallbackBase
from ansible.module_utils.six.moves import reduce from functools import reduce
# define start time # define start time
t0 = tn = time.time() t0 = tn = time.time()

View file

@ -86,7 +86,7 @@ import collections
from datetime import datetime from datetime import datetime
from ansible.module_utils.six.moves import reduce from functools import reduce
from ansible.plugins.callback import CallbackBase from ansible.plugins.callback import CallbackBase

View file

@ -147,7 +147,7 @@ import os
import platform import platform
from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils._text import to_native from ansible.module_utils.common.text.converters import to_native
def split_entry(entry): def split_entry(entry):

View file

@ -229,10 +229,17 @@ import errno
import traceback import traceback
from operator import itemgetter from operator import itemgetter
from ansible.module_utils._text import to_native # TODO(Python2): urllib.parse is available in Python 3. This module may run on
# target hosts with Python 2.7 (e.g., older RHEL systems in CI integration tests).
# Remove the try/except fallback to urlparse when Python 2 support is dropped.
try:
from urllib.parse import urlparse
except ImportError:
from urlparse import urlparse
from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.common.text.converters import to_native
from ansible.module_utils.urls import fetch_url from ansible.module_utils.urls import fetch_url
from ansible.module_utils.six.moves.urllib.parse import urlparse
class keydict(dict): class keydict(dict):

View file

@ -210,7 +210,7 @@ firewalld_info:
''' '''
from ansible.module_utils.basic import AnsibleModule, missing_required_lib from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils._text import to_native from ansible.module_utils.common.text.converters import to_native
from ansible_collections.ansible.posix.plugins.module_utils._respawn import respawn_module, HAS_RESPAWN_UTIL from ansible_collections.ansible.posix.plugins.module_utils._respawn import respawn_module, HAS_RESPAWN_UTIL
from ansible_collections.ansible.posix.plugins.module_utils.version import StrictVersion from ansible_collections.ansible.posix.plugins.module_utils.version import StrictVersion

View file

@ -225,8 +225,7 @@ import platform
from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.basic import AnsibleModule
from ansible_collections.ansible.posix.plugins.module_utils.mount import ismount 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._text import to_bytes, to_native
from ansible.module_utils.parsing.convert_bool import boolean from ansible.module_utils.parsing.convert_bool import boolean
@ -279,7 +278,7 @@ def _set_mount_save_old(module, args):
old_lines = [] old_lines = []
exists = False exists = False
changed = 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' new_line = '%(src)s %(name)s %(fstype)s %(opts)s %(dump)s %(passno)s\n'
if platform.system() == 'SunOS': if platform.system() == 'SunOS':

View file

@ -106,7 +106,7 @@ import os
import platform import platform
from traceback import format_exc from traceback import format_exc
from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils._text import to_native from ansible.module_utils.common.text.converters import to_native
class PatchError(Exception): class PatchError(Exception):

View file

@ -73,7 +73,7 @@ import os
import traceback import traceback
from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils._text import to_text from ansible.module_utils.common.text.converters import to_text
def locally_installed(module, pkgname): def locally_installed(module, pkgname):

View file

@ -71,7 +71,7 @@ import os
import traceback import traceback
from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils._text import to_native, to_text from ansible.module_utils.common.text.converters import to_native, to_text
def rpm_ostree_transaction(module): def rpm_ostree_transaction(module):

View file

@ -73,7 +73,7 @@ except ImportError:
HAVE_SEMANAGE = False HAVE_SEMANAGE = False
from ansible.module_utils.basic import AnsibleModule, missing_required_lib from ansible.module_utils.basic import AnsibleModule, missing_required_lib
from ansible.module_utils._text import to_text from ansible.module_utils.common.text.converters import to_text
from ansible_collections.ansible.posix.plugins.module_utils._respawn import respawn_module, HAS_RESPAWN_UTIL from ansible_collections.ansible.posix.plugins.module_utils._respawn import respawn_module, HAS_RESPAWN_UTIL

View file

@ -367,9 +367,16 @@ EXAMPLES = r'''
import os import os
import errno import errno
# TODO(Python2): shlex.quote was added in Python 3.3. This module may run on
# target hosts with Python 2.7 (e.g., older RHEL systems in CI integration tests).
# Remove the try/except fallback to pipes.quote when Python 2 support is dropped.
try:
from shlex import quote as shlex_quote
except ImportError:
from pipes import quote as shlex_quote
from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.basic import AnsibleModule
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.six.moves import shlex_quote
client_addr = None client_addr = None

View file

@ -110,9 +110,8 @@ import re
import tempfile import tempfile
from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.six import string_types from ansible.module_utils.common.text.converters import to_native
from ansible.module_utils.parsing.convert_bool import BOOLEANS_FALSE, BOOLEANS_TRUE from ansible.module_utils.parsing.convert_bool import BOOLEANS_FALSE, BOOLEANS_TRUE
from ansible.module_utils._text import to_native
class SysctlModule(object): class SysctlModule(object):
@ -224,7 +223,7 @@ class SysctlModule(object):
return '1' return '1'
else: else:
return '0' return '0'
elif isinstance(value, string_types): elif isinstance(value, str):
if value.lower() in BOOLEANS_TRUE: if value.lower() in BOOLEANS_TRUE:
return '1' return '1'
elif value.lower() in BOOLEANS_FALSE: elif value.lower() in BOOLEANS_FALSE:

View file

@ -13,8 +13,7 @@ DOCUMENTATION = '''
- shell_common - shell_common
''' '''
from ansible.module_utils.six import text_type from shlex import quote as shlex_quote
from ansible.module_utils.six.moves import shlex_quote
from ansible.plugins.shell import ShellBase from ansible.plugins.shell import ShellBase
@ -43,5 +42,5 @@ class ShellModule(ShellBase):
ret = [] ret = []
# All the -u options must be first, so we process them first # All the -u options must be first, so we process them first
ret += ['-u %s' % k for k, v in kwargs.items() if v is None] ret += ['-u %s' % k for k, v in kwargs.items() if v is None]
ret += ['%s=%s' % (k, shlex_quote(text_type(v))) for k, v in kwargs.items() if v is not None] ret += ['%s=%s' % (k, shlex_quote(str(v))) for k, v in kwargs.items() if v is not None]
return 'env %s' % ' '.join(ret) return 'env %s' % ' '.join(ret)

View file

@ -13,8 +13,7 @@ DOCUMENTATION = '''
- shell_common - shell_common
''' '''
from ansible.module_utils.six import text_type from shlex import quote as shlex_quote
from ansible.module_utils.six.moves import shlex_quote
from ansible.plugins.shell.sh import ShellModule as ShModule from ansible.plugins.shell.sh import ShellModule as ShModule
@ -42,7 +41,7 @@ class ShellModule(ShModule):
if v is None: if v is None:
ret.append('set -e %s;' % k) ret.append('set -e %s;' % k)
else: else:
ret.append('set -lx %s %s;' % (k, shlex_quote(text_type(v)))) ret.append('set -lx %s %s;' % (k, shlex_quote(str(v))))
return ' '.join(ret) return ' '.join(ret)
def build_module_command(self, env_string, shebang, cmd, arg_path=None): def build_module_command(self, env_string, shebang, cmd, arg_path=None):

View file

@ -1,10 +1 @@
tests/utils/shippable/timing.py shebang tests/utils/shippable/timing.py shebang
plugins/action/synchronize.py pylint:ansible-bad-import-from
plugins/callback/cgroup_perf_recap.py pylint:ansible-bad-import-from
plugins/modules/mount.py pylint:ansible-bad-import-from
plugins/modules/sysctl.py pylint:ansible-bad-import-from
plugins/shell/csh.py pylint:ansible-bad-import-from
plugins/shell/fish.py pylint:ansible-bad-import-from
tests/unit/mock/procenv.py pylint:ansible-bad-import-from
tests/unit/mock/yaml_helper.py pylint:ansible-bad-import-from
tests/unit/modules/conftest.py pylint:ansible-bad-import-from

View file

@ -23,7 +23,7 @@ import os
from ansible.errors import AnsibleParserError from ansible.errors import AnsibleParserError
from ansible.parsing.dataloader import DataLoader from ansible.parsing.dataloader import DataLoader
from ansible.module_utils._text import to_bytes, to_text from ansible.module_utils.common.text.converters import to_bytes, to_text
class DictDataLoader(DataLoader): class DictDataLoader(DataLoader):

View file

@ -26,8 +26,7 @@ import json
from contextlib import contextmanager from contextlib import contextmanager
from io import BytesIO, StringIO from io import BytesIO, StringIO
from ansible_collections.ansible.posix.tests.unit.compat import unittest from ansible_collections.ansible.posix.tests.unit.compat import unittest
from ansible.module_utils.six import PY3 from ansible.module_utils.common.text.converters import to_bytes
from ansible.module_utils._text import to_bytes
@contextmanager @contextmanager
@ -38,11 +37,8 @@ def swap_stdin_and_argv(stdin_data='', argv_data=tuple()):
real_stdin = sys.stdin real_stdin = sys.stdin
real_argv = sys.argv real_argv = sys.argv
if PY3:
fake_stream = StringIO(stdin_data) fake_stream = StringIO(stdin_data)
fake_stream.buffer = BytesIO(to_bytes(stdin_data)) fake_stream.buffer = BytesIO(to_bytes(stdin_data))
else:
fake_stream = BytesIO(to_bytes(stdin_data))
try: try:
sys.stdin = fake_stream sys.stdin = fake_stream
@ -61,10 +57,7 @@ def swap_stdout():
""" """
old_stdout = sys.stdout old_stdout = sys.stdout
if PY3:
fake_stream = StringIO() fake_stream = StringIO()
else:
fake_stream = BytesIO()
try: try:
sys.stdout = fake_stream sys.stdout = fake_stream

View file

@ -15,7 +15,7 @@
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type
from ansible.module_utils._text import to_bytes from ansible.module_utils.common.text.converters import to_bytes
from ansible.parsing.vault import VaultSecret from ansible.parsing.vault import VaultSecret

View file

@ -5,7 +5,6 @@ __metaclass__ = type
import io import io
import yaml import yaml
from ansible.module_utils.six import PY3
from ansible.parsing.yaml.loader import AnsibleLoader from ansible.parsing.yaml.loader import AnsibleLoader
from ansible.parsing.yaml.dumper import AnsibleDumper from ansible.parsing.yaml.dumper import AnsibleDumper
@ -20,17 +19,11 @@ class YamlTestUtils(object):
def _dump_stream(self, obj, stream, dumper=None): def _dump_stream(self, obj, stream, dumper=None):
"""Dump to a py2-unicode or py3-string stream.""" """Dump to a py2-unicode or py3-string stream."""
if PY3:
return yaml.dump(obj, stream, Dumper=dumper) return yaml.dump(obj, stream, Dumper=dumper)
else:
return yaml.dump(obj, stream, Dumper=dumper, encoding=None)
def _dump_string(self, obj, dumper=None): def _dump_string(self, obj, dumper=None):
"""Dump to a py2-unicode or py3-string""" """Dump to a py2-unicode or py3-string"""
if PY3:
return yaml.dump(obj, Dumper=dumper) return yaml.dump(obj, Dumper=dumper)
else:
return yaml.dump(obj, Dumper=dumper, encoding=None)
def _dump_load_cycle(self, obj): def _dump_load_cycle(self, obj):
# Each pass though a dump or load revs the 'generation' # Each pass though a dump or load revs the 'generation'
@ -88,12 +81,8 @@ class YamlTestUtils(object):
stream_obj_from_stream = io.StringIO() stream_obj_from_stream = io.StringIO()
stream_obj_from_string = io.StringIO() stream_obj_from_string = io.StringIO()
if PY3:
yaml.dump(obj_from_stream, stream_obj_from_stream, Dumper=AnsibleDumper) yaml.dump(obj_from_stream, stream_obj_from_stream, Dumper=AnsibleDumper)
yaml.dump(obj_from_stream, stream_obj_from_string, Dumper=AnsibleDumper) yaml.dump(obj_from_stream, stream_obj_from_string, Dumper=AnsibleDumper)
else:
yaml.dump(obj_from_stream, stream_obj_from_stream, Dumper=AnsibleDumper, encoding=None)
yaml.dump(obj_from_stream, stream_obj_from_string, Dumper=AnsibleDumper, encoding=None)
yaml_string_stream_obj_from_stream = stream_obj_from_stream.getvalue() yaml_string_stream_obj_from_stream = stream_obj_from_stream.getvalue()
yaml_string_stream_obj_from_string = stream_obj_from_string.getvalue() yaml_string_stream_obj_from_string = stream_obj_from_string.getvalue()
@ -101,12 +90,8 @@ class YamlTestUtils(object):
stream_obj_from_stream.seek(0) stream_obj_from_stream.seek(0)
stream_obj_from_string.seek(0) stream_obj_from_string.seek(0)
if PY3:
yaml_string_obj_from_stream = yaml.dump(obj_from_stream, Dumper=AnsibleDumper) yaml_string_obj_from_stream = yaml.dump(obj_from_stream, Dumper=AnsibleDumper)
yaml_string_obj_from_string = yaml.dump(obj_from_string, Dumper=AnsibleDumper) yaml_string_obj_from_string = yaml.dump(obj_from_string, Dumper=AnsibleDumper)
else:
yaml_string_obj_from_stream = yaml.dump(obj_from_stream, Dumper=AnsibleDumper, encoding=None)
yaml_string_obj_from_string = yaml.dump(obj_from_string, Dumper=AnsibleDumper, encoding=None)
assert yaml_string == yaml_string_obj_from_stream assert yaml_string == yaml_string_obj_from_stream
assert yaml_string == yaml_string_obj_from_stream == yaml_string_obj_from_string assert yaml_string == yaml_string_obj_from_stream == yaml_string_obj_from_string

View file

@ -9,14 +9,14 @@ import json
import pytest import pytest
from ansible.module_utils.six import string_types from collections.abc import MutableMapping
from ansible.module_utils._text import to_bytes
from ansible.module_utils.common._collections_compat import MutableMapping from ansible.module_utils.common.text.converters import to_bytes
@pytest.fixture @pytest.fixture
def patch_ansible_module(request, mocker): def patch_ansible_module(request, mocker):
if isinstance(request.param, string_types): if isinstance(request.param, str):
args = request.param args = request.param
elif isinstance(request.param, MutableMapping): elif isinstance(request.param, MutableMapping):
if 'ANSIBLE_MODULE_ARGS' not in request.param: if 'ANSIBLE_MODULE_ARGS' not in request.param:

View file

@ -7,7 +7,7 @@ import tempfile
from ansible_collections.ansible.posix.tests.unit.compat import unittest from ansible_collections.ansible.posix.tests.unit.compat import unittest
from ansible_collections.ansible.posix.tests.unit.compat.mock import MagicMock from ansible_collections.ansible.posix.tests.unit.compat.mock import MagicMock
from ansible.module_utils._text import to_bytes from ansible.module_utils.common.text.converters import to_bytes
from ansible_collections.ansible.posix.plugins.modules.mount import ( from ansible_collections.ansible.posix.plugins.modules.mount import (
get_linux_mounts, get_linux_mounts,

View file

@ -7,7 +7,7 @@ import json
from ansible_collections.ansible.posix.tests.unit.compat import unittest from ansible_collections.ansible.posix.tests.unit.compat import unittest
from ansible_collections.ansible.posix.tests.unit.compat.mock import patch from ansible_collections.ansible.posix.tests.unit.compat.mock import patch
from ansible.module_utils import basic from ansible.module_utils import basic
from ansible.module_utils._text import to_bytes from ansible.module_utils.common.text.converters import to_bytes
def set_module_args(args): def set_module_args(args):