From 50b7a12ad8a3c88794a532ab6db399407ff94f7d Mon Sep 17 00:00:00 2001 From: Guillaume Abrioux Date: Fri, 29 Jul 2022 11:15:17 +0200 Subject: [PATCH] tests: isolate ansible collections When Ansible collections are installed, they should be isolated. Otherwise, they will be shared in any scheduled job. This might cause issues when running different branch versions for instance. This also replace `ANSIBLE_CALLBACK_WHITELIST` with `ANSIBLE_CALLBACK_ENABLED` as it's going to be deprecated in Ansible 2.15. Signed-off-by: Guillaume Abrioux --- tox-cephadm.ini | 4 +++- tox-docker2podman.ini | 4 +++- tox-external_clients.ini | 5 +++-- tox-filestore_to_bluestore.ini | 4 +++- tox-podman.ini | 4 +++- tox-shrink_osd.ini | 4 +++- tox-subset_update.ini | 5 +++-- tox-update.ini | 7 +++++-- tox.ini | 5 +++-- 9 files changed, 29 insertions(+), 13 deletions(-) diff --git a/tox-cephadm.ini b/tox-cephadm.ini index f0312ebc85..2124856d94 100644 --- a/tox-cephadm.ini +++ b/tox-cephadm.ini @@ -13,8 +13,9 @@ passenv=* sitepackages=True setenv= ANSIBLE_SSH_ARGS = -F {changedir}/vagrant_ssh_config -o ControlMaster=auto -o ControlPersist=600s -o PreferredAuthentications=publickey + ANSIBLE_COLLECTIONS_PATH = {envdir}/ansible_collections ANSIBLE_CONFIG = {toxinidir}/ansible.cfg - ANSIBLE_CALLBACK_WHITELIST = profile_tasks + ANSIBLE_CALLBACK_ENABLED = profile_tasks ANSIBLE_KEEP_REMOTE_FILES = 1 ANSIBLE_CACHE_PLUGIN = memory ANSIBLE_GATHERING = implicit @@ -27,6 +28,7 @@ deps= -r{toxinidir}/tests/requirements.txt changedir= {toxinidir}/tests/functional/cephadm commands= + ansible-galaxy collection install -r {toxinidir}/requirements.yml -v -p {envdir}/ansible_collections bash {toxinidir}/tests/scripts/vagrant_up.sh --no-provision {posargs:--provider=virtualbox} bash {toxinidir}/tests/scripts/generate_ssh_config.sh {changedir} diff --git a/tox-docker2podman.ini b/tox-docker2podman.ini index 2ece9f2aa8..6d016fa2f0 100644 --- a/tox-docker2podman.ini +++ b/tox-docker2podman.ini @@ -13,8 +13,9 @@ passenv=* sitepackages=True setenv= ANSIBLE_SSH_ARGS = -F {changedir}/vagrant_ssh_config -o ControlMaster=auto -o ControlPersist=600s -o PreferredAuthentications=publickey + ANSIBLE_COLLECTIONS_PATH = {envdir}/ansible_collections ANSIBLE_CONFIG = {toxinidir}/ansible.cfg - ANSIBLE_CALLBACK_WHITELIST = profile_tasks + ANSIBLE_CALLBACK_ENABLED = profile_tasks ANSIBLE_KEEP_REMOTE_FILES = 1 ANSIBLE_CACHE_PLUGIN = memory ANSIBLE_GATHERING = implicit @@ -27,6 +28,7 @@ deps= -r{toxinidir}/tests/requirements.txt changedir= {toxinidir}/tests/functional/docker2podman commands= + ansible-galaxy collection install -r {toxinidir}/requirements.yml -v -p {envdir}/ansible_collections bash {toxinidir}/tests/scripts/vagrant_up.sh --no-provision {posargs:--provider=virtualbox} bash {toxinidir}/tests/scripts/generate_ssh_config.sh {changedir} diff --git a/tox-external_clients.ini b/tox-external_clients.ini index 8e078b48c9..ad26974a4a 100644 --- a/tox-external_clients.ini +++ b/tox-external_clients.ini @@ -12,8 +12,9 @@ allowlist_externals = passenv=* setenv= ANSIBLE_SSH_ARGS = -F {changedir}/vagrant_ssh_config -o ControlMaster=auto -o ControlPersist=600s -o PreferredAuthentications=publickey + ANSIBLE_COLLECTIONS_PATH = {envdir}/ansible_collections ANSIBLE_CONFIG = {toxinidir}/ansible.cfg - ANSIBLE_CALLBACK_WHITELIST = profile_tasks + ANSIBLE_CALLBACK_ENABLED = profile_tasks ANSIBLE_CACHE_PLUGIN = memory ANSIBLE_GATHERING = implicit # only available for ansible >= 2.5 @@ -30,7 +31,7 @@ setenv= deps= -r{toxinidir}/tests/requirements.txt changedir={toxinidir}/tests/functional/external_clients{env:CONTAINER_DIR:} commands= - ansible-galaxy install -r {toxinidir}/requirements.yml -v + ansible-galaxy collection install -r {toxinidir}/requirements.yml -v -p {envdir}/ansible_collections bash {toxinidir}/tests/scripts/vagrant_up.sh --no-provision {posargs:--provider=virtualbox} bash {toxinidir}/tests/scripts/generate_ssh_config.sh {changedir} diff --git a/tox-filestore_to_bluestore.ini b/tox-filestore_to_bluestore.ini index facea8981f..a5af975deb 100644 --- a/tox-filestore_to_bluestore.ini +++ b/tox-filestore_to_bluestore.ini @@ -12,8 +12,9 @@ allowlist_externals = passenv=* setenv= ANSIBLE_SSH_ARGS = -F {changedir}/vagrant_ssh_config -o ControlMaster=auto -o ControlPersist=600s -o PreferredAuthentications=publickey + ANSIBLE_COLLECTIONS_PATH = {envdir}/ansible_collections ANSIBLE_CONFIG = {toxinidir}/ansible.cfg - ANSIBLE_CALLBACK_WHITELIST = profile_tasks + ANSIBLE_CALLBACK_ENABLED = profile_tasks ANSIBLE_CACHE_PLUGIN = memory ANSIBLE_GATHERING = implicit # only available for ansible >= 2.5 @@ -35,6 +36,7 @@ setenv= deps= -r{toxinidir}/tests/requirements.txt changedir={toxinidir}/tests/functional/filestore-to-bluestore{env:CONTAINER_DIR:} commands= + ansible-galaxy collection install -r {toxinidir}/requirements.yml -v -p {envdir}/ansible_collections bash {toxinidir}/tests/scripts/vagrant_up.sh --no-provision {posargs:--provider=virtualbox} bash {toxinidir}/tests/scripts/generate_ssh_config.sh {changedir} diff --git a/tox-podman.ini b/tox-podman.ini index 2af8c5a117..08546d4c9d 100644 --- a/tox-podman.ini +++ b/tox-podman.ini @@ -13,8 +13,9 @@ passenv=* sitepackages=True setenv= ANSIBLE_SSH_ARGS = -F {changedir}/vagrant_ssh_config -o ControlMaster=auto -o ControlPersist=600s -o PreferredAuthentications=publickey + ANSIBLE_COLLECTIONS_PATH = {envdir}/ansible_collections ANSIBLE_CONFIG = {toxinidir}/ansible.cfg - ANSIBLE_CALLBACK_WHITELIST = profile_tasks + ANSIBLE_CALLBACK_ENABLED = profile_tasks ANSIBLE_KEEP_REMOTE_FILES = 1 ANSIBLE_CACHE_PLUGIN = memory ANSIBLE_GATHERING = implicit @@ -31,6 +32,7 @@ deps= -r{toxinidir}/tests/requirements.txt changedir= {toxinidir}/tests/functional/podman commands= + ansible-galaxy collection install -r {toxinidir}/requirements.yml -v -p {envdir}/ansible_collections bash {toxinidir}/tests/scripts/vagrant_up.sh --no-provision {posargs:--provider=virtualbox} bash {toxinidir}/tests/scripts/generate_ssh_config.sh {changedir} diff --git a/tox-shrink_osd.ini b/tox-shrink_osd.ini index cf669c2057..d5478362e1 100644 --- a/tox-shrink_osd.ini +++ b/tox-shrink_osd.ini @@ -52,8 +52,9 @@ passenv=* sitepackages=False setenv= ANSIBLE_SSH_ARGS = -F {changedir}/vagrant_ssh_config -o ControlMaster=auto -o ControlPersist=600s -o PreferredAuthentications=publickey + ANSIBLE_COLLECTIONS_PATH = {envdir}/ansible_collections ANSIBLE_CONFIG = {toxinidir}/ansible.cfg - ANSIBLE_CALLBACK_WHITELIST = profile_tasks + ANSIBLE_CALLBACK_ENABLED = profile_tasks ANSIBLE_KEEP_REMOTE_FILES = 1 ANSIBLE_CACHE_PLUGIN = memory ANSIBLE_GATHERING = implicit @@ -80,6 +81,7 @@ changedir= commands= + ansible-galaxy collection install -r {toxinidir}/requirements.yml -v -p {envdir}/ansible_collections ansible-playbook -vv -i "localhost," -c local {toxinidir}/tests/functional/dev_setup.yml --extra-vars "dev_setup={env:DEV_SETUP:False} change_dir={changedir} ceph_dev_branch={env:CEPH_DEV_BRANCH:main} ceph_dev_sha1={env:CEPH_DEV_SHA1:latest}" --tags "vagrant_setup" bash {toxinidir}/tests/scripts/vagrant_up.sh --no-provision {posargs:--provider=virtualbox} diff --git a/tox-subset_update.ini b/tox-subset_update.ini index 7e10146e28..f146f9288a 100644 --- a/tox-subset_update.ini +++ b/tox-subset_update.ini @@ -12,8 +12,9 @@ allowlist_externals = passenv=* setenv= ANSIBLE_SSH_ARGS = -F {changedir}/vagrant_ssh_config -o ControlMaster=auto -o ControlPersist=600s -o PreferredAuthentications=publickey + ANSIBLE_COLLECTIONS_PATH = {envdir}/ansible_collections ANSIBLE_CONFIG = {toxinidir}/ansible.cfg - ANSIBLE_CALLBACK_WHITELIST = profile_tasks + ANSIBLE_CALLBACK_ENABLED = profile_tasks ANSIBLE_CACHE_PLUGIN = memory ANSIBLE_GATHERING = implicit # only available for ansible >= 2.5 @@ -35,7 +36,7 @@ setenv= deps= -r{toxinidir}/tests/requirements.txt changedir={toxinidir}/tests/functional/subset_update{env:CONTAINER_DIR:} commands= - ansible-galaxy install -r {toxinidir}/requirements.yml -v + ansible-galaxy collection install -r {toxinidir}/requirements.yml -v -p {envdir}/ansible_collections bash {toxinidir}/tests/scripts/vagrant_up.sh --no-provision {posargs:--provider=virtualbox} bash {toxinidir}/tests/scripts/generate_ssh_config.sh {changedir} diff --git a/tox-update.ini b/tox-update.ini index 3caec6d573..cb39b140f8 100644 --- a/tox-update.ini +++ b/tox-update.ini @@ -12,8 +12,9 @@ allowlist_externals = passenv=* setenv= ANSIBLE_SSH_ARGS = -F {changedir}/vagrant_ssh_config -o ControlMaster=auto -o ControlPersist=600s -o PreferredAuthentications=publickey + ANSIBLE_COLLECTIONS_PATH = {envdir}/ansible_collections ANSIBLE_CONFIG = {toxinidir}/ansible.cfg - ANSIBLE_CALLBACK_WHITELIST = profile_tasks + ANSIBLE_CALLBACK_ENABLED = profile_tasks ANSIBLE_CACHE_PLUGIN = memory ANSIBLE_GATHERING = implicit # only available for ansible >= 2.5 @@ -38,6 +39,8 @@ commands= bash {toxinidir}/tests/scripts/vagrant_up.sh --no-provision {posargs:--provider=virtualbox} bash {toxinidir}/tests/scripts/generate_ssh_config.sh {changedir} + ansible-galaxy collection install -r {toxinidir}/requirements.yml -v -p {envdir}/ansible_collections + ansible-playbook -vv -i {changedir}/{env:INVENTORY} {toxinidir}/tests/functional/setup.yml # # use the stable-7.0 branch to deploy an octopus cluster @@ -63,7 +66,7 @@ commands= # pip uninstall -y ansible # pip install -r {toxinidir}/tests/requirements.txt - ansible-galaxy install -r {toxinidir}/requirements.yml -v +# ansible-galaxy collection install -r {toxinidir}/requirements.yml -v -p {envdir}/ansible_collections ansible-playbook -vv -i {changedir}/{env:INVENTORY} {toxinidir}/infrastructure-playbooks/rolling_update.yml --extra-vars "\ ireallymeanit=yes \ diff --git a/tox.ini b/tox.ini index 3d746e66ee..fabcca9977 100644 --- a/tox.ini +++ b/tox.ini @@ -304,10 +304,11 @@ sitepackages=False setenv= ANSIBLE_SSH_ARGS = -F {changedir}/vagrant_ssh_config -o ControlMaster=auto -o ControlPersist=600s -o PreferredAuthentications=publickey ANSIBLE_CONFIG = {toxinidir}/ansible.cfg - ANSIBLE_CALLBACK_WHITELIST = profile_tasks + ANSIBLE_CALLBACKS_ENABLED = profile_tasks ANSIBLE_KEEP_REMOTE_FILES = 1 ANSIBLE_CACHE_PLUGIN = memory ANSIBLE_GATHERING = implicit + ANSIBLE_COLLECTIONS_PATH = {envdir}/ansible_collections # only available for ansible >= 2.5 ANSIBLE_STDOUT_CALLBACK = yaml non_container: DEV_SETUP = True @@ -360,7 +361,7 @@ changedir= cephadm_adopt: {toxinidir}/tests/functional/all_daemons{env:CONTAINER_DIR:} commands= - ansible-galaxy install -r {toxinidir}/requirements.yml -v + ansible-galaxy collection install -r {toxinidir}/requirements.yml -v -p {envdir}/ansible_collections rhcs: ansible-playbook -vv -i "localhost," -c local {toxinidir}/tests/functional/rhcs_setup.yml --extra-vars "change_dir={changedir}" --tags "vagrant_setup" non_container: ansible-playbook -vv -i "localhost," -c local {toxinidir}/tests/functional/dev_setup.yml --extra-vars "dev_setup={env:DEV_SETUP:False} change_dir={changedir} ceph_dev_branch={env:CEPH_DEV_BRANCH:main} ceph_dev_sha1={env:CEPH_DEV_SHA1:latest}" --tags "vagrant_setup"