CI: Fix multiple failures
Tox jobs are timing out in CI due to pip dependency resolution backtracking taking too long. When run locally, pip fails to resolve dependencies due to upper-constraints now allowing pluggy 1.0.0 [1], while molecule still depends on pluggy >= 0.7.1, < 1.0. See similar tripleo bug for more details [2]. Split molecule dependencies in a separate requirements file and remove upper constraints from its tox environment for now. As a bonus, it should speed up execution of the jobs due to installing fewer dependencies. Stop using upper-constraints when installing docker python library [3]. This part of the commit can be reverted when docker 5.0.2 is in upper constraints. Update Kolla inventory template following renaming of haproxy role to loadbalancer [4]. With the existing template, haproxy/keepalived containers are not created and service deployment fails while trying to connect to MySQL using the VIP. [1] https://review.opendev.org/c/openstack/requirements/+/806680 [2] https://bugs.launchpad.net/tripleo/+bug/1942508 [3] https://review.opendev.org/c/openstack/kayobe/+/807128 [4] https://review.opendev.org/c/openstack/kolla-ansible/+/770618 Change-Id: I4cad83c92c32d1db2a5d3c03a78a1c533a8b9633 Co-Authored-By: Mark Goddard <mark@stackhpc.com>
This commit is contained in:
parent
bb05adbdcf
commit
74eff837cb
@ -47,7 +47,10 @@
|
||||
name: docker
|
||||
state: latest
|
||||
virtualenv: "{{ kolla_ansible_target_venv }}"
|
||||
extra_args: "{% if kolla_upper_constraints_file %}-c {{ kolla_upper_constraints_file }}{% endif %}"
|
||||
# FIXME(mgoddard): docker 5.0.1 is currently in master
|
||||
# upper-constraints, but fails with an unexpected keyword argument,
|
||||
# 'disable_buffering'. Install it without UC for now.
|
||||
# extra_args: "{% if kolla_upper_constraints_file %}-c {{ kolla_upper_constraints_file }}{% endif %}"
|
||||
become: True
|
||||
|
||||
- name: Ensure kolla-ansible virtualenv has SELinux bindings installed
|
||||
|
@ -72,9 +72,15 @@ control
|
||||
[hacluster-remote:children]
|
||||
compute
|
||||
|
||||
[haproxy:children]
|
||||
[loadbalancer:children]
|
||||
network
|
||||
|
||||
[keepalived:children]
|
||||
loadbalancer
|
||||
|
||||
[haproxy:children]
|
||||
loadbalancer
|
||||
|
||||
[mariadb:children]
|
||||
control
|
||||
|
||||
|
10
molecule-requirements.txt
Normal file
10
molecule-requirements.txt
Normal file
@ -0,0 +1,10 @@
|
||||
# The order of packages is significant, because pip processes them in the order
|
||||
# of appearance. Changing the order has an impact on the overall integration
|
||||
# process, which may cause wedges in the gate later.
|
||||
|
||||
docker # Apache-2.0
|
||||
molecule # MIT
|
||||
molecule-docker # MIT
|
||||
pytest-molecule # MIT
|
||||
pytest-testinfra
|
||||
yamllint # GPLv3
|
@ -6,13 +6,7 @@ ansible-lint>=3.0.0,!=4.3.0 # MIT
|
||||
bashate>=0.2 # Apache-2.0
|
||||
coverage>=4.0 # Apache-2.0
|
||||
doc8 # Apache-2.0
|
||||
docker # Apache-2.0
|
||||
hacking>=3.0.1,<3.1.0 # Apache-2.0
|
||||
molecule # MIT
|
||||
molecule-docker # MIT
|
||||
oslotest>=1.10.0 # Apache-2.0
|
||||
paramiko
|
||||
pytest-molecule # MIT
|
||||
pytest-testinfra
|
||||
stestr # Apache-2.0
|
||||
yamllint # GPLv3
|
||||
|
6
tox.ini
6
tox.ini
@ -60,9 +60,11 @@ commands =
|
||||
|
||||
[testenv:molecule]
|
||||
deps =
|
||||
-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
||||
# TODO(priteau): Restore upper constraints once molecule dependency
|
||||
# resolution is working
|
||||
#-c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
||||
-r{toxinidir}/requirements.txt
|
||||
-r{toxinidir}/test-requirements.txt
|
||||
-r{toxinidir}/molecule-requirements.txt
|
||||
whitelist_externals =
|
||||
bash
|
||||
commands =
|
||||
|
Loading…
Reference in New Issue
Block a user