blob: 9a351499903cf740d32b170bcec4352f4a31da0d [file] [log] [blame]
Ekaterina Chernovac73bc4e2019-11-12 14:56:03 +03001from builtins import str
Hanna Arhipovae6ed8e42019-05-15 16:27:08 +03002import pytest
Hanna Arhipova1eef8312019-05-06 20:14:18 +03003import logging
Hanna Arhipovae6ed8e42019-05-15 16:27:08 +03004
5
Oleksii Zhurba23c18332019-05-09 18:53:40 -05006@pytest.mark.sl_dup
7#CinderServiceDown, CinderServicesDownMinor
8@pytest.mark.full
Hanna Arhipovae6ed8e42019-05-15 16:27:08 +03009def test_cinder_services_are_up(local_salt_client, check_cinder_backends):
10 """
11 # Make sure that cinder backend exists with next command: `salt -C "I@cinder:controller" pillar.get cinder:controller:backend`
12 # Check that all services has 'Up' status in output of `cinder service-list` on keystone:server nodes
13 """
14 service_down = local_salt_client.cmd_any(
15 tgt='keystone:server',
16 param='. /root/keystonercv3; cinder service-list | grep "down\|disabled"')
Dmitriy Kruglovbc0a88b2019-08-20 11:45:35 +020017 assert service_down == '', (
18 "Some Cinder services are in wrong state:\n{}".format(service_down))
19
Hanna Arhipovae6ed8e42019-05-15 16:27:08 +030020
Oleksii Zhurba23c18332019-05-09 18:53:40 -050021@pytest.mark.full
Hanna Arhipovae6ed8e42019-05-15 16:27:08 +030022def test_cinder_services_has_all_backends(local_salt_client, check_cinder_backends):
23 """
24 # Make sure that cinder backend exists with next command: `salt -C "I@cinder:controller" pillar.get cinder:controller:backend`
Valeriy Sakharovb64c5d72022-02-14 15:40:26 +040025 # Check that all backends in cinder:controller:backend pillar are linked with cinder volumes
Hanna Arhipovae6ed8e42019-05-15 16:27:08 +030026 """
27 backends_cinder = local_salt_client.pillar_get(
28 tgt='cinder:controller',
29 param='cinder:controller:backend'
30 )
31 cinder_volume = local_salt_client.cmd_any(
32 tgt='keystone:server',
33 param='. /root/keystonercv3; cinder service-list | grep "volume" |grep -c -v -e "lvm"')
Ekaterina Chernovac73bc4e2019-11-12 14:56:03 +030034 backends_num = len(list(backends_cinder.keys()))
Valeriy Sakharovb64c5d72022-02-14 15:40:26 +040035 assert cinder_volume >= str(backends_num), (
36 'Number of cinder-volume services ({0}) is less than number of '
37 'volume backends ({1}). Some backends might not be linked with cinder-volume service'.format(cinder_volume, str(backends_num))
Dmitriy Kruglovbc0a88b2019-08-20 11:45:35 +020038 )