def test_mds_is_up(self, node, host):
hostname = node["vars"]["inventory_hostname"]
cmd = "sudo ceph --name client.bootstrap-mds --keyring /var/lib/ceph/bootstrap-mds/{cluster}.keyring --cluster={cluster} --connect-timeout 5 -f json -s".format(cluster=node['cluster_name'])
- output = host.check_output(cmd)
- daemons = json.loads(output)["fsmap"]["by_rank"][0]["name"]
- assert hostname in daemons
+ cluster_status = json.loads(host.check_output(cmd))
+
+ assert (cluster_status['fsmap'].get('up', 0) + cluster_status['fsmap'].get('up:standby', 0)) == len(node["vars"]["groups"]["mdss"])
@pytest.mark.docker
def test_docker_mds_is_up(self, node, host):
hostname=node["vars"]["inventory_hostname"],
cluster=node["cluster_name"]
)
- num_mdss = len(host.ansible.get_variables()["groups"]["mdss"])
- output_raw = host.check_output(cmd)
- output_json = json.loads(output_raw)
- assert output_json['fsmap']['up'] and output_json['fsmap']['in'] == num_mdss
\ No newline at end of file
+ cluster_status = json.loads(host.check_output(cmd))
+
+ assert (cluster_status['fsmap'].get('up', 0) + cluster_status['fsmap'].get('up:standby', 0)) == len(node["vars"]["groups"]["mdss"])