Merge "Waiting state if broker request is incomplete"

This commit is contained in:
Zuul 2020-11-05 10:39:20 +00:00 committed by Gerrit Code Review
commit 5f87ef83e3
2 changed files with 17 additions and 1 deletions

View File

@ -371,6 +371,9 @@ def assess_status():
bluestore_compression.validate()
except ValueError as e:
status_set('blocked', 'Invalid configuration: {}'.format(str(e)))
return
if not is_request_complete(get_ceph_request()):
status_set('waiting', 'Ceph broker request incomplete')
if __name__ == '__main__':

View File

@ -406,11 +406,16 @@ class TestCinderHooks(CharmTestCase):
self.leader_get.assert_called_once_with('secret-uuid')
self.leader_set.assert_called_once_with({'secret-uuid': '42'})
@patch.object(hooks, 'get_ceph_request')
@patch.object(hooks, 'is_request_complete')
@patch.object(hooks, 'CephBlueStoreCompressionContext')
@patch.object(hooks, 'set_os_workload_status')
def test_assess_status(self,
mock_set_os_workload_status,
mock_bluestore_compression):
mock_bluestore_compression,
is_request_complete,
get_ceph_request):
is_request_complete.return_value = True
hooks.assess_status()
self.os_application_version_set.assert_called_once_with(
hooks.VERSION_PACKAGE)
@ -418,7 +423,15 @@ class TestCinderHooks(CharmTestCase):
ANY, hooks.REQUIRED_INTERFACES)
mock_bluestore_compression().validate.assert_called_once_with()
self.assertFalse(self.status_set.called)
# confirm incomplete request is caught
self.status_set.reset_mock()
is_request_complete.return_value = False
hooks.assess_status()
self.status_set.assert_called_once_with(
'waiting', 'Ceph broker request incomplete')
# confirm operation when user have provided invalid configuration
is_request_complete.return_value = True
self.status_set.reset_mock()
mock_bluestore_compression().validate.side_effect = ValueError(
'fake message')
hooks.assess_status()