From 63f99fb965cfb2d171adef86c3e96dfd9d29c16d Mon Sep 17 00:00:00 2001 From: Dimitri Savineau Date: Tue, 30 Apr 2019 10:24:25 -0400 Subject: [PATCH] tests: update testinfra release In order to support ansible 2.8 with testinfra we need to use the latest release (3.0.x). Adding ssh-config option to py.test. Also bumping the pytest and xdist version. Signed-off-by: Dimitri Savineau (cherry picked from commit de147469d7e78be51874575602226a684280ef4a) --- tests/functional/tests/mon/test_mons.py | 6 +++--- tests/requirements.txt | 8 +++++--- tox-dashboard.ini | 2 +- tox-update.ini | 2 +- tox.ini | 26 ++++++++++++------------- 5 files changed, 23 insertions(+), 21 deletions(-) diff --git a/tests/functional/tests/mon/test_mons.py b/tests/functional/tests/mon/test_mons.py index 3e7735025..791eb8d0b 100644 --- a/tests/functional/tests/mon/test_mons.py +++ b/tests/functional/tests/mon/test_mons.py @@ -29,10 +29,10 @@ class TestMons(object): output = host.check_output(cmd) assert output.strip().startswith("cluster") - def test_ceph_config_has_inital_members_line(self, node, File, setup): - assert File(setup["conf_path"]).contains("^mon initial members = .*$") + def test_ceph_config_has_inital_members_line(self, node, host, setup): + assert host.file(setup["conf_path"]).contains("^mon initial members = .*$") - def test_initial_members_line_has_correct_value(self, node, host, File, setup): # noqa E501 + def test_initial_members_line_has_correct_value(self, node, host, setup): mon_initial_members_line = host.check_output("grep 'mon initial members = ' /etc/ceph/{cluster}.conf".format(cluster=setup['cluster_name'])) # noqa E501 result = True for host in node["vars"]["groups"]["mons"]: diff --git a/tests/requirements.txt b/tests/requirements.txt index 750ce5fa4..bd4727924 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -1,9 +1,11 @@ # These are Python requirements needed to run the functional tests six==1.10.0 -testinfra==1.19.0 -pytest-xdist==1.27.0 -pytest==3.6.1 +testinfra>=3.0,<3.1 +pytest-xdist==1.28.0 +pytest>=4.4,<4.5 notario>=0.0.13 ansible>=2.8,<2.9 netaddr mock +jmespath +paramiko diff --git a/tox-dashboard.ini b/tox-dashboard.ini index 656c2bdd8..def8690a3 100644 --- a/tox-dashboard.ini +++ b/tox-dashboard.ini @@ -64,6 +64,6 @@ commands= ceph_dev_sha1={env:UPDATE_CEPH_DEV_SHA1:latest} \ " - bash -c "CEPH_STABLE_RELEASE={env:CEPH_STABLE_RELEASE:nautilus} py.test -n 8 --durations=0 --sudo -v --connection=ansible --ansible-inventory={changedir}/{env:INVENTORY} {toxinidir}/tests/functional/tests" + bash -c "CEPH_STABLE_RELEASE={env:CEPH_STABLE_RELEASE:nautilus} py.test -n 8 --durations=0 --sudo -v --connection=ansible --ansible-inventory={changedir}/{env:INVENTORY} --ssh-config={changedir}/vagrant_ssh_config {toxinidir}/tests/functional/tests" vagrant destroy --force diff --git a/tox-update.ini b/tox-update.ini index 2ad20d7de..9374cba30 100644 --- a/tox-update.ini +++ b/tox-update.ini @@ -76,6 +76,6 @@ commands= ceph_docker_image_tag={env:UPDATE_CEPH_DOCKER_IMAGE_TAG:latest-nautilus} \ " - bash -c "CEPH_STABLE_RELEASE={env:UPDATE_CEPH_STABLE_RELEASE:nautilus} py.test -n 8 --durations=0 --sudo -v --connection=ansible --ansible-inventory={changedir}/{env:INVENTORY} {toxinidir}/tests/functional/tests" + bash -c "CEPH_STABLE_RELEASE={env:UPDATE_CEPH_STABLE_RELEASE:nautilus} py.test -n 8 --durations=0 --sudo -v --connection=ansible --ansible-inventory={changedir}/{env:INVENTORY} --ssh-config={changedir}/vagrant_ssh_config {toxinidir}/tests/functional/tests" vagrant destroy --force diff --git a/tox.ini b/tox.ini index f8dae2001..70fde3014 100644 --- a/tox.ini +++ b/tox.ini @@ -51,7 +51,7 @@ commands= # wait 30sec for services to be ready sleep 30 # test cluster state using ceph-ansible tests - py.test -n 8 --durations=0 --sudo -v --connection=ansible --ansible-inventory={changedir}/hosts {envdir}/tmp/ceph-ansible/tests/functional/tests + py.test -n 8 --durations=0 --sudo -v --connection=ansible --ansible-inventory={changedir}/hosts --ssh-config={changedir}/vagrant_ssh_config {envdir}/tmp/ceph-ansible/tests/functional/tests # install ceph-ansible@master requirements pip install -r {toxinidir}/tests/requirements.txt @@ -68,13 +68,13 @@ commands= " # test cluster state again using ceph-ansible tests - bash -c "CEPH_STABLE_RELEASE=nautilus py.test -n 8 --durations=0 --sudo -v --connection=ansible --ansible-inventory={changedir}/hosts {toxinidir}/tests/functional/tests" + bash -c "CEPH_STABLE_RELEASE=nautilus py.test -n 8 --durations=0 --sudo -v --connection=ansible --ansible-inventory={changedir}/hosts --ssh-config={changedir}/vagrant_ssh_config {toxinidir}/tests/functional/tests" # reboot all vms ansible-playbook -vv -i {changedir}/hosts {toxinidir}/tests/functional/reboot.yml # retest to ensure cluster came back up correctly after rebooting - bash -c "CEPH_STABLE_RELEASE=nautilus py.test -n 8 --durations=0 --sudo -v --connection=ansible --ansible-inventory={changedir}/hosts {toxinidir}/tests/functional/tests" + bash -c "CEPH_STABLE_RELEASE=nautilus py.test -n 8 --durations=0 --sudo -v --connection=ansible --ansible-inventory={changedir}/hosts --ssh-config={changedir}/vagrant_ssh_config {toxinidir}/tests/functional/tests" vagrant destroy --force @@ -136,7 +136,7 @@ commands= ceph_docker_image_tag={env:CEPH_DOCKER_IMAGE_TAG:latest-master} \ " # test that the cluster can be redeployed in a healthy state - py.test -n 8 --durations=0 --sudo -v --connection=ansible --ansible-inventory={changedir}/{env:INVENTORY} {toxinidir}/tests/functional/tests + py.test -n 8 --durations=0 --sudo -v --connection=ansible --ansible-inventory={changedir}/{env:INVENTORY} --ssh-config={changedir}/vagrant_ssh_config {toxinidir}/tests/functional/tests [purge-lvm] commands= @@ -161,7 +161,7 @@ commands= ceph_docker_image_tag={env:CEPH_DOCKER_IMAGE_TAG:latest-master} \ " # test that the cluster can be redeployed in a healthy state - py.test -n 8 --durations=0 --sudo -v --connection=ansible --ansible-inventory={changedir}/{env:INVENTORY} {toxinidir}/tests/functional/tests + py.test -n 8 --durations=0 --sudo -v --connection=ansible --ansible-inventory={changedir}/{env:INVENTORY} --ssh-config={changedir}/vagrant_ssh_config {toxinidir}/tests/functional/tests [shrink-mon] commands= @@ -190,7 +190,7 @@ commands= ceph_docker_image_tag={env:CEPH_DOCKER_IMAGE_TAG:latest-master} \ " - py.test -n 8 --durations=0 --sudo -v --connection=ansible --ansible-inventory={changedir}/hosts-switch-to-containers {toxinidir}/tests/functional/tests + py.test -n 8 --durations=0 --sudo -v --connection=ansible --ansible-inventory={changedir}/hosts-switch-to-containers --ssh-config={changedir}/vagrant_ssh_config {toxinidir}/tests/functional/tests [add-mons] commands= @@ -203,7 +203,7 @@ commands= ceph_docker_image={env:CEPH_DOCKER_IMAGE:ceph/daemon} \ ceph_docker_image_tag={env:CEPH_DOCKER_IMAGE_TAG:latest-nautilus} \ " - py.test -n 8 --durations=0 --sudo -v --connection=ansible --ansible-inventory={changedir}/hosts-2 {toxinidir}/tests/functional/tests + py.test -n 8 --durations=0 --sudo -v --connection=ansible --ansible-inventory={changedir}/hosts-2 --ssh-config={changedir}/vagrant_ssh_config {toxinidir}/tests/functional/tests [add-osds] commands= @@ -217,7 +217,7 @@ commands= ceph_docker_image={env:CEPH_DOCKER_IMAGE:ceph/daemon} \ ceph_docker_image_tag={env:CEPH_DOCKER_IMAGE_TAG:latest-master} \ " - py.test -n 8 --durations=0 --sudo -v --connection=ansible --ansible-inventory={changedir}/hosts-2 {toxinidir}/tests/functional/tests + py.test -n 8 --durations=0 --sudo -v --connection=ansible --ansible-inventory={changedir}/hosts-2 --ssh-config={changedir}/vagrant_ssh_config {toxinidir}/tests/functional/tests [add-mgrs] commands= @@ -247,7 +247,7 @@ commands= ceph_dev_branch={env:CEPH_DEV_BRANCH:master} \ ceph_dev_sha1={env:CEPH_DEV_SHA1:latest} \ " - py.test -n 8 --sudo -v --connection=ansible --ansible-inventory={changedir}/hosts-2 {toxinidir}/tests/functional/tests + py.test -n 8 --sudo -v --connection=ansible --ansible-inventory={changedir}/hosts-2 --ssh-config={changedir}/vagrant_ssh_config {toxinidir}/tests/functional/tests [add-rbdmirrors] commands= @@ -262,7 +262,7 @@ commands= ceph_dev_branch={env:CEPH_DEV_BRANCH:master} \ ceph_dev_sha1={env:CEPH_DEV_SHA1:latest} \ " - py.test -n 8 --sudo -v --connection=ansible --ansible-inventory={changedir}/hosts-2 {toxinidir}/tests/functional/tests + py.test -n 8 --sudo -v --connection=ansible --ansible-inventory={changedir}/hosts-2 --ssh-config={changedir}/vagrant_ssh_config {toxinidir}/tests/functional/tests [add-rgws] commands= @@ -277,7 +277,7 @@ commands= ceph_dev_branch={env:CEPH_DEV_BRANCH:master} \ ceph_dev_sha1={env:CEPH_DEV_SHA1:latest} \ " - py.test -n 8 --sudo -v --connection=ansible --ansible-inventory={changedir}/hosts-2 {toxinidir}/tests/functional/tests + py.test -n 8 --sudo -v --connection=ansible --ansible-inventory={changedir}/hosts-2 --ssh-config={changedir}/vagrant_ssh_config {toxinidir}/tests/functional/tests [rgw-multisite] commands= @@ -413,14 +413,14 @@ commands= # wait 30sec for services to be ready sleep 30 # test cluster state using ceph-ansible tests - py.test -n 8 --durations=0 --sudo -v --connection=ansible --ansible-inventory={changedir}/{env:INVENTORY} {toxinidir}/tests/functional/tests + py.test -n 8 --durations=0 --sudo -v --connection=ansible --ansible-inventory={changedir}/{env:INVENTORY} --ssh-config={changedir}/vagrant_ssh_config {toxinidir}/tests/functional/tests # reboot all vms all_daemons: ansible-playbook -vv -i {changedir}/{env:INVENTORY} {toxinidir}/tests/functional/reboot.yml # wait 30sec for services to be ready # retest to ensure cluster came back up correctly after rebooting - all_daemons: py.test -n 8 --durations=0 --sudo -v --connection=ansible --ansible-inventory={changedir}/{env:INVENTORY} {toxinidir}/tests/functional/tests + all_daemons: py.test -n 8 --durations=0 --sudo -v --connection=ansible --ansible-inventory={changedir}/{env:INVENTORY} --ssh-config={changedir}/vagrant_ssh_config {toxinidir}/tests/functional/tests # handlers/idempotency test all_daemons: ansible-playbook -vv -i {changedir}/{env:INVENTORY} {toxinidir}/{env:PLAYBOOK:site.yml.sample} --extra-vars "delegate_facts_host={env:DELEGATE_FACTS_HOST:True} fetch_directory={env:FETCH_DIRECTORY:{changedir}/fetch} ceph_stable_release={env:CEPH_STABLE_RELEASE:nautilus} ceph_docker_registry={env:CEPH_DOCKER_REGISTRY:docker.io} ceph_docker_image={env:CEPH_DOCKER_IMAGE:ceph/daemon} ceph_docker_image_tag={env:CEPH_DOCKER_IMAGE_TAG_BIS:latest-bis-master} copy_admin_key={env:COPY_ADMIN_KEY:False} " --extra-vars @ceph-override.json