blob: 9e13e3627c70a5f6045ff86ae9c675ff89cd846f [file] [log] [blame]
Oleksii Zhurbae592ed12018-06-21 18:01:09 -05001import pytest
Hanna Arhipova56eab942019-05-06 20:14:18 +03002import logging
Oleksii Zhurbae592ed12018-06-21 18:01:09 -05003
4
Oleksii Zhurba5b15b9b2019-05-09 18:53:40 -05005@pytest.mark.sl_dup
6#CinderServiceDown, CinderServicesDownMinor
7@pytest.mark.full
Hanna Arhipovaa14488d2019-04-30 15:08:33 +03008def test_cinder_services_are_up(local_salt_client, check_cinder_backends):
Hanna Arhipova835b0cb2019-04-10 17:10:20 +03009 """
10 # Make sure that cinder backend exists with next command: `salt -C "I@cinder:controller" pillar.get cinder:controller:backend`
11 # Check that all services has 'Up' status in output of `cinder service-list` on keystone:server nodes
Hanna Arhipova835b0cb2019-04-10 17:10:20 +030012 """
Oleksii Zhurba4bfd2ee2019-04-10 21:56:58 -050013 service_down = local_salt_client.cmd_any(
14 tgt='keystone:server',
15 param='. /root/keystonercv3; cinder service-list | grep "down\|disabled"')
Dmitriy Kruglova34a3042019-08-20 11:45:35 +020016 assert service_down == '', (
17 "Some Cinder services are in wrong state:\n{}".format(service_down))
18
Hanna Arhipovaa14488d2019-04-30 15:08:33 +030019
Oleksii Zhurba5b15b9b2019-05-09 18:53:40 -050020@pytest.mark.full
Hanna Arhipovaa14488d2019-04-30 15:08:33 +030021def test_cinder_services_has_all_backends(local_salt_client, check_cinder_backends):
22 """
23 # Make sure that cinder backend exists with next command: `salt -C "I@cinder:controller" pillar.get cinder:controller:backend`
24 # Check that quantity of backend in cinder:controller:backend pillar is similar to list of volumes in cinder service-list
25 """
26 backends_cinder = local_salt_client.pillar_get(
27 tgt='cinder:controller',
28 param='cinder:controller:backend'
29 )
30 cinder_volume = local_salt_client.cmd_any(
31 tgt='keystone:server',
32 param='. /root/keystonercv3; cinder service-list | grep "volume" |grep -c -v -e "lvm"')
Hanna Arhipovaa14488d2019-04-30 15:08:33 +030033 backends_num = len(backends_cinder.keys())
Dmitriy Kruglova34a3042019-08-20 11:45:35 +020034 assert cinder_volume == str(backends_num), (
35 'Number of cinder-volume services ({0}) does not match number of '
36 'volume backends ({1}).'.format(cinder_volume, str(backends_num))
37 )