Ekaterina Chernova | c73bc4e | 2019-11-12 14:56:03 +0300 | [diff] [blame] | 1 | from builtins import str |
Hanna Arhipova | e6ed8e4 | 2019-05-15 16:27:08 +0300 | [diff] [blame] | 2 | import pytest |
Hanna Arhipova | 1eef831 | 2019-05-06 20:14:18 +0300 | [diff] [blame] | 3 | import logging |
Hanna Arhipova | e6ed8e4 | 2019-05-15 16:27:08 +0300 | [diff] [blame] | 4 | |
| 5 | |
Oleksii Zhurba | 23c1833 | 2019-05-09 18:53:40 -0500 | [diff] [blame] | 6 | @pytest.mark.sl_dup |
| 7 | #CinderServiceDown, CinderServicesDownMinor |
| 8 | @pytest.mark.full |
Hanna Arhipova | e6ed8e4 | 2019-05-15 16:27:08 +0300 | [diff] [blame] | 9 | def 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 Kruglov | bc0a88b | 2019-08-20 11:45:35 +0200 | [diff] [blame] | 17 | assert service_down == '', ( |
| 18 | "Some Cinder services are in wrong state:\n{}".format(service_down)) |
| 19 | |
Hanna Arhipova | e6ed8e4 | 2019-05-15 16:27:08 +0300 | [diff] [blame] | 20 | |
Oleksii Zhurba | 23c1833 | 2019-05-09 18:53:40 -0500 | [diff] [blame] | 21 | @pytest.mark.full |
Hanna Arhipova | e6ed8e4 | 2019-05-15 16:27:08 +0300 | [diff] [blame] | 22 | def 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 Sakharov | b64c5d7 | 2022-02-14 15:40:26 +0400 | [diff] [blame] | 25 | # Check that all backends in cinder:controller:backend pillar are linked with cinder volumes |
Hanna Arhipova | e6ed8e4 | 2019-05-15 16:27:08 +0300 | [diff] [blame] | 26 | """ |
| 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 Chernova | c73bc4e | 2019-11-12 14:56:03 +0300 | [diff] [blame] | 34 | backends_num = len(list(backends_cinder.keys())) |
Valeriy Sakharov | b64c5d7 | 2022-02-14 15:40:26 +0400 | [diff] [blame] | 35 | 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 Kruglov | bc0a88b | 2019-08-20 11:45:35 +0200 | [diff] [blame] | 38 | ) |