diff --git a/hooks/cinder_contexts.py b/hooks/cinder_contexts.py index 5893a37d..d0e60802 100644 --- a/hooks/cinder_contexts.py +++ b/hooks/cinder_contexts.py @@ -137,12 +137,12 @@ class StorageBackendContext(OSContextGenerator): backends.append('CEPH') if enable_lvm(): backends.append('LVM') - if len(backends) > 0: - return { - 'active_backends': backends, - 'backends': ",".join(backends)} - else: - return {} + # Use the package default backend to stop the service flapping. + if not backends: + backends = ['LVM'] + return { + 'active_backends': backends, + 'backends': ",".join(backends)} class LoggingConfigContext(OSContextGenerator): diff --git a/unit_tests/test_cinder_contexts.py b/unit_tests/test_cinder_contexts.py index f56d07ca..6880fc1e 100644 --- a/unit_tests/test_cinder_contexts.py +++ b/unit_tests/test_cinder_contexts.py @@ -113,7 +113,9 @@ class TestCinderContext(CharmTestCase): self.config.return_value = None self.relation_ids.return_value = [] self.os_release.return_value = 'havana' - self.assertEqual(contexts.StorageBackendContext()(), {}) + self.assertEqual( + contexts.StorageBackendContext()(), + {'active_backends': ['LVM'], 'backends': 'LVM'}) def test_storage_backend_single_backend(self): rel_dict = {