From 66f0066273e6dfc9aab18bd71400d308d8e5b0e2 Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Thu, 26 May 2022 10:59:08 +0100 Subject: [PATCH] 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 --- ansible/group_vars/all | 3 ++- zuul.d/jobs.yaml | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ansible/group_vars/all b/ansible/group_vars/all index 3cd8c82..37a59ca 100644 --- a/ansible/group_vars/all +++ b/ansible/group_vars/all @@ -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 %} diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml index beb4a60..5d16cfe 100644 --- a/zuul.d/jobs.yaml +++ b/zuul.d/jobs.yaml @@ -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