blob: 9e13e3627c70a5f6045ff86ae9c675ff89cd846f [file] [log] [blame]
Hanna Arhipovae6ed8e42019-05-15 16:27:08 +03001import pytest
Hanna Arhipova1eef8312019-05-06 20:14:18 +03002import logging
Hanna Arhipovae6ed8e42019-05-15 16:27:08 +03003
4
Oleksii Zhurba23c18332019-05-09 18:53:40 -05005@pytest.mark.sl_dup
6#CinderServiceDown, CinderServicesDownMinor
7@pytest.mark.full
Hanna Arhipovae6ed8e42019-05-15 16:27:08 +03008def test_cinder_services_are_up(local_salt_client, check_cinder_backends):
9 """
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
12 """
13 service_down = local_salt_client.cmd_any(
14 tgt='keystone:server',
15 param='. /root/keystonercv3; cinder service-list | grep "down\|disabled"')
Dmitriy Kruglovbc0a88b2019-08-20 11:45:35 +020016 assert service_down == '', (
17 "Some Cinder services are in wrong state:\n{}".format(service_down))
18
Hanna Arhipovae6ed8e42019-05-15 16:27:08 +030019
Oleksii Zhurba23c18332019-05-09 18:53:40 -050020@pytest.mark.full
Hanna Arhipovae6ed8e42019-05-15 16:27:08 +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 Arhipovae6ed8e42019-05-15 16:27:08 +030033 backends_num = len(backends_cinder.keys())
Dmitriy Kruglovbc0a88b2019-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 )