Add 'rbd-mirroring-mode' to replicated 'create-pool' broker req op
The new config option is applied only to the broker request to create the charm replicated pool. Co-authored-by: Marius Oprin <moprin@cloudbasesolutions.com> Change-Id: I6bf9544af02d0622b8f714da97b5dbcf49d1d1af
This commit is contained in:
parent
5d49a71fab
commit
026233bd7c
|
@ -53,6 +53,13 @@ options:
|
||||||
description: |
|
description: |
|
||||||
Flatten volumes created from snapshots to remove dependency from
|
Flatten volumes created from snapshots to remove dependency from
|
||||||
volume to snapshot. Supported on Queens+
|
volume to snapshot. Supported on Queens+
|
||||||
|
rbd-mirroring-mode:
|
||||||
|
type: string
|
||||||
|
default: pool
|
||||||
|
description: |
|
||||||
|
The RBD mirroring mode used for the Ceph pool. This option is only used
|
||||||
|
with 'replicated' pool type, as it's not supported for 'erasure-coded'
|
||||||
|
pool type - valid values: 'pool' and 'image'
|
||||||
pool-type:
|
pool-type:
|
||||||
type: string
|
type: string
|
||||||
default: replicated
|
default: replicated
|
||||||
|
|
|
@ -193,6 +193,7 @@ def get_ceph_request():
|
||||||
'weight': weight,
|
'weight': weight,
|
||||||
'group': 'volumes',
|
'group': 'volumes',
|
||||||
'app_name': 'rbd',
|
'app_name': 'rbd',
|
||||||
|
'rbd_mirroring_mode': config('rbd-mirroring-mode')
|
||||||
}
|
}
|
||||||
kwargs.update(bluestore_compression.get_kwargs())
|
kwargs.update(bluestore_compression.get_kwargs())
|
||||||
rq.add_op_create_replicated_pool(**kwargs)
|
rq.add_op_create_replicated_pool(**kwargs)
|
||||||
|
|
|
@ -141,14 +141,16 @@ class TestCinderHooks(CharmTestCase):
|
||||||
hooks.get_ceph_request()
|
hooks.get_ceph_request()
|
||||||
mock_create_pool.assert_called_with(name='cinder', replica_count=4,
|
mock_create_pool.assert_called_with(name='cinder', replica_count=4,
|
||||||
weight=20, group='volumes',
|
weight=20, group='volumes',
|
||||||
app_name='rbd')
|
app_name='rbd',
|
||||||
|
rbd_mirroring_mode='pool')
|
||||||
mock_request_access.assert_not_called()
|
mock_request_access.assert_not_called()
|
||||||
|
|
||||||
self.test_config.set('restrict-ceph-pools', True)
|
self.test_config.set('restrict-ceph-pools', True)
|
||||||
hooks.get_ceph_request()
|
hooks.get_ceph_request()
|
||||||
mock_create_pool.assert_called_with(name='cinder', replica_count=4,
|
mock_create_pool.assert_called_with(name='cinder', replica_count=4,
|
||||||
weight=20, group='volumes',
|
weight=20, group='volumes',
|
||||||
app_name='rbd')
|
app_name='rbd',
|
||||||
|
rbd_mirroring_mode='pool')
|
||||||
mock_request_access.assert_has_calls([
|
mock_request_access.assert_has_calls([
|
||||||
call(
|
call(
|
||||||
name='volumes',
|
name='volumes',
|
||||||
|
@ -181,7 +183,8 @@ class TestCinderHooks(CharmTestCase):
|
||||||
replica_count=4,
|
replica_count=4,
|
||||||
weight=20,
|
weight=20,
|
||||||
group='volumes',
|
group='volumes',
|
||||||
app_name='rbd')
|
app_name='rbd',
|
||||||
|
rbd_mirroring_mode='pool')
|
||||||
# confirm operation with bluestore compression
|
# confirm operation with bluestore compression
|
||||||
mock_create_pool.reset_mock()
|
mock_create_pool.reset_mock()
|
||||||
mock_bluestore_compression().get_kwargs.return_value = {
|
mock_bluestore_compression().get_kwargs.return_value = {
|
||||||
|
@ -193,6 +196,7 @@ class TestCinderHooks(CharmTestCase):
|
||||||
weight=20,
|
weight=20,
|
||||||
group='volumes',
|
group='volumes',
|
||||||
app_name='rbd',
|
app_name='rbd',
|
||||||
|
rbd_mirroring_mode='pool',
|
||||||
compression_mode='fake')
|
compression_mode='fake')
|
||||||
|
|
||||||
@patch.object(hooks, 'CephBlueStoreCompressionContext')
|
@patch.object(hooks, 'CephBlueStoreCompressionContext')
|
||||||
|
|
Loading…
Reference in New Issue