mirror of https://github.com/ceph/ceph-ansible.git
tests: add mimic support for test_rbd_mirror_is_up()
prior mimic, the data structure returned by `ceph -s -f json` used to gather information about rbd-mirror daemons looked like below: ``` "servicemap": { "epoch": 8, "modified": "2018-07-05 13:21:06.207483", "services": { "rbd-mirror": { "daemons": { "summary": "", "ceph-nano-luminous-faa32aebf00b": { "start_epoch": 8, "start_stamp": "2018-07-05 13:21:04.668450", "gid": 14107, "addr": "172.17.0.2:0/2229952892", "metadata": { "arch": "x86_64", "ceph_version": "ceph version 12.2.5 (cad919881333ac92274171586c827e01f554a70a) luminous (stable)", "cpu": "Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz", "distro": "centos", "distro_description": "CentOS Linux 7 (Core)", "distro_version": "7", "hostname": "ceph-nano-luminous-faa32aebf00b", "instance_id": "14107", "kernel_description": "#1 SMP Wed Mar 14 15:12:16 UTC 2018", "kernel_version": "4.9.87-linuxkit-aufs", "mem_swap_kb": "1048572", "mem_total_kb": "2046652", "os": "Linux" } } } } } } ``` This part has changed from mimic and became: ``` "servicemap": { "epoch": 2, "modified": "2018-07-04 09:54:36.164786", "services": { "rbd-mirror": { "daemons": { "summary": "", "14151": { "start_epoch": 2, "start_stamp": "2018-07-04 09:54:35.541272", "gid": 14151, "addr": "192.168.1.80:0/240942528", "metadata": { "arch": "x86_64", "ceph_release": "mimic", "ceph_version": "ceph version 13.2.0 (79a10589f1f80dfe21e8f9794365ed98143071c4) mimic (stable)", "ceph_version_short": "13.2.0", "cpu": "Intel(R) Xeon(R) CPU X5650 @ 2.67GHz", "distro": "centos", "distro_description": "CentOS Linux 7 (Core)", "distro_version": "7", "hostname": "ceph-rbd-mirror0", "id": "ceph-rbd-mirror0", "instance_id": "14151", "kernel_description": "#1 SMP Wed May 9 18:05:47 UTC 2018", "kernel_version": "3.10.0-862.2.3.el7.x86_64", "mem_swap_kb": "1572860", "mem_total_kb": "1015548", "os": "Linux" } } } } } } ``` This patch modifies the function `test_rbd_mirror_is_up()` in `test_rbd_mirror.py` so it works with `mimic` and keeps backward compatibility with `luminous` Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>pull/1748/merge
parent
713b9fcf9b
commit
09d795b5b7
|
@ -120,6 +120,7 @@ def node(host, request):
|
|||
docker=docker,
|
||||
osds=osds,
|
||||
ceph_stable_release=ceph_stable_release,
|
||||
ceph_release_num=ceph_release_num,
|
||||
)
|
||||
return data
|
||||
|
||||
|
|
|
@ -60,8 +60,11 @@ class TestRbdMirrors(object):
|
|||
|
||||
@pytest.mark.from_luminous
|
||||
def test_rbd_mirror_is_up(self, node, host):
|
||||
ceph_release_num=node['ceph_release_num']
|
||||
ceph_stable_release=node['ceph_stable_release']
|
||||
hostname=node["vars"]["inventory_hostname"]
|
||||
cluster=node["cluster_name"]
|
||||
daemons = []
|
||||
if node['docker']:
|
||||
docker_exec_cmd = 'docker exec ceph-rbd-mirror-{hostname}'.format(hostname=hostname)
|
||||
else:
|
||||
|
@ -74,5 +77,12 @@ class TestRbdMirrors(object):
|
|||
cluster=cluster
|
||||
)
|
||||
output = host.check_output(cmd)
|
||||
daemons = [i for i in json.loads(output)["servicemap"]["services"]["rbd-mirror"]["daemons"]]
|
||||
assert hostname in daemons
|
||||
status = json.loads(output)
|
||||
daemon_ids = [i for i in status["servicemap"]["services"]["rbd-mirror"]["daemons"].keys() if i != "summary"]
|
||||
if ceph_release_num[ceph_stable_release] > ceph_release_num['luminous']:
|
||||
for daemon_id in daemon_ids:
|
||||
daemons.append(status["servicemap"]["services"]["rbd-mirror"]["daemons"][daemon_id]["metadata"]["hostname"])
|
||||
result = hostname in daemons
|
||||
else:
|
||||
result = hostname in daemon_ids
|
||||
assert result
|
Loading…
Reference in New Issue