Merge "Waiting state if broker request is incomplete"
This commit is contained in:
commit
5f87ef83e3
|
@ -371,6 +371,9 @@ def assess_status():
|
||||||
bluestore_compression.validate()
|
bluestore_compression.validate()
|
||||||
except ValueError as e:
|
except ValueError as e:
|
||||||
status_set('blocked', 'Invalid configuration: {}'.format(str(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__':
|
if __name__ == '__main__':
|
||||||
|
|
|
@ -406,11 +406,16 @@ class TestCinderHooks(CharmTestCase):
|
||||||
self.leader_get.assert_called_once_with('secret-uuid')
|
self.leader_get.assert_called_once_with('secret-uuid')
|
||||||
self.leader_set.assert_called_once_with({'secret-uuid': '42'})
|
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, 'CephBlueStoreCompressionContext')
|
||||||
@patch.object(hooks, 'set_os_workload_status')
|
@patch.object(hooks, 'set_os_workload_status')
|
||||||
def test_assess_status(self,
|
def test_assess_status(self,
|
||||||
mock_set_os_workload_status,
|
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()
|
hooks.assess_status()
|
||||||
self.os_application_version_set.assert_called_once_with(
|
self.os_application_version_set.assert_called_once_with(
|
||||||
hooks.VERSION_PACKAGE)
|
hooks.VERSION_PACKAGE)
|
||||||
|
@ -418,7 +423,15 @@ class TestCinderHooks(CharmTestCase):
|
||||||
ANY, hooks.REQUIRED_INTERFACES)
|
ANY, hooks.REQUIRED_INTERFACES)
|
||||||
mock_bluestore_compression().validate.assert_called_once_with()
|
mock_bluestore_compression().validate.assert_called_once_with()
|
||||||
self.assertFalse(self.status_set.called)
|
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
|
# 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(
|
mock_bluestore_compression().validate.side_effect = ValueError(
|
||||||
'fake message')
|
'fake message')
|
||||||
hooks.assess_status()
|
hooks.assess_status()
|
||||||
|
|
Loading…
Reference in New Issue