summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Clay <mclay@redhat.com>2021-10-01 01:16:37 -0700
committerGitHub <noreply@github.com>2021-10-01 01:16:37 -0700
commit1932f0008b69d565afc3579297e6a2c75531cb72 (patch)
treed77f0fbaf7efdab2b7f5ed3894ed29066b338828
parent099d80829f2293976be5866c07c880c02f1b0865 (diff)
downloadansible-1932f0008b69d565afc3579297e6a2c75531cb72.tar.gz
ansible-core - Remove support for Python 2.6. (#75853)
-rw-r--r--changelogs/fragments/ansible-core-python-2.6.yaml2
-rw-r--r--changelogs/fragments/ansible-test-python-2.6.yaml2
-rw-r--r--lib/ansible/module_utils/facts/packages.py2
-rw-r--r--lib/ansible/modules/async_status.py2
-rw-r--r--lib/ansible/modules/yum.py2
-rw-r--r--lib/ansible/plugins/action/package.py2
-rw-r--r--lib/ansible/plugins/connection/psrp.py3
-rw-r--r--lib/ansible/plugins/connection/winrm.py4
-rw-r--r--lib/ansible/utils/display.py2
-rw-r--r--lib/ansible/vars/manager.py2
-rw-r--r--test/lib/ansible_test/_util/controller/sanity/pylint/config/default.cfg2
-rw-r--r--test/lib/ansible_test/_util/controller/sanity/validate-modules/validate_modules/module_args.py2
-rw-r--r--test/sanity/ignore.txt2
13 files changed, 15 insertions, 14 deletions
diff --git a/changelogs/fragments/ansible-core-python-2.6.yaml b/changelogs/fragments/ansible-core-python-2.6.yaml
new file mode 100644
index 0000000000..a71ff7c6f6
--- /dev/null
+++ b/changelogs/fragments/ansible-core-python-2.6.yaml
@@ -0,0 +1,2 @@
+deprecated_features:
+ - ansible-core - Remove support for Python 2.6.
diff --git a/changelogs/fragments/ansible-test-python-2.6.yaml b/changelogs/fragments/ansible-test-python-2.6.yaml
index 950ebe1bb1..b850b2fece 100644
--- a/changelogs/fragments/ansible-test-python-2.6.yaml
+++ b/changelogs/fragments/ansible-test-python-2.6.yaml
@@ -1,2 +1,2 @@
-major_changes:
+deprecated_features:
- ansible-test - Remove support for Python 2.6.
diff --git a/lib/ansible/module_utils/facts/packages.py b/lib/ansible/module_utils/facts/packages.py
index 808a41b6b0..2a9ccbaa8a 100644
--- a/lib/ansible/module_utils/facts/packages.py
+++ b/lib/ansible/module_utils/facts/packages.py
@@ -13,7 +13,7 @@ from ansible.module_utils.common._utils import get_all_subclasses
def get_all_pkg_managers():
- return dict([(obj.__name__.lower(), obj) for obj in get_all_subclasses(PkgMgr) if obj not in (CLIMgr, LibMgr)])
+ return {obj.__name__.lower(): obj for obj in get_all_subclasses(PkgMgr) if obj not in (CLIMgr, LibMgr)}
class PkgMgr(with_metaclass(ABCMeta, object)):
diff --git a/lib/ansible/modules/async_status.py b/lib/ansible/modules/async_status.py
index 751ef98f76..4ab0ea8268 100644
--- a/lib/ansible/modules/async_status.py
+++ b/lib/ansible/modules/async_status.py
@@ -158,7 +158,7 @@ def main():
data['finished'] = 0
# Fix error: TypeError: exit_json() keywords must be strings
- data = dict([(to_native(k), v) for k, v in iteritems(data)])
+ data = {to_native(k): v for k, v in iteritems(data)}
module.exit_json(**data)
diff --git a/lib/ansible/modules/yum.py b/lib/ansible/modules/yum.py
index cce78ebf20..02a72a1ed0 100644
--- a/lib/ansible/modules/yum.py
+++ b/lib/ansible/modules/yum.py
@@ -776,7 +776,7 @@ class YumModule(YumDnf):
rc2, out2, err2 = self.module.run_command(cmd)
if rc == 0 and rc2 == 0:
out += out2
- pkgs = set([p for p in out.split('\n') if p.strip()])
+ pkgs = {p for p in out.split('\n') if p.strip()}
if not pkgs:
pkgs = self.is_installed(repoq, req_spec, qf=qf)
return pkgs
diff --git a/lib/ansible/plugins/action/package.py b/lib/ansible/plugins/action/package.py
index 55c938d7c3..6c436596e0 100644
--- a/lib/ansible/plugins/action/package.py
+++ b/lib/ansible/plugins/action/package.py
@@ -30,7 +30,7 @@ class ActionModule(ActionBase):
TRANSFERS_FILES = False
- BUILTIN_PKG_MGR_MODULES = set([manager['name'] for manager in PKG_MGRS])
+ BUILTIN_PKG_MGR_MODULES = {manager['name'] for manager in PKG_MGRS}
def run(self, tmp=None, task_vars=None):
''' handler for package operations '''
diff --git a/lib/ansible/plugins/connection/psrp.py b/lib/ansible/plugins/connection/psrp.py
index 7b8adce9c8..acacc1ce9a 100644
--- a/lib/ansible/plugins/connection/psrp.py
+++ b/lib/ansible/plugins/connection/psrp.py
@@ -828,8 +828,7 @@ if ($bytes_read -gt 0) {
supported_args = []
for auth_kwarg in AUTH_KWARGS.values():
supported_args.extend(auth_kwarg)
- extra_args = set([v.replace('ansible_psrp_', '') for v in
- self.get_option('_extras')])
+ extra_args = {v.replace('ansible_psrp_', '') for v in self.get_option('_extras')}
unsupported_args = extra_args.difference(supported_args)
for arg in unsupported_args:
diff --git a/lib/ansible/plugins/connection/winrm.py b/lib/ansible/plugins/connection/winrm.py
index b8d7353661..dd52288ee6 100644
--- a/lib/ansible/plugins/connection/winrm.py
+++ b/lib/ansible/plugins/connection/winrm.py
@@ -292,13 +292,13 @@ class Connection(ConnectionBase):
self._kerb_managed = False
# arg names we're going passing directly
- internal_kwarg_mask = set(['self', 'endpoint', 'transport', 'username', 'password', 'scheme', 'path', 'kinit_mode', 'kinit_cmd'])
+ internal_kwarg_mask = {'self', 'endpoint', 'transport', 'username', 'password', 'scheme', 'path', 'kinit_mode', 'kinit_cmd'}
self._winrm_kwargs = dict(username=self._winrm_user, password=self._winrm_pass)
argspec = getargspec(Protocol.__init__)
supported_winrm_args = set(argspec.args)
supported_winrm_args.update(internal_kwarg_mask)
- passed_winrm_args = set([v.replace('ansible_winrm_', '') for v in self.get_option('_extras')])
+ passed_winrm_args = {v.replace('ansible_winrm_', '') for v in self.get_option('_extras')}
unsupported_args = passed_winrm_args.difference(supported_winrm_args)
# warn for kwargs unsupported by the installed version of pywinrm
diff --git a/lib/ansible/utils/display.py b/lib/ansible/utils/display.py
index 95cce2bbd5..f670cc8b45 100644
--- a/lib/ansible/utils/display.py
+++ b/lib/ansible/utils/display.py
@@ -225,7 +225,7 @@ class Display(with_metaclass(Singleton, object)):
try:
cmd = subprocess.Popen([self.b_cowsay, "-l"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
(out, err) = cmd.communicate()
- self.cows_available = set([to_text(c) for c in out.split()])
+ self.cows_available = {to_text(c) for c in out.split()}
if C.ANSIBLE_COW_ACCEPTLIST and any(C.ANSIBLE_COW_ACCEPTLIST):
self.cows_available = set(C.ANSIBLE_COW_ACCEPTLIST).intersection(self.cows_available)
except Exception:
diff --git a/lib/ansible/vars/manager.py b/lib/ansible/vars/manager.py
index 518e4595ef..5301c7f496 100644
--- a/lib/ansible/vars/manager.py
+++ b/lib/ansible/vars/manager.py
@@ -462,7 +462,7 @@ class VariableManager:
if play:
# This is a list of all role names of all dependencies for all roles for this play
- dependency_role_names = list(set([d.get_name() for r in play.roles for d in r.get_all_dependencies()]))
+ dependency_role_names = list({d.get_name() for r in play.roles for d in r.get_all_dependencies()})
# This is a list of all role names of all roles for this play
play_role_names = [r.get_name() for r in play.roles]
diff --git a/test/lib/ansible_test/_util/controller/sanity/pylint/config/default.cfg b/test/lib/ansible_test/_util/controller/sanity/pylint/config/default.cfg
index a1275aa981..7e978176bd 100644
--- a/test/lib/ansible_test/_util/controller/sanity/pylint/config/default.cfg
+++ b/test/lib/ansible_test/_util/controller/sanity/pylint/config/default.cfg
@@ -18,12 +18,10 @@ disable=
comparison-with-callable,
consider-iterating-dictionary,
consider-merging-isinstance,
- consider-using-dict-comprehension, # requires Python 2.7+, but we still require Python 2.6 support
consider-using-dict-items,
consider-using-enumerate,
consider-using-get,
consider-using-in,
- consider-using-set-comprehension, # requires Python 2.7+, but we still require Python 2.6 support
consider-using-ternary,
consider-using-with,
cyclic-import, # consistent results require running with --jobs 1 and testing all files
diff --git a/test/lib/ansible_test/_util/controller/sanity/validate-modules/validate_modules/module_args.py b/test/lib/ansible_test/_util/controller/sanity/validate-modules/validate_modules/module_args.py
index 3846ee5df8..72beef3c59 100644
--- a/test/lib/ansible_test/_util/controller/sanity/validate-modules/validate_modules/module_args.py
+++ b/test/lib/ansible_test/_util/controller/sanity/validate-modules/validate_modules/module_args.py
@@ -119,7 +119,7 @@ def get_ps_argument_spec(filename, collection):
util_manifest = json.dumps({
'module_path': to_text(module_path, errors='surrogiate_or_strict'),
'ansible_basic': ps_dep_finder.cs_utils_module["Ansible.Basic"]['path'],
- 'ps_utils': dict([(name, info['path']) for name, info in ps_dep_finder.ps_modules.items()]),
+ 'ps_utils': {name: info['path'] for name, info in ps_dep_finder.ps_modules.items()}
})
script_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'ps_argspec.ps1')
diff --git a/test/sanity/ignore.txt b/test/sanity/ignore.txt
index ac4707be1c..3a110170e2 100644
--- a/test/sanity/ignore.txt
+++ b/test/sanity/ignore.txt
@@ -187,6 +187,7 @@ test/support/integration/plugins/inventory/aws_ec2.py pylint:use-a-generator
test/support/integration/plugins/modules/ec2_group.py pylint:use-a-generator
test/support/integration/plugins/modules/lvg.py pylint:disallowed-name
test/support/integration/plugins/modules/timezone.py pylint:disallowed-name
+test/support/integration/plugins/modules/x509_crl.py pylint:consider-using-set-comprehension
test/support/integration/plugins/module_utils/aws/core.py pylint:property-with-parameters
test/support/integration/plugins/module_utils/cloud.py future-import-boilerplate
test/support/integration/plugins/module_utils/cloud.py metaclass-boilerplate
@@ -203,6 +204,7 @@ test/support/integration/plugins/module_utils/network/common/utils.py metaclass-
test/support/integration/plugins/module_utils/network/common/utils.py pylint:use-a-generator
test/support/integration/plugins/module_utils/postgres.py future-import-boilerplate
test/support/integration/plugins/module_utils/postgres.py metaclass-boilerplate
+test/support/network-integration/collections/ansible_collections/ansible/netcommon/plugins/filter/network.py pylint:consider-using-dict-comprehension
test/support/network-integration/collections/ansible_collections/ansible/netcommon/plugins/module_utils/compat/ipaddress.py no-unicode-literals
test/support/network-integration/collections/ansible_collections/ansible/netcommon/plugins/module_utils/compat/ipaddress.py pep8:E203
test/support/network-integration/collections/ansible_collections/ansible/netcommon/plugins/module_utils/network/common/facts/facts.py pylint:unnecessary-comprehension