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.

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

Change-Id: I802b206199b06cfa1983f6f07f195660dd7d86ad
This commit is contained in:
Mark Goddard 2022-05-26 10:59:08 +01:00
parent 26cec85434
commit 66f0066273
2 changed files with 10 additions and 1 deletions

View File

@ -5,5 +5,6 @@ virtualenv_path: "{{ '/'.join([ansible_facts.env['HOME'], 'tenks-venv']) }}"
# The URL of the upper constraints file to pass to pip when installing Python
# packages.
# NOTE: Python 2 support dropped in Ussuri, Python 3.6 support dropped in Zed.
python_upper_constraints_url: >-
https://releases.openstack.org/constraints/upper/{% if ansible_facts.python.version.major == 2 %}train{% else %}master{% endif %}
https://releases.openstack.org/constraints/upper/{% if ansible_facts.python.version.major == 2 %}train{% elif ansible_facts.python.version.minor <= 6 %}yoga{% else %}master{% endif %}

View File

@ -17,6 +17,10 @@
name: tenks-deploy-teardown-ovs-bios-centos8s
parent: tenks-deploy-teardown-ovs-bios-base
nodeset: centos-8-stream
required-projects:
# NOTE(mgoddard): CentOS 8 uses Python 3.6 which is not supported in Zed.
- name: openstack/requirements
override-checkout: stable/yoga
- job:
name: tenks-deploy-teardown-ovs-bios-debian
@ -32,6 +36,10 @@
name: tenks-deploy-teardown-linuxbridge-uefi-centos8s
parent: tenks-deploy-teardown-linuxbridge-uefi-base
nodeset: centos-8-stream
required-projects:
# NOTE(mgoddard): CentOS 8 uses Python 3.6 which is not supported in Zed.
- name: openstack/requirements
override-checkout: stable/yoga
- job:
name: tenks-deploy-teardown-linuxbridge-uefi-debian