blob: dc665e7a5bdb6bc4c4998f3b8a443f9ca5ab622a [file] [log] [blame]
Ekaterina Chernovac73bc4e2019-11-12 14:56:03 +03001from builtins import str
Oleksii Zhurba3dbed242017-10-31 19:58:53 +00002import pytest
3
4
Oleksii Zhurba23c18332019-05-09 18:53:40 -05005@pytest.mark.sl_dup
6#GaleraServiceDown
7#TODO: a better test
8@pytest.mark.full
Oleksii Zhurbaa10927b2017-09-27 22:09:23 +00009def test_galera_cluster_status(local_salt_client):
10 gs = local_salt_client.cmd(
Hanna Arhipovae6ed8e42019-05-15 16:27:08 +030011 tgt='galera:*',
12 param='salt-call mysql.status | grep -A1 wsrep_cluster_size | tail -n1',
Oleksii Zhurbaa10927b2017-09-27 22:09:23 +000013 expr_form='pillar')
14
Oleksii Zhurba0ee18142017-10-05 17:15:05 -050015 if not gs:
Oleksii Zhurba9848e212018-09-05 10:53:51 -050016 pytest.skip("Galera service or galera:* pillar \
17 are not found on this environment.")
Oleksii Zhurba0ee18142017-10-05 17:15:05 -050018
Oleksii Zhurbaa10927b2017-09-27 22:09:23 +000019 size_cluster = []
20 amount = len(gs)
21
Ekaterina Chernovac73bc4e2019-11-12 14:56:03 +030022 for item in list(gs.values()):
Oleksii Zhurbaa10927b2017-09-27 22:09:23 +000023 size_cluster.append(item.split('\n')[-1].strip())
24
25 assert all(item == str(amount) for item in size_cluster), \
26 '''There found inconsistency within cloud. MySQL galera cluster
27 is probably broken, the cluster size gathered from nodes:
28 {}'''.format(gs)