group_names = ansible_vars["group_names"]
docker = ansible_vars.get("docker")
dashboard = ansible_vars.get("dashboard_enabled", True)
+ nfs_file_gw = ansible_vars.get("nfs_file_gw")
+ nfs_obj_gw = ansible_vars.get("nfs_obj_gw")
radosgw_num_instances = ansible_vars.get("radosgw_num_instances", 1)
ceph_release_num = {
'jewel': 10,
if request.node.get_closest_marker("dashboard") and group_names == ['clients']:
pytest.skip('Not a valid test for client node')
+ if request.node.get_closest_marker("no_nfs_file_gw") and nfs_file_gw:
+ pytest.skip('Not a valid test for nfs+cephfs node')
+
+ if request.node.get_closest_marker("no_nfs_obj_gw") and nfs_obj_gw:
+ pytest.skip('Not a valid test for nfs+rgw node')
+
data = dict(
vars=ansible_vars,
docker=docker,
ceph_release_num=ceph_release_num,
rolling_update=rolling_update,
radosgw_num_instances=radosgw_num_instances,
+ nfs_file_gw=nfs_file_gw,
+ nfs_obj_gw=nfs_obj_gw,
)
return data
class TestNFSs(object):
@pytest.mark.no_docker
+ @pytest.mark.no_nfs_file_gw
@pytest.mark.parametrize('pkg', [
'nfs-ganesha',
'nfs-ganesha-rgw'
])
- def test_nfs_ganesha_package_is_installed(self, node, host, pkg):
+ def test_nfs_ganesha_rgw_package_is_installed(self, node, host, pkg):
+ assert host.package(pkg).is_installed
+
+ @pytest.mark.no_docker
+ @pytest.mark.no_nfs_obj_gw
+ @pytest.mark.parametrize('pkg', [
+ 'nfs-ganesha-ceph',
+ 'nfs-ganesha-rados-grace'
+ ])
+ def test_nfs_ganesha_fs_package_is_installed(self, node, host, pkg):
assert host.package(pkg).is_installed
@pytest.mark.no_docker
assert host.file(
"/etc/ganesha/ganesha.conf").contains("Entries_HWMark")
+ @pytest.mark.no_nfs_file_gw
def test_nfs_is_up(self, node, host, setup):
hostname = node["vars"]["inventory_hostname"]
cluster = setup['cluster_name']