ansible: bump min to 2.13 and max to 2.14.2

We limit to 2.14.2 due to a regression in ansible-core [1] that breaks
conditional include_task loops in handlers. This is used for controlled
restarts of MariaDB and RabbitMQ.

[1]: 65366f663d

Change-Id: I57425680a4cdbf0daeb9b2cc35920f1b933aa4a8
Co-Authored-By: Michal Nasiadka <michal@stackhpc.com>
This commit is contained in:
Michal Nasiadka 2023-04-20 16:50:09 +00:00 committed by Mark Goddard
parent ddadaa282e
commit 10fc1b748a
6 changed files with 26 additions and 11 deletions

View File

@ -1,8 +1,8 @@
--- ---
docker_version_min: '18.09' docker_version_min: '18.09'
docker_py_version_min: '3.4.1' docker_py_version_min: '3.4.1'
ansible_version_min: '2.12' ansible_version_min: '2.13'
ansible_version_max: '2.13' ansible_version_max: '2.14.2'
# Top level keys should match ansible_facts.distribution. # Top level keys should match ansible_facts.distribution.
# These map to lists of supported releases (ansible_facts.distribution_release) or # These map to lists of supported releases (ansible_facts.distribution_release) or

View File

@ -90,11 +90,13 @@ Install dependencies for the virtual environment
pip install -U pip pip install -U pip
#. Install `Ansible <http://www.ansible.com>`__. Kolla Ansible requires at least #. Install `Ansible <http://www.ansible.com>`__. Kolla Ansible requires at least
Ansible ``4`` and supports up to ``5``. Ansible ``6`` and supports up to ``7``. Ansible-core must not be greater
than 2.14.2 due to a regression.
.. code-block:: console .. code-block:: console
pip install 'ansible>=4,<6' pip install 'ansible-core>=2.13,<=2.14.2'
pip install 'ansible>=6,<8'
Install Kolla-ansible Install Kolla-ansible

View File

@ -26,7 +26,8 @@ python virtual environment on the Ansible control host. For example:
source /path/to/venv/bin/activate source /path/to/venv/bin/activate
pip install -U pip pip install -U pip
pip install kolla-ansible pip install kolla-ansible
pip install 'ansible>=4,<6' pip install 'ansible-core>=2.13,<=2.14.2'
pip install 'ansible>=6,<8'
deactivate deactivate
To use the virtual environment, it should first be activated: To use the virtual environment, it should first be activated:

View File

@ -0,0 +1,6 @@
---
upgrade:
- |
Minimum supported Ansible version is now ``6`` (ansible-core 2.13)
and maximum supported is ``7`` (ansible-core 2.14). Due to a regression in
``ansible-core``, it must not be greater than ``2.14.2``.

View File

@ -231,20 +231,25 @@
- name: Ensure the latest tested pip - name: Ensure the latest tested pip
pip: pip:
name: "pip==22.*" name: "pip==23.*"
state: latest state: latest
virtualenv: "{{ kolla_ansible_venv_path }}" virtualenv: "{{ kolla_ansible_venv_path }}"
- name: Ensure the latest tested setuptools - name: Ensure the latest tested setuptools
pip: pip:
name: "setuptools==65.*" name: "setuptools==67.2.0"
state: latest state: latest
virtualenv: "{{ kolla_ansible_venv_path }}" virtualenv: "{{ kolla_ansible_venv_path }}"
- name: install kolla-ansible and dependencies - name: install kolla-ansible and dependencies
vars: vars:
ansible_version_min: "==5.*" ansible_core_version_min: "==2.13.*"
ansible_version_max: "==6.*" ansible_core_version_max: "==2.14.2"
# Test latest ansible version on Ubuntu, minimum supported on others.
ansible_core_version_constraint: >-
{{ ansible_core_version_min if is_upgrade or base_distro != 'ubuntu' else ansible_core_version_max }}
ansible_version_min: "==6.*"
ansible_version_max: "==7.*"
# Test latest ansible version on Ubuntu, minimum supported on others. # Test latest ansible version on Ubuntu, minimum supported on others.
ansible_version_constraint: >- ansible_version_constraint: >-
{{ ansible_version_min if is_upgrade or base_distro != 'ubuntu' else ansible_version_max }} {{ ansible_version_min if is_upgrade or base_distro != 'ubuntu' else ansible_version_max }}
@ -252,6 +257,7 @@
extra_args: "-c {{ upper_constraints_file }}" extra_args: "-c {{ upper_constraints_file }}"
name: name:
- "{{ kolla_ansible_src_dir }}" - "{{ kolla_ansible_src_dir }}"
- "ansible-core{{ ansible_core_version_constraint }}"
- "ansible{{ ansible_version_constraint }}" - "ansible{{ ansible_version_constraint }}"
- "ara<1.0.0" - "ara<1.0.0"
virtualenv: "{{ kolla_ansible_venv_path }}" virtualenv: "{{ kolla_ansible_venv_path }}"

View File

@ -7,8 +7,8 @@ set -o errexit
# do not use _PYTHON_BIN directly, use $(get_python_bin) instead # do not use _PYTHON_BIN directly, use $(get_python_bin) instead
_PYTHON_BIN="" _PYTHON_BIN=""
ANSIBLE_VERSION_MIN=2.12 ANSIBLE_VERSION_MIN=2.13
ANSIBLE_VERSION_MAX=2.13 ANSIBLE_VERSION_MAX=2.14
function get_python_bin { function get_python_bin {
if [ -n "$_PYTHON_BIN" ]; then if [ -n "$_PYTHON_BIN" ]; then