Bump ansible-core to 2.20/2.21

In ansible-core 2.21 INJECT_INVOCATION setting defaults to false,
so module results no longer include the invocation key.

Skip running tox-py311 job because ansible-core
requires py3.12 on the control host.

Change-Id: I1da2d8a91af173c7dbe3bb00cc6b791f5a9a620c
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
This commit is contained in:
Michal Nasiadka authored and Bertrand Lanson committed 2026-08-27 15:02:11 +02:00
1 parent 1a681814eb
commit c11518e11f
14 files changed
+41 -33

No files matched your search

+4 -3
View File
@@ -225,9 +225,10 @@ class ActionModule(action.ActionBase):
templar=self._templar,
shared_loader_obj=self._shared_loader_obj)
copy_result = copy_action.run(task_vars=task_vars)
copy_result['invocation']['module_args'].update({
'src': result_file, 'sources': sources,
'whitespace': whitespace})
if 'invocation' in copy_result:
copy_result['invocation']['module_args'].update({
'src': result_file, 'sources': sources,
'whitespace': whitespace})
result.update(copy_result)
finally:
shutil.rmtree(local_tempdir)
+4 -3
View File
@@ -169,9 +169,10 @@ class ActionModule(action.ActionBase):
templar=self._templar,
shared_loader_obj=self._shared_loader_obj)
copy_result = copy_action.run(task_vars=task_vars)
copy_result['invocation']['module_args'].update({
'src': result_file, 'sources': sources,
'extend_lists': extend_lists})
if 'invocation' in copy_result:
copy_result['invocation']['module_args'].update({
'src': result_file, 'sources': sources,
'extend_lists': extend_lists})
result.update(copy_result)
finally:
shutil.rmtree(local_tempdir)
+2 -2
View File
@@ -1,8 +1,8 @@
---
docker_version_min: '18.09'
docker_py_version_min: '3.4.1'
ansible_version_min: '2.19'
ansible_version_max: '2.20'
ansible_version_min: '2.20'
ansible_version_max: '2.21'
# Top level keys should match ansible_facts.distribution.
# These map to lists of supported releases (ansible_facts.distribution_release) or
+4 -4
View File
@@ -142,10 +142,10 @@ else:
TESTED_RUNTIMES_GOVERNANCE_URL =\
'https://governance.openstack.org/tc/reference/runtimes/{}.html'.format(KOLLA_OPENSTACK_RELEASE)
ANSIBLE_CORE_VERSION_MIN = '2.19'
ANSIBLE_CORE_VERSION_MAX = '2.20'
ANSIBLE_VERSION_MIN = '12'
ANSIBLE_VERSION_MAX = '13'
ANSIBLE_CORE_VERSION_MIN = '2.20'
ANSIBLE_CORE_VERSION_MAX = '2.21'
ANSIBLE_VERSION_MIN = '13'
ANSIBLE_VERSION_MAX = '14'
GLOBAL_VARIABLE_MAP = {
'|ANSIBLE_CORE_VERSION_MIN|': ANSIBLE_CORE_VERSION_MIN,
+1 -1
View File
@@ -1,4 +1,4 @@
ansible>=12,<14 # GPLv3
ansible>=13,<15 # GPLv3
ansible-lint===26.8.0 # MIT
bandit>=1.1.0 # Apache-2.0
bashate>=0.5.1 # Apache-2.0
+3 -2
View File
@@ -11,7 +11,7 @@ authors = [
readme = {file = "README.rst", content-type = "text/x-rst"}
license = "Apache-2.0"
dynamic = ["version", "dependencies"]
requires-python = ">=3.11"
requires-python = ">=3.12"
classifiers = [
"Environment :: OpenStack",
"Intended Audience :: Information Technology",
@@ -21,8 +21,9 @@ classifiers = [
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14"
]
[project.urls]
@@ -0,0 +1,5 @@
---
upgrade:
- |
Minimum supported Ansible version is now ``13`` (ansible-core 2.20)
and maximum supported is ``14`` (ansible-core 2.21).
+2 -2
View File
@@ -14,10 +14,10 @@ collections:
version: <4
- name: community.general
source: https://galaxy.ansible.com
version: <12
version: <14
- name: community.docker
source: https://galaxy.ansible.com
version: <5
version: <6
- name: containers.podman
source: https://galaxy.ansible.com
version: <2
+1 -1
View File
@@ -11,7 +11,7 @@ hvac>=0.10.1 # Apache-2.0
Jinja2>=3 # BSD License (3 clause)
# Ansible and ansible's json_query
ansible-core>=2.19,!=2.19.0,<2.21 # GPLv3
ansible-core>=2.20,<2.22 # GPLv3
jmespath>=0.9.3 # MIT
# ini parsing
@@ -45,7 +45,7 @@
virtualenv_command: "python3 -m venv"
- name: Test ProxySQL connection
community.mysql.mysql_query:
community.mysql.mysql_query: # noqa: fqcn[canonical]
login_host: "{{ test_database_vip }}"
login_user: "{{ test_database_user }}"
login_password: "{{ test_database_password }}"
@@ -61,7 +61,7 @@
fail_msg: Database connection test failed.
- name: Check if ProxySQL can see all MariaDB nodes as online
community.mysql.mysql_query:
community.mysql.mysql_query: # noqa: fqcn[canonical]
login_host: "{{ test_database_vip }}"
login_user: "{{ test_proxysql_user }}"
login_password: "{{ test_proxysql_password }}"
@@ -84,7 +84,7 @@
when: test_database_tls_enabled
block:
- name: Query SSL cipher algorithm of current session
community.mysql.mysql_query:
community.mysql.mysql_query: # noqa: fqcn[canonical]
login_host: "{{ test_database_vip }}"
login_user: "{{ test_database_user }}"
login_password: "{{ test_database_password }}"
+1 -1
View File
@@ -11,7 +11,7 @@ hvac>=0.10.1 # Apache-2.0
Jinja2>=3 # BSD License (3 clause)
# Ansible and ansible's json_query
ansible-core>=2.19,!=2.19.0,<2.21 # GPLv3
ansible-core>=2.20,<2.22 # GPLv3
jmespath>=0.9.3 # MIT
# ini parsing
+3 -3
View File
@@ -53,9 +53,9 @@
ansible_core_version_constraint: >-
{{ ansible_core_version_slurp if is_slurp else ansible_core_version_min if is_upgrade
or ansible_facts.distribution != "Ubuntu" else ansible_core_version_max }}
ansible_core_version_slurp: "==2.18.*"
ansible_core_version_max: "==2.20.*"
ansible_core_version_min: "==2.19.*"
ansible_core_version_slurp: "==2.20.*"
ansible_core_version_max: "==2.21.*"
ansible_core_version_min: "==2.20.*"
# NOTE(mgoddard): Test the use of interface names with dashes.
api_interface_name: "vxlan-0"
api_network_prefix: "192.0.2."
+3 -1
View File
@@ -35,7 +35,9 @@
#- kolla-ansible-scenario-slurp
- kolla-ansible-scenario-telemetry
- openstack-cover-jobs
- openstack-python3-jobs
# NOTE: openstack-python3-jobs in 2026.2 cycle pulls in
# 3.11 which is not compatible with ansible-core 2.20+
- openstack-python3-jobs-kolla-ansible
- periodic-stable-jobs
- publish-openstack-docs-pti
- release-notes-jobs-python3
+5 -7
View File
@@ -1,23 +1,21 @@
- project-template:
name: openstack-python3-jobs-kolla-ansible
# NOTE(mnasiadka): Local definition to skip py310 jobs on Flamingo
# NOTE(mnasiadka): Local definition to skip py311 jobs on Hibiscus
description: |
Runs unit tests for an OpenStack Python project under the CPython
version 3 releases designated for testing the latest release.
check:
jobs:
- openstack-tox-pep8
# py3.12 testing is added as mandatory from 2025.1 release onwards.
# From 2026.1, we run it as periodic only(assuming py3.10 and py3.13
# will be enough coverage to run on every change)
- openstack-tox-py312
- openstack-tox-py313
- openstack-tox-py314
gate:
jobs:
- openstack-tox-pep8
# py3.12 testing is added as mandatory from 2025.1 release onwards.
# From 2026.1, we run it as periodic only(assuming py3.10 and py3.13
# will be enough coverage to run on every change)
- openstack-tox-py312
- openstack-tox-py313
- openstack-tox-py314
post:
jobs:
- publish-openstack-python-branch-tarball