Oleksii Zhurba | e592ed1 | 2018-06-21 18:01:09 -0500 | [diff] [blame] | 1 | import pytest |
| 2 | |
| 3 | |
Oleksii Zhurba | b9bf545 | 2018-03-26 14:27:41 -0500 | [diff] [blame] | 4 | def test_cinder_services(local_salt_client): |
Hanna Arhipova | 835b0cb | 2019-04-10 17:10:20 +0300 | [diff] [blame] | 5 | """ |
| 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 Zhurba | 4bfd2ee | 2019-04-10 21:56:58 -0500 | [diff] [blame] | 10 | backends_cinder = local_salt_client.test_ping(tgt='cinder:controller:backend') |
| 11 | if not backends_cinder or not any(backends_cinder.values()): |
Hanna Arhipova | 835b0cb | 2019-04-10 17:10:20 +0300 | [diff] [blame] | 12 | pytest.skip("Cinder service or cinder:controller:backend pillar \ |
Oleksii Zhurba | 9848e21 | 2018-09-05 10:53:51 -0500 | [diff] [blame] | 13 | are not found on this environment.") |
Oleksii Zhurba | 4bfd2ee | 2019-04-10 21:56:58 -0500 | [diff] [blame] | 14 | 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 Zhurba | e502d66 | 2018-08-07 16:46:14 -0500 | [diff] [blame] | 20 | backends_num = len(backends_cinder.keys()) |
Oleksii Zhurba | 4bfd2ee | 2019-04-10 21:56:58 -0500 | [diff] [blame] | 21 | assert service_down == '', \ |
Oleksii Zhurba | b9bf545 | 2018-03-26 14:27:41 -0500 | [diff] [blame] | 22 | '''Some cinder services are in wrong state''' |
Oleksii Zhurba | 4bfd2ee | 2019-04-10 21:56:58 -0500 | [diff] [blame] | 23 | assert cinder_volume == str(backends_num), \ |
Oleksii Zhurba | e502d66 | 2018-08-07 16:46:14 -0500 | [diff] [blame] | 24 | 'Number of cinder-volume services ({0}) does not match ' \ |
| 25 | 'number of volume backends ({1})'.format( |
Oleksii Zhurba | 4bfd2ee | 2019-04-10 21:56:58 -0500 | [diff] [blame] | 26 | cinder_volume, str(backends_num)) |