]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
tests: rbd/rgw adapt testinfra for jewel
authorGuillaume Abrioux <gabrioux@redhat.com>
Wed, 11 Oct 2017 14:21:52 +0000 (16:21 +0200)
committerGuillaume Abrioux <gabrioux@redhat.com>
Wed, 11 Oct 2017 22:06:08 +0000 (00:06 +0200)
- the rbd-mirror unit systemd name is not the same when running jewel vs
luminous.
- servicemap is not available on jewel.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
tests/conftest.py
tests/functional/tests/rbd-mirror/test_rbd_mirror.py
tests/functional/tests/rgw/test_rgw.py

index 2770de3ee7c284cc04925afdbbf480116bd779ef..ebee2d1864e056220f6b678be56adac2adcfe167 100644 (file)
@@ -21,6 +21,12 @@ def node(host, request):
     docker = ansible_vars.get("docker")
     osd_auto_discovery = ansible_vars.get("osd_auto_discovery")
     lvm_scenario = ansible_vars.get("osd_scenario") == 'lvm'
+    ceph_release_num = {
+      'jewel': 10,
+      'kraken': 11,
+      'luminous': 12,
+      'mimic': 13
+    }
     if not request.node.get_marker(node_type) and not request.node.get_marker('all'):
         pytest.skip("Not a valid test for node type: %s" % node_type)
 
@@ -42,6 +48,12 @@ def node(host, request):
     if node_type == "nfss" and ceph_stable_release == "jewel":
         pytest.skip("nfs nodes can not be tested with ceph release jewel")
 
+    if request.node.get_marker("from_luminous") and ceph_release_num[ceph_stable_release] < ceph_release_num['luminous']:
+        pytest.skip("This test is only valid for releases starting from Luminous and above")
+
+    if request.node.get_marker("before_luminous") and ceph_release_num[ceph_stable_release] >= ceph_release_num['luminous']:
+        pytest.skip("This test is only valid for release before Luminous")
+
     journal_collocation_test = ansible_vars.get("osd_scenario") == "collocated"
     if request.node.get_marker("journal_collocation") and not journal_collocation_test:
         pytest.skip("Scenario is not using journal collocation")
index 92b5b8c4d7f2777c918bd4da952758adb8e7a52b..69a9924eed8b857b02b8b3d465f8cf9023f70f89 100644 (file)
@@ -1,5 +1,6 @@
 import pytest
 import json
+import os
 
 class TestRbdMirrors(object):
 
@@ -7,19 +8,51 @@ class TestRbdMirrors(object):
     def test_rbd_mirror_is_installed(self, node, host):
         assert host.package("rbd-mirror").is_installed
 
-    def test_rbd_mirror_service_is_running(self, node, host):
+    @pytest.mark.no_docker
+    @pytest.mark.before_luminous
+    def test_rbd_mirror_service_is_running_before_luminous(self, node, host):
+        service_name = "ceph-rbd-mirror@admin"
+        assert host.service(service_name).is_running
+
+    @pytest.mark.docker
+    @pytest.mark.before_luminous
+    def test_rbd_mirror_service_is_running_docker_before_luminous(self, node, host):
+        service_name = "ceph-rbd-mirror@rbd-mirror.{hostname}".format(
+            hostname=node["vars"]["inventory_hostname"]
+        )
+        assert host.service(service_name).is_running
+
+    @pytest.mark.docker
+    @pytest.mark.from_luminous
+    def test_rbd_mirror_service_is_running_docker_from_luminous(self, node, host):
         service_name = "ceph-rbd-mirror@rbd-mirror.{hostname}".format(
             hostname=node["vars"]["inventory_hostname"]
         )
         assert host.service(service_name).is_running
 
-    def test_rbd_mirror_service_is_enabled(self, node, host):
+    @pytest.mark.no_docker
+    @pytest.mark.before_luminous
+    def test_rbd_mirror_service_is_enabled_before_luminous(self, node, host):
+        service_name = "ceph-rbd-mirror@admin"
+        assert host.service(service_name).is_enabled
+
+    @pytest.mark.docker
+    @pytest.mark.before_luminous
+    def test_rbd_mirror_service_is_enabled_docker_before_luminous(self, node, host):
+        service_name = "ceph-rbd-mirror@rbd-mirror.{hostname}".format(
+            hostname=node["vars"]["inventory_hostname"]
+        )
+        assert host.service(service_name).is_enabled
+
+    @pytest.mark.from_luminous
+    def test_rbd_mirror_service_is_enabled_from_luminous(self, node, host):
         service_name = "ceph-rbd-mirror@rbd-mirror.{hostname}".format(
             hostname=node["vars"]["inventory_hostname"]
         )
         assert host.service(service_name).is_enabled
 
     @pytest.mark.no_docker
+    @pytest.mark.from_luminous
     def test_rbd_mirror_is_up(self, node, host):
         hostname = node["vars"]["inventory_hostname"]
         cluster = node['cluster_name']
@@ -32,6 +65,7 @@ class TestRbdMirrors(object):
         assert hostname in daemons
 
     @pytest.mark.docker
+    @pytest.mark.from_luminous
     def test_docker_rbd_mirror_is_up(self, node, host):
         hostname = node["vars"]["inventory_hostname"]
         cluster = node['cluster_name']
index 2c6cbb0d297c580a8fbe8070c5960de795188bb4..ba34fd68c36891466e3668fe2eb0772f010d6f95 100644 (file)
@@ -23,6 +23,7 @@ class TestRGWs(object):
         assert host.service(service_name).is_enabled
 
     @pytest.mark.no_docker
+    @pytest.mark.from_luminous
     def test_rgw_is_up(self, node, host):
         hostname = node["vars"]["inventory_hostname"]
         cluster = node['cluster_name']
@@ -42,6 +43,7 @@ class TestRGWs(object):
 
 
     @pytest.mark.docker
+    @pytest.mark.from_luminous
     def test_docker_rgw_is_up(self, node, host):
         hostname = node["vars"]["inventory_hostname"]
         cluster = node['cluster_name']