diff --git a/playbooks/roles/install-ansible/tasks/main.yaml b/playbooks/roles/install-ansible/tasks/main.yaml index 31119d5f74..65b9d03e93 100644 --- a/playbooks/roles/install-ansible/tasks/main.yaml +++ b/playbooks/roles/install-ansible/tasks/main.yaml @@ -32,6 +32,23 @@ _install_ansible_from_devel: true when: '"github.com/ansible/ansible" in install_ansible_name' +# Since ~2020-11 ansible renamed "ansible-base" to "ansible-core". +# Unfortunately, ansible-base and ansible-core can not live happily +# together. For testinfra, our tox role pre-installs the requirements +# from tox.ini (ansible-base) but then tries to install siblings (the +# checked out ansible tree, now trying to install the "ansible-core" +# package). There is no working "ansible-core" package on PyPi, so +# for now we have to switch this out in the tox.ini for the -devel job +# to work. We can remove this when "ansible-core" is published at an +# appropriate version on PyPi; at that point the checked-out tree can +# override the package in the testing tox venv. +- name: Override ansible-base tox install + when: '"github.com/ansible/ansible" in install_ansible_name' + lineinfile: + path: /home/zuul/src/opendev.org/opendev/system-config/tox.ini + regexp: '^ ansible-base # see install-ansible/tasks/main\.yaml$' + line: ' ansible-core' + - name: Setup Ansible stub for post 2.10 compat include_tasks: install_ansible_stub.yaml when: _install_ansible_from_devel is defined diff --git a/tox.ini b/tox.ini index 5aac2e1f36..e4334bebc1 100644 --- a/tox.ini +++ b/tox.ini @@ -38,7 +38,7 @@ commands = sphinx-build -W -E -b html doc/source doc/build/html [testenv:testinfra] deps = - ansible-base + ansible-base # see install-ansible/tasks/main.yaml pytest-html # MPL-2.0 pytest-testinfra>=6.0.0