Merge pull request #395 from enovance/feature/394/emilien
volume/api: specify a default backend
This commit is contained in:
commit
6fd90bd088
@ -2,7 +2,7 @@ fixtures:
|
||||
repositories:
|
||||
'cinder':
|
||||
repo: 'git://github.com/enovance/puppet-cinder'
|
||||
ref: '3a0f09995625b1c2f6ec446cc2a2571348a7af0b'
|
||||
ref: 'd92b38a8c7bb484e935ed21510843ef6be8e31d3'
|
||||
'keystone':
|
||||
repo: 'git://github.com/enovance/puppet-keystone.git'
|
||||
ref: '9802add6566646dc1e4a2812d19c2ab4724ff594'
|
||||
|
@ -22,7 +22,7 @@ mod 'ceilometer',
|
||||
:ref => 'f71f935a3e41dcd11f8f5986a1fe0708b124e589'
|
||||
mod 'cinder',
|
||||
:git => 'git://github.com/enovance/puppet-cinder.git',
|
||||
:ref => '3a0f09995625b1c2f6ec446cc2a2571348a7af0b'
|
||||
:ref => 'd92b38a8c7bb484e935ed21510843ef6be8e31d3'
|
||||
mod 'glance',
|
||||
:git => 'git://github.com/enovance/puppet-glance.git',
|
||||
:ref => '001f1b6a8ef6bd0fde8fbe0a4b3362f31e6bbcda'
|
||||
|
@ -25,6 +25,7 @@ class cloud::volume::controller(
|
||||
$api_eth = $os_params::api_eth,
|
||||
# Maintain backward compatibility for multi-backend
|
||||
$volume_multi_backend = false,
|
||||
$default_volume_type = undef,
|
||||
# TODO(EmilienM) Disabled for now: http://git.io/kfTmcA
|
||||
# $backup_ceph_pool = $os_params::cinder_rbd_backup_pool,
|
||||
# $backup_ceph_user = $os_params::cinder_rbd_backup_user
|
||||
@ -34,8 +35,15 @@ class cloud::volume::controller(
|
||||
|
||||
if ! $volume_multi_backend {
|
||||
$scheduler_driver_real = false
|
||||
$default_volume_type_real = undef
|
||||
} else {
|
||||
$scheduler_driver_real = 'cinder.scheduler.filter_scheduler.FilterScheduler'
|
||||
|
||||
if ! $default_volume_type {
|
||||
fail('when using multi-backend, you should define a default_volume_type value in cloud::volume::controller')
|
||||
} else {
|
||||
$default_volume_type_real = $default_volume_type
|
||||
}
|
||||
}
|
||||
|
||||
class { 'cinder::scheduler':
|
||||
@ -45,7 +53,8 @@ class cloud::volume::controller(
|
||||
class { 'cinder::api':
|
||||
keystone_password => $ks_cinder_password,
|
||||
keystone_auth_host => $ks_keystone_internal_host,
|
||||
bind_host => $api_eth
|
||||
bind_host => $api_eth,
|
||||
default_volume_type => $default_volume_type_real
|
||||
}
|
||||
|
||||
class { 'cinder::backup': }
|
||||
|
@ -80,12 +80,28 @@ describe 'cloud::volume::controller' do
|
||||
|
||||
context 'with multi-backend' do
|
||||
before :each do
|
||||
params.merge!( :volume_multi_backend => true )
|
||||
params.merge!(
|
||||
:volume_multi_backend => true,
|
||||
:default_volume_type => 'ceph'
|
||||
)
|
||||
end
|
||||
it 'configure cinder scheduler with multi-backend' do
|
||||
should contain_class('cinder::scheduler').with(
|
||||
:scheduler_driver => 'cinder.scheduler.filter_scheduler.FilterScheduler'
|
||||
)
|
||||
should contain_class('cinder::api').with(:default_volume_type => 'ceph')
|
||||
end
|
||||
end
|
||||
|
||||
context 'with multi-backend without default volume type' do
|
||||
before :each do
|
||||
params.merge!(
|
||||
:volume_multi_backend => true,
|
||||
:default_volume_type => nil
|
||||
)
|
||||
end
|
||||
it 'should raise an error and fail' do
|
||||
should compile.and_raise_error(/when using multi-backend, you should define a default_volume_type value in cloud::volume::controller/)
|
||||
end
|
||||
end
|
||||
|
||||
@ -100,8 +116,9 @@ describe 'cloud::volume::controller' do
|
||||
should contain_class('cinder::api').with(
|
||||
:keystone_password => 'secrete',
|
||||
:keystone_auth_host => '10.0.0.1',
|
||||
:bind_host => '10.0.0.1'
|
||||
:bind_host => '10.0.0.1',
|
||||
)
|
||||
should contain_cinder_config('DEFAULT/default_volume_type').with(:ensure => 'absent')
|
||||
end
|
||||
|
||||
# TODO(EmilienM) Disabled for now: http://git.io/kfTmcA
|
||||
|
Loading…
x
Reference in New Issue
Block a user