]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
tests: add tests for rgw-nfs
authorSébastien Han <seb@redhat.com>
Tue, 26 Sep 2017 12:21:37 +0000 (14:21 +0200)
committerSébastien Han <seb@redhat.com>
Fri, 29 Sep 2017 00:38:24 +0000 (02:38 +0200)
rgw-nfs is part of servicemap so we should use it to make sure the
process is up and running.

Signed-off-by: Sébastien Han <seb@redhat.com>
tests/functional/tests/nfs/test_nfs_ganesha.py

index e0ad01080351271c3adfcbe38441414aef979699..8136ff45932c4cdd52252d9f6b6c4c5b4f0df903 100644 (file)
@@ -1,3 +1,4 @@
+import json
 import pytest
 
 class TestNFSs(object):
@@ -22,6 +23,30 @@ class TestNFSs(object):
     def test_nfs_config_override(self, node, host):
         assert host.file("/etc/ganesha/ganesha.conf").contains("Entries_HWMark")
 
+    @pytest.mark.no_docker
+    def test_nfs_is_up(self, node, host):
+        hostname = node["vars"]["inventory_hostname"]
+        cluster = node['cluster_name']
+        cmd = "sudo ceph --name client.rgw.{hostname} --keyring /var/lib/ceph/radosgw/{cluster}-rgw.{hostname}/keyring --cluster={cluster} --connect-timeout 5 -f json -s".format(
+            hostname=hostname,
+            cluster=cluster
+        )
+        output = host.check_output(cmd)
+        daemons = [i for i in json.loads(output)["servicemap"]["services"]["rgw-nfs"]["daemons"]]
+        assert hostname in daemons
+
+    @pytest.mark.docker
+    def test_docker_nfs_is_up(self, node, host):
+        hostname = node["vars"]["inventory_hostname"]
+        cluster = node['cluster_name']
+        cmd = "sudo docker exec ceph-nfs-{hostname} ceph --name client.rgw.{hostname} --keyring /var/lib/ceph/radosgw/{cluster}-rgw.{hostname}/keyring --cluster={cluster} --connect-timeout 5 -f json -s".format(
+            hostname=hostname,
+            cluster=cluster
+        )
+        output = host.check_output(cmd)
+        daemons = [i for i in json.loads(output)["servicemap"]["services"]["rgw-nfs"]["daemons"]]
+        assert hostname in daemons
+
 #NOTE (guits): This check must be fixed. (Permission denied error)
 #    @pytest.mark.no_docker
 #    def test_nfs_rgw_fsal_export(self, node, host):