Handle sparse image upload configuration parameters
Addng ``rbd_thin_provisioning`` and ``filesystem_thin_provisioning`` to rbd and filesystem backends, to enable or not sparse upload. Depends-On: Ic95fa45af0f1db92d8425862c6267f466764fbbe Change-Id: I90c8ea98a96fa57f5bf3bf0c6b2b37ec95474baf
This commit is contained in:
parent
ce090228c0
commit
71b70a16b3
@ -29,6 +29,10 @@
|
|||||||
# (Optional) Location where dist images are stored when the backend type is file.
|
# (Optional) Location where dist images are stored when the backend type is file.
|
||||||
# Defaults to hiera('glance::backend::file::filesystem_store_datadir', undef).
|
# Defaults to hiera('glance::backend::file::filesystem_store_datadir', undef).
|
||||||
#
|
#
|
||||||
|
# [*filesystem_thin_provisioning*]
|
||||||
|
# (Optional) Boolean describing if thin provisioning is enabled or not
|
||||||
|
# Defaults to hiera('glance::backend::file::filesystem_thin_provisioning', undef).
|
||||||
|
#
|
||||||
# [*store_description*]
|
# [*store_description*]
|
||||||
# (Optional) Provides constructive information about the store backend to
|
# (Optional) Provides constructive information about the store backend to
|
||||||
# end users.
|
# end users.
|
||||||
@ -41,10 +45,11 @@
|
|||||||
#
|
#
|
||||||
class tripleo::profile::base::glance::backend::file (
|
class tripleo::profile::base::glance::backend::file (
|
||||||
$backend_names,
|
$backend_names,
|
||||||
$multistore_config = {},
|
$multistore_config = {},
|
||||||
$filesystem_store_datadir = hiera('glance::backend::file::filesystem_store_datadir', undef),
|
$filesystem_store_datadir = hiera('glance::backend::file::filesystem_store_datadir', undef),
|
||||||
$store_description = hiera('tripleo::profile::base::glance::api::glance_store_description', 'File store'),
|
$filesystem_thin_provisioning = hiera('glance::backend::file::filesystem_thin_provisioning', undef),
|
||||||
$step = Integer(hiera('step')),
|
$store_description = hiera('tripleo::profile::base::glance::api::glance_store_description', 'File store'),
|
||||||
|
$step = Integer(hiera('step')),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
if $backend_names.length() > 1 {
|
if $backend_names.length() > 1 {
|
||||||
@ -58,8 +63,9 @@ class tripleo::profile::base::glance::backend::file (
|
|||||||
$store_description_real = pick($multistore_description, $store_description)
|
$store_description_real = pick($multistore_description, $store_description)
|
||||||
|
|
||||||
glance::backend::multistore::file { $backend_name:
|
glance::backend::multistore::file { $backend_name:
|
||||||
filesystem_store_datadir => $filesystem_store_datadir,
|
filesystem_store_datadir => $filesystem_store_datadir,
|
||||||
store_description => $store_description_real,
|
filesystem_thin_provisioning => $filesystem_thin_provisioning,
|
||||||
|
store_description => $store_description_real,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -41,6 +41,10 @@
|
|||||||
# (Optional) RBD chunk size.
|
# (Optional) RBD chunk size.
|
||||||
# Defaults to hiera('glance::backend::rbd::rbd_store_chunk_size', undef).
|
# Defaults to hiera('glance::backend::rbd::rbd_store_chunk_size', undef).
|
||||||
#
|
#
|
||||||
|
# [*rbd_thin_provisioning*]
|
||||||
|
# (Optional) Boolean describing if thin provisioning is enabled or not
|
||||||
|
# Defaults to hiera('glance::backend::rbd::rbd_thin_provisioning', undef).
|
||||||
|
#
|
||||||
# [*rados_connect_timeout*]
|
# [*rados_connect_timeout*]
|
||||||
# (Optional) RADOS connection timeout.
|
# (Optional) RADOS connection timeout.
|
||||||
# Defaults to hiera('glance::backend::rbd::rados_connect_timeout', undef).
|
# Defaults to hiera('glance::backend::rbd::rados_connect_timeout', undef).
|
||||||
@ -62,6 +66,7 @@ class tripleo::profile::base::glance::backend::rbd (
|
|||||||
$rbd_store_user = hiera('glance::backend::rbd::rbd_store_user', 'openstack'),
|
$rbd_store_user = hiera('glance::backend::rbd::rbd_store_user', 'openstack'),
|
||||||
$rbd_store_pool = hiera('glance::backend::rbd::rbd_store_pool', 'images'),
|
$rbd_store_pool = hiera('glance::backend::rbd::rbd_store_pool', 'images'),
|
||||||
$rbd_store_chunk_size = hiera('glance::backend::rbd::rbd_store_chunk_size', undef),
|
$rbd_store_chunk_size = hiera('glance::backend::rbd::rbd_store_chunk_size', undef),
|
||||||
|
$rbd_thin_provisioning = hiera('glance::backend::rbd::rbd_thin_provisioning', undef),
|
||||||
$rados_connect_timeout = hiera('glance::backend::rbd::rados_connect_timeout', undef),
|
$rados_connect_timeout = hiera('glance::backend::rbd::rados_connect_timeout', undef),
|
||||||
$store_description = hiera('tripleo::profile::base::glance::api::glance_store_description', 'RBD store'),
|
$store_description = hiera('tripleo::profile::base::glance::api::glance_store_description', 'RBD store'),
|
||||||
$step = Integer(hiera('step')),
|
$step = Integer(hiera('step')),
|
||||||
@ -102,6 +107,7 @@ class tripleo::profile::base::glance::backend::rbd (
|
|||||||
rbd_store_user => $rbd_store_user_real,
|
rbd_store_user => $rbd_store_user_real,
|
||||||
rbd_store_pool => $rbd_store_pool_real,
|
rbd_store_pool => $rbd_store_pool_real,
|
||||||
rbd_store_chunk_size => $rbd_store_chunk_size,
|
rbd_store_chunk_size => $rbd_store_chunk_size,
|
||||||
|
rbd_thin_provisioning => $rbd_thin_provisioning,
|
||||||
rados_connect_timeout => $rados_connect_timeout,
|
rados_connect_timeout => $rados_connect_timeout,
|
||||||
store_description => $store_description_real,
|
store_description => $store_description_real,
|
||||||
}
|
}
|
||||||
|
@ -49,6 +49,22 @@ describe 'tripleo::profile::base::glance::backend::file' do
|
|||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'with parameters overridden' do
|
||||||
|
before :each do
|
||||||
|
params.merge!({
|
||||||
|
:filesystem_thin_provisioning => true
|
||||||
|
})
|
||||||
|
|
||||||
|
it 'should configure the backend with the specified parameters' do
|
||||||
|
is_expected.to contain_glance__backend__multistore__file('my_file').with(
|
||||||
|
:filesystem_store_datadir => '/path/to/datadir',
|
||||||
|
:filesystem_thin_provisioning => true,
|
||||||
|
:store_description => 'File store',
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
context 'with store description in multistore_config' do
|
context 'with store description in multistore_config' do
|
||||||
before :each do
|
before :each do
|
||||||
params.merge!({
|
params.merge!({
|
||||||
|
@ -37,8 +37,8 @@ describe 'tripleo::profile::base::glance::backend::rbd' do
|
|||||||
|
|
||||||
context 'with step 4' do
|
context 'with step 4' do
|
||||||
let(:params) { {
|
let(:params) { {
|
||||||
:backend_names => ['my_rbd'],
|
:backend_names => ['my_rbd'],
|
||||||
:step => 4,
|
:step => 4,
|
||||||
} }
|
} }
|
||||||
|
|
||||||
it 'should configure the backend' do
|
it 'should configure the backend' do
|
||||||
@ -56,6 +56,28 @@ describe 'tripleo::profile::base::glance::backend::rbd' do
|
|||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'with parameters overridden' do
|
||||||
|
before :each do
|
||||||
|
params.merge!({
|
||||||
|
:rbd_store_chunk_size => 512,
|
||||||
|
:rbd_thin_provisioning => true,
|
||||||
|
:rados_connect_timeout => 10,
|
||||||
|
})
|
||||||
|
|
||||||
|
it 'should configure the backend with the specified parameters' do
|
||||||
|
is_expected.to contain_glance__backend__multistore__rbd('my_rbd').with(
|
||||||
|
:rbd_store_ceph_conf => '/etc/ceph/ceph.conf',
|
||||||
|
:rbd_store_user => 'openstack',
|
||||||
|
:rbd_store_pool => 'images',
|
||||||
|
:rbd_store_chunk_size => 512,
|
||||||
|
:rbd_thin_provisioning => true,
|
||||||
|
:rados_connect_timeout => 10,
|
||||||
|
:store_description => 'RBD store',
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
context 'with store description in multistore_config' do
|
context 'with store description in multistore_config' do
|
||||||
before :each do
|
before :each do
|
||||||
params.merge!({
|
params.merge!({
|
||||||
|
Loading…
Reference in New Issue
Block a user