rbd: Support rbd_concurrent_flatten_operations option
... which was added during this cycle. Depends-on: https://review.opendev.org/c/openstack/cinder/+/835384 Change-Id: I93b6b81aa5e96ba1ffc98837ae6b6e72ca5e8970
This commit is contained in:
parent
bfa6540457
commit
03f100c350
@ -91,6 +91,11 @@
|
|||||||
# volumes tagged for deletion.
|
# volumes tagged for deletion.
|
||||||
# Defaults to $facts['os_service_default']
|
# Defaults to $facts['os_service_default']
|
||||||
#
|
#
|
||||||
|
# [*rbd_concurrent_flatten_operations*]
|
||||||
|
# (optional) Number of flatten operations that will run concurrently on
|
||||||
|
# this volume service.
|
||||||
|
# Defaults to $facts['os_service_default']
|
||||||
|
#
|
||||||
# [*manage_volume_type*]
|
# [*manage_volume_type*]
|
||||||
# (Optional) Whether or not manage Cinder Volume type.
|
# (Optional) Whether or not manage Cinder Volume type.
|
||||||
# If set to true, a Cinder Volume type will be created
|
# If set to true, a Cinder Volume type will be created
|
||||||
@ -106,25 +111,26 @@
|
|||||||
define cinder::backend::rbd (
|
define cinder::backend::rbd (
|
||||||
$rbd_pool,
|
$rbd_pool,
|
||||||
$rbd_user,
|
$rbd_user,
|
||||||
$backend_host = undef,
|
$backend_host = undef,
|
||||||
$volume_backend_name = $name,
|
$volume_backend_name = $name,
|
||||||
$backend_availability_zone = $facts['os_service_default'],
|
$backend_availability_zone = $facts['os_service_default'],
|
||||||
$reserved_percentage = $facts['os_service_default'],
|
$reserved_percentage = $facts['os_service_default'],
|
||||||
$rbd_ceph_conf = '/etc/ceph/ceph.conf',
|
$rbd_ceph_conf = '/etc/ceph/ceph.conf',
|
||||||
$rbd_flatten_volume_from_snapshot = $facts['os_service_default'],
|
$rbd_flatten_volume_from_snapshot = $facts['os_service_default'],
|
||||||
$rbd_secret_uuid = $facts['os_service_default'],
|
$rbd_secret_uuid = $facts['os_service_default'],
|
||||||
$rbd_max_clone_depth = $facts['os_service_default'],
|
$rbd_max_clone_depth = $facts['os_service_default'],
|
||||||
$rados_connect_timeout = $facts['os_service_default'],
|
$rados_connect_timeout = $facts['os_service_default'],
|
||||||
$rados_connection_interval = $facts['os_service_default'],
|
$rados_connection_interval = $facts['os_service_default'],
|
||||||
$rados_connection_retries = $facts['os_service_default'],
|
$rados_connection_retries = $facts['os_service_default'],
|
||||||
$rbd_store_chunk_size = $facts['os_service_default'],
|
$rbd_store_chunk_size = $facts['os_service_default'],
|
||||||
$report_dynamic_total_capacity = $facts['os_service_default'],
|
$report_dynamic_total_capacity = $facts['os_service_default'],
|
||||||
$rbd_exclusive_cinder_pool = $facts['os_service_default'],
|
$rbd_exclusive_cinder_pool = $facts['os_service_default'],
|
||||||
$enable_deferred_deletion = $facts['os_service_default'],
|
$enable_deferred_deletion = $facts['os_service_default'],
|
||||||
$deferred_deletion_delay = $facts['os_service_default'],
|
$deferred_deletion_delay = $facts['os_service_default'],
|
||||||
$deferred_deletion_purge_interval = $facts['os_service_default'],
|
$deferred_deletion_purge_interval = $facts['os_service_default'],
|
||||||
Boolean $manage_volume_type = false,
|
$rbd_concurrent_flatten_operations = $facts['os_service_default'],
|
||||||
Hash $extra_options = {},
|
Boolean $manage_volume_type = false,
|
||||||
|
Hash $extra_options = {},
|
||||||
) {
|
) {
|
||||||
|
|
||||||
include cinder::deps
|
include cinder::deps
|
||||||
@ -139,27 +145,28 @@ define cinder::backend::rbd (
|
|||||||
}
|
}
|
||||||
|
|
||||||
cinder_config {
|
cinder_config {
|
||||||
"${name}/volume_backend_name": value => $volume_backend_name;
|
"${name}/volume_backend_name": value => $volume_backend_name;
|
||||||
"${name}/backend_availability_zone": value => $backend_availability_zone;
|
"${name}/backend_availability_zone": value => $backend_availability_zone;
|
||||||
"${name}/reserved_percentage": value => $reserved_percentage;
|
"${name}/reserved_percentage": value => $reserved_percentage;
|
||||||
"${name}/volume_driver": value => 'cinder.volume.drivers.rbd.RBDDriver';
|
"${name}/volume_driver": value => 'cinder.volume.drivers.rbd.RBDDriver';
|
||||||
"${name}/rbd_ceph_conf": value => $rbd_ceph_conf;
|
"${name}/rbd_ceph_conf": value => $rbd_ceph_conf;
|
||||||
"${name}/rbd_user": value => $rbd_user;
|
"${name}/rbd_user": value => $rbd_user;
|
||||||
"${name}/rbd_pool": value => $rbd_pool;
|
"${name}/rbd_pool": value => $rbd_pool;
|
||||||
"${name}/rbd_max_clone_depth": value => $rbd_max_clone_depth;
|
"${name}/rbd_max_clone_depth": value => $rbd_max_clone_depth;
|
||||||
"${name}/rbd_flatten_volume_from_snapshot": value => $rbd_flatten_volume_from_snapshot;
|
"${name}/rbd_flatten_volume_from_snapshot": value => $rbd_flatten_volume_from_snapshot;
|
||||||
"${name}/rbd_secret_uuid": value => $rbd_secret_uuid;
|
"${name}/rbd_secret_uuid": value => $rbd_secret_uuid;
|
||||||
"${name}/rados_connect_timeout": value => $rados_connect_timeout;
|
"${name}/rados_connect_timeout": value => $rados_connect_timeout;
|
||||||
"${name}/rados_connection_interval": value => $rados_connection_interval;
|
"${name}/rados_connection_interval": value => $rados_connection_interval;
|
||||||
"${name}/rados_connection_retries": value => $rados_connection_retries;
|
"${name}/rados_connection_retries": value => $rados_connection_retries;
|
||||||
"${name}/rbd_store_chunk_size": value => $rbd_store_chunk_size;
|
"${name}/rbd_store_chunk_size": value => $rbd_store_chunk_size;
|
||||||
"${name}/rbd_cluster_name": value => $rbd_cluster_name_real;
|
"${name}/rbd_cluster_name": value => $rbd_cluster_name_real;
|
||||||
"${name}/report_dynamic_total_capacity": value => $report_dynamic_total_capacity;
|
"${name}/report_dynamic_total_capacity": value => $report_dynamic_total_capacity;
|
||||||
"${name}/rbd_exclusive_cinder_pool": value => $rbd_exclusive_cinder_pool;
|
"${name}/rbd_exclusive_cinder_pool": value => $rbd_exclusive_cinder_pool;
|
||||||
"${name}/enable_deferred_deletion": value => $enable_deferred_deletion;
|
"${name}/enable_deferred_deletion": value => $enable_deferred_deletion;
|
||||||
"${name}/deferred_deletion_delay": value => $deferred_deletion_delay;
|
"${name}/deferred_deletion_delay": value => $deferred_deletion_delay;
|
||||||
"${name}/deferred_deletion_purge_interval": value => $deferred_deletion_purge_interval;
|
"${name}/deferred_deletion_purge_interval": value => $deferred_deletion_purge_interval;
|
||||||
"${name}/report_discard_supported": value => true;
|
"${name}/rbd_concurrent_flatten_operations": value => $rbd_concurrent_flatten_operations;
|
||||||
|
"${name}/report_discard_supported": value => true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if $manage_volume_type {
|
if $manage_volume_type {
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
The new ``cinder::backends::rbd::rbd_concurrent_flatten_operations`` option
|
||||||
|
has been added.
|
@ -41,28 +41,30 @@ describe 'cinder::backend::rbd' do
|
|||||||
is_expected.to contain_cinder_config("#{req_params[:volume_backend_name]}/enable_deferred_deletion").with_value('<SERVICE DEFAULT>')
|
is_expected.to contain_cinder_config("#{req_params[:volume_backend_name]}/enable_deferred_deletion").with_value('<SERVICE DEFAULT>')
|
||||||
is_expected.to contain_cinder_config("#{req_params[:volume_backend_name]}/deferred_deletion_delay").with_value('<SERVICE DEFAULT>')
|
is_expected.to contain_cinder_config("#{req_params[:volume_backend_name]}/deferred_deletion_delay").with_value('<SERVICE DEFAULT>')
|
||||||
is_expected.to contain_cinder_config("#{req_params[:volume_backend_name]}/deferred_deletion_purge_interval").with_value('<SERVICE DEFAULT>')
|
is_expected.to contain_cinder_config("#{req_params[:volume_backend_name]}/deferred_deletion_purge_interval").with_value('<SERVICE DEFAULT>')
|
||||||
|
is_expected.to contain_cinder_config("#{req_params[:volume_backend_name]}/rbd_concurrent_flatten_operations").with_value('<SERVICE DEFAULT>')
|
||||||
is_expected.to contain_cinder_config("#{req_params[:volume_backend_name]}/report_discard_supported").with_value(true)
|
is_expected.to contain_cinder_config("#{req_params[:volume_backend_name]}/report_discard_supported").with_value(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
context 'with parameters' do
|
context 'with parameters' do
|
||||||
let :params do
|
let :params do
|
||||||
req_params.merge!({
|
req_params.merge!({
|
||||||
:backend_host => 'test_host.fqdn.com',
|
:backend_host => 'test_host.fqdn.com',
|
||||||
:backend_availability_zone => 'my_zone',
|
:backend_availability_zone => 'my_zone',
|
||||||
:reserved_percentage => 10,
|
:reserved_percentage => 10,
|
||||||
:rbd_ceph_conf => '/opt/ceph.conf',
|
:rbd_ceph_conf => '/opt/ceph.conf',
|
||||||
:rbd_flatten_volume_from_snapshot => true,
|
:rbd_flatten_volume_from_snapshot => true,
|
||||||
:rbd_secret_uuid => 'b129523a-61a5-4653-86d1-2b055f970801',
|
:rbd_secret_uuid => 'b129523a-61a5-4653-86d1-2b055f970801',
|
||||||
:rbd_max_clone_depth => 5,
|
:rbd_max_clone_depth => 5,
|
||||||
:rados_connect_timeout => 10,
|
:rados_connect_timeout => 10,
|
||||||
:rados_connection_interval => 5,
|
:rados_connection_interval => 5,
|
||||||
:rados_connection_retries => 3,
|
:rados_connection_retries => 3,
|
||||||
:rbd_store_chunk_size => 4,
|
:rbd_store_chunk_size => 4,
|
||||||
:report_dynamic_total_capacity => true,
|
:report_dynamic_total_capacity => true,
|
||||||
:rbd_exclusive_cinder_pool => false,
|
:rbd_exclusive_cinder_pool => false,
|
||||||
:enable_deferred_deletion => false,
|
:enable_deferred_deletion => false,
|
||||||
:deferred_deletion_delay => 0,
|
:deferred_deletion_delay => 0,
|
||||||
:deferred_deletion_purge_interval => 60,
|
:deferred_deletion_purge_interval => 60,
|
||||||
|
:rbd_concurrent_flatten_operations => 3,
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -88,6 +90,7 @@ describe 'cinder::backend::rbd' do
|
|||||||
is_expected.to contain_cinder_config("#{req_params[:volume_backend_name]}/enable_deferred_deletion").with_value(params[:enable_deferred_deletion])
|
is_expected.to contain_cinder_config("#{req_params[:volume_backend_name]}/enable_deferred_deletion").with_value(params[:enable_deferred_deletion])
|
||||||
is_expected.to contain_cinder_config("#{req_params[:volume_backend_name]}/deferred_deletion_delay").with_value(params[:deferred_deletion_delay])
|
is_expected.to contain_cinder_config("#{req_params[:volume_backend_name]}/deferred_deletion_delay").with_value(params[:deferred_deletion_delay])
|
||||||
is_expected.to contain_cinder_config("#{req_params[:volume_backend_name]}/deferred_deletion_purge_interval").with_value(params[:deferred_deletion_purge_interval])
|
is_expected.to contain_cinder_config("#{req_params[:volume_backend_name]}/deferred_deletion_purge_interval").with_value(params[:deferred_deletion_purge_interval])
|
||||||
|
is_expected.to contain_cinder_config("#{req_params[:volume_backend_name]}/rbd_concurrent_flatten_operations").with_value(params[:rbd_concurrent_flatten_operations])
|
||||||
is_expected.to contain_cinder_config("#{req_params[:volume_backend_name]}/report_discard_supported").with_value(true)
|
is_expected.to contain_cinder_config("#{req_params[:volume_backend_name]}/report_discard_supported").with_value(true)
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user