blob: 5d783f0cc9758260727fd06cf0ceaa17580c955a [file] [log] [blame]
Oleksii Zhurbae592ed12018-06-21 18:01:09 -05001import pytest
2
3
Oleksii Zhurbab9bf5452018-03-26 14:27:41 -05004def test_cinder_services(local_salt_client):
Hanna Arhipova835b0cb2019-04-10 17:10:20 +03005 """
6 # Make sure that cinder backend exists with next command: `salt -C "I@cinder:controller" pillar.get cinder:controller:backend`
7 # Check that all services has 'Up' status in output of `cinder service-list` on keystone:server nodes
8 # Check that quantity of backend in cinder:controller:backend pillar is similar to list of volumes in cinder service-list
9 """
Oleksii Zhurba4bfd2ee2019-04-10 21:56:58 -050010 backends_cinder = local_salt_client.test_ping(tgt='cinder:controller:backend')
11 if not backends_cinder or not any(backends_cinder.values()):
Hanna Arhipova835b0cb2019-04-10 17:10:20 +030012 pytest.skip("Cinder service or cinder:controller:backend pillar \
Oleksii Zhurba9848e212018-09-05 10:53:51 -050013 are not found on this environment.")
Oleksii Zhurba4bfd2ee2019-04-10 21:56:58 -050014 service_down = local_salt_client.cmd_any(
15 tgt='keystone:server',
16 param='. /root/keystonercv3; cinder service-list | grep "down\|disabled"')
17 cinder_volume = local_salt_client.cmd_any(
18 tgt='keystone:server',
19 param='. /root/keystonercv3; cinder service-list | grep -c "volume"')
Oleksii Zhurbae502d662018-08-07 16:46:14 -050020 backends_num = len(backends_cinder.keys())
Oleksii Zhurba4bfd2ee2019-04-10 21:56:58 -050021 assert service_down == '', \
Oleksii Zhurbab9bf5452018-03-26 14:27:41 -050022 '''Some cinder services are in wrong state'''
Oleksii Zhurba4bfd2ee2019-04-10 21:56:58 -050023 assert cinder_volume == str(backends_num), \
Oleksii Zhurbae502d662018-08-07 16:46:14 -050024 'Number of cinder-volume services ({0}) does not match ' \
25 'number of volume backends ({1})'.format(
Oleksii Zhurba4bfd2ee2019-04-10 21:56:58 -050026 cinder_volume, str(backends_num))