Use yoga upper constraints to avoid Python version conflict

Requirements upper constraints bumped python-novaclient to version
18.0.0 [1], which requires Python 3.8 [2]. This results in failures when
installing python-openstackclient on CentOS and Rocky with Python 3.6.

    ERROR: Cannot install python-openstackclient==5.8.0 because these package versions have conflicting dependencies.

    The conflict is caused by:
        python-openstackclient 5.8.0 depends on python-novaclient>=17.0.0
        The user requested (constraint) python-novaclient===18.0.0

Work around this issue by using yoga upper constraints until we upgrade
to CentOS Stream 9 and Rocky Linux 9.

This also fixes another issue seen on Ubuntu where image uploads to
Glance through Ansible fail with a 400 Bad Request error. This is caused
by the bump of openstacksdk to version 0.99.0 and will be fixed by a new
release of ansible-collections-openstack.

[1] https://review.opendev.org/c/openstack/requirements/+/842808
[2] https://review.opendev.org/c/openstack/python-novaclient/+/838944

Change-Id: I40c6b898963c2218d41d37bd73d40ce8dcf22b87
This commit is contained in:
Pierre Riteau 2022-05-25 09:41:01 +02:00
parent a78c5ed9b6
commit d2e0d64eb0
7 changed files with 11 additions and 1 deletions

View File

@ -1,3 +1,3 @@
---
# Upper constraints file for installation of python packages.
pip_upper_constraints_file: "https://releases.openstack.org/constraints/upper/{{ openstack_release }}"
pip_upper_constraints_file: "https://releases.openstack.org/constraints/upper/yoga"

View File

@ -54,3 +54,5 @@ libvirt_vm_emulator: "{% if ansible_facts.os_family == 'RedHat' %}/usr/libexec/q
# Specify a log path in the kolla_logs Docker volume. It is accessible on the
# host at the same path.
libvirt_vm_default_console_log_dir: "/var/log/kolla/tenks"
python_upper_constraints_url: "https://releases.openstack.org/constraints/upper/yoga"

View File

@ -55,3 +55,5 @@ libvirt_vm_default_console_log_dir: "/var/log/kolla/tenks"
# Console logs are owned by the ID of the Nova user in the nova_libvirt
# container.
libvirt_vm_log_owner: 42436
python_upper_constraints_url: "https://releases.openstack.org/constraints/upper/yoga"

View File

@ -42,3 +42,5 @@ wait_for_placement: false
# Nested virtualisation is not working well in CI currently. Force the use of
# QEMU.
libvirt_vm_engine: "qemu"
python_upper_constraints_url: "https://releases.openstack.org/constraints/upper/yoga"

View File

@ -5,6 +5,7 @@
KAYOBE_OVERCLOUD_GENERATE_CERTIFICATES: "{{ tls_enabled | ternary(1, 0) }}"
# TODO(mgoddard): Remove this when libvirt on host is used by default.
TENKS_CONFIG_PATH: "dev/tenks-deploy-config-compute{% if tls_enabled %}-libvirt-on-host{% endif %}.yml"
UPPER_CONSTRAINTS_FILE: "https://releases.openstack.org/constraints/upper/yoga"
tasks:
- name: Ensure overcloud is deployed
shell:

View File

@ -1,5 +1,7 @@
---
- hosts: primary
environment:
UPPER_CONSTRAINTS_FILE: "https://releases.openstack.org/constraints/upper/yoga"
tasks:
# Install the previous release of Kayobe, and use it to deploy a control

View File

@ -71,6 +71,7 @@
- name: openstack/kolla
- name: openstack/kolla-ansible
- name: openstack/requirements
override-checkout: stable/yoga
- name: openstack/tenks
irrelevant-files:
- ^\..+