blob: c1a36dae83f83347569ae99cd66b61e600ba966e [file] [log] [blame]
Oleksii Zhurbaa10927b2017-09-27 22:09:23 +00001import json
Oleksii Zhurba5b15b9b2019-05-09 18:53:40 -05002import pytest
Oleksii Zhurbaa10927b2017-09-27 22:09:23 +00003
4
Oleksii Zhurba5b15b9b2019-05-09 18:53:40 -05005@pytest.mark.full
Oleksii Zhurbad0ae87f2018-03-26 13:36:25 -05006def test_check_default_gateways(local_salt_client, nodes_in_group):
Oleksii Zhurbaa10927b2017-09-27 22:09:23 +00007 netstat_info = local_salt_client.cmd(
Oleksii Zhurba4bfd2ee2019-04-10 21:56:58 -05008 tgt="L@"+','.join(nodes_in_group),
9 param='ip r | sed -n 1p',
10 expr_form='compound')
Oleksii Zhurbaa10927b2017-09-27 22:09:23 +000011
12 gateways = {}
Oleksii Zhurbaa10927b2017-09-27 22:09:23 +000013
Oleksii Zhurba4bfd2ee2019-04-10 21:56:58 -050014 for node in netstat_info.keys():
15 gateway = netstat_info[node]
16 if isinstance(gateway, bool):
17 gateway = 'Cannot access node(-s)'
18 if gateway not in gateways:
19 gateways[gateway] = [node]
Oleksii Zhurbaa10927b2017-09-27 22:09:23 +000020 else:
Oleksii Zhurba4bfd2ee2019-04-10 21:56:58 -050021 gateways[gateway].append(node)
Oleksii Zhurbaa10927b2017-09-27 22:09:23 +000022
23 assert len(gateways.keys()) == 1, \
Oleksii Zhurbad0ae87f2018-03-26 13:36:25 -050024 "There were found few gateways: {gw}".format(
Oleksii Zhurbaa10927b2017-09-27 22:09:23 +000025 gw=json.dumps(gateways, indent=4)
26 )