]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
tests: do not test mgr nodes on jewel
authorAndrew Schoen <aschoen@redhat.com>
Thu, 4 May 2017 19:04:23 +0000 (14:04 -0500)
committerAndrew Schoen <aschoen@redhat.com>
Thu, 4 May 2017 20:35:04 +0000 (15:35 -0500)
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
tests/conftest.py

index 9b4725ac251f94375f0d5e5d7b42d971521ecdf5..0dd6c5b31a1b613c15ade32e46f4dedd6a2411a8 100644 (file)
@@ -1,4 +1,5 @@
 import pytest
+import os
 
 
 @pytest.fixture()
@@ -12,6 +13,10 @@ def node(Ansible, Interface, Command, request):
     because it contains the logic to manage which tests a node should run.
     """
     ansible_vars = Ansible.get_variables()
+    # tox will pass in this environment variable. we need to do it this way
+    # because testinfra does not collect and provide ansible config passed in
+    # from using --extra-vars
+    ceph_stable_release = os.environ.get("CEPH_STABLE_RELEASE", "kraken")
     node_type = ansible_vars["group_names"][0]
     docker = ansible_vars.get("docker")
     if not request.node.get_marker(node_type) and not request.node.get_marker('all'):
@@ -23,6 +28,9 @@ def node(Ansible, Interface, Command, request):
     if request.node.get_marker("docker") and not docker:
         pytest.skip("Not a valid test for non-containerized deployments or atomic hosts")
 
+    if node_type == "mgrs" and ceph_stable_release == "jewel":
+        pytest.skip("mgr nodes can not be tested with ceph release jewel")
+
     journal_collocation_test = ansible_vars.get("journal_collocation") or ansible_vars.get("dmcrypt_journal_collocation")
     if request.node.get_marker("journal_collocation") and not journal_collocation_test:
         pytest.skip("Scenario is not using journal collocation")
@@ -66,6 +74,7 @@ def node(Ansible, Interface, Command, request):
         cluster_address=cluster_address,
         docker=docker,
         osds=osds,
+        ceph_stable_release=ceph_stable_release,
     )
     return data