blob: 16c764f6d424871790b20d33f405dd767e7c5ce8 [file] [log] [blame]
Oleksii Zhurbae592ed12018-06-21 18:01:09 -05001import pytest
2
3
Hanna Arhipova47e42da2019-02-12 11:49:26 +02004@pytest.mark.xfail
Oleksii Zhurbab9bf5452018-03-26 14:27:41 -05005def test_cinder_services(local_salt_client):
Oleksii Zhurbae502d662018-08-07 16:46:14 -05006 cinder_backends_info = local_salt_client.cmd(
Oleksii Zhurbae592ed12018-06-21 18:01:09 -05007 'cinder:controller',
Oleksii Zhurbae502d662018-08-07 16:46:14 -05008 'pillar.get',
9 ['cinder:controller:backend'],
10 expr_form='pillar')
11 if not cinder_backends_info:
Oleksii Zhurba9848e212018-09-05 10:53:51 -050012 pytest.skip("Cinder service or cinder:controller pillar \
13 are not found on this environment.")
Oleksii Zhurbae502d662018-08-07 16:46:14 -050014 service_down = local_salt_client.cmd(
15 'keystone:server',
Oleksii Zhurbab9bf5452018-03-26 14:27:41 -050016 'cmd.run',
Oleksii Zhurba5c56c242018-12-05 16:46:17 -060017 ['. /root/keystonercv3; cinder service-list | grep "down\|disabled"'],
Oleksii Zhurbab9bf5452018-03-26 14:27:41 -050018 expr_form='pillar')
19 cinder_volume = local_salt_client.cmd(
20 'keystone:server',
21 'cmd.run',
Oleksii Zhurba5c56c242018-12-05 16:46:17 -060022 ['. /root/keystonercv3; cinder service-list | grep -c "volume"'],
Oleksii Zhurbab9bf5452018-03-26 14:27:41 -050023 expr_form='pillar')
Oleksii Zhurbae502d662018-08-07 16:46:14 -050024 backends_cinder = cinder_backends_info[cinder_backends_info.keys()[0]]
25 backends_num = len(backends_cinder.keys())
Oleksii Zhurbab9bf5452018-03-26 14:27:41 -050026 assert service_down[service_down.keys()[0]] == '', \
27 '''Some cinder services are in wrong state'''
Oleksii Zhurbae502d662018-08-07 16:46:14 -050028 assert cinder_volume[cinder_volume.keys()[0]] == str(backends_num), \
29 'Number of cinder-volume services ({0}) does not match ' \
30 'number of volume backends ({1})'.format(
31 cinder_volume[cinder_volume.keys()[0]], str(backends_num))