ensure cinder volume_group sets the created volume

The openstack::cinder::storage class previously accepted
a parameter called volume_group which was used to set
the name of the volume group that cinder should use to
create managed volumes.

The same class also takes an argument called setup_test_volume
that indicates if a test_volume should be created. The problem
was that this test volume name was not being set as
$volume_group, meaning that they would not match up if the user
supplied a custom volume name.

This patch resolves that issue, ensuring that volume groups
are created with the correct name.

Change-Id: Icbd43ec35b2cc008e5fa84e717fd5804fbe280d0
This commit is contained in:
Dan Bode
2013-05-31 14:02:51 -07:00
parent 8be286c6e6
commit 986a928f6c
2 changed files with 22 additions and 15 deletions

View File

@@ -42,7 +42,9 @@ class openstack::cinder::storage(
volume_group => $volume_group, volume_group => $volume_group,
} }
if $setup_test_volume { if $setup_test_volume {
class {'::cinder::setup_test_volume':} class {'::cinder::setup_test_volume':
volume_name => $volume_group,
}
} }
} else { } else {
warning("Unsupported volume driver: ${volume_driver}, make sure you are configuring this yourself") warning("Unsupported volume driver: ${volume_driver}, make sure you are configuring this yourself")

View File

@@ -2,27 +2,22 @@ require 'spec_helper'
describe 'openstack::cinder::storage' do describe 'openstack::cinder::storage' do
let :params do
let :required_params do
{ {
:sql_connection => 'mysql://a:b:c:d', :sql_connection => 'mysql://a:b:c:d',
:rabbit_password => 'rabpass' :rabbit_password => 'rabpass'
} }
end end
let :params do
required_params
end
let :facts do let :facts do
{ :osfamily => 'Redhat' } { :osfamily => 'Redhat' }
end end
it 'should configure cinder and cinder::volume using defaults and required parameters' do it 'should configure cinder and cinder::volume using defaults and required parameters' do
should contain_class('cinder').with( should contain_class('cinder').with(
:sql_connection => required_params[:sql_connection], :sql_connection => params[:sql_connection],
:rabbit_userid => 'guest', :rabbit_userid => 'guest',
:rabbit_password => required_params[:rabbit_password], :rabbit_password => params[:rabbit_password],
:rabbit_host => '127.0.0.1', :rabbit_host => '127.0.0.1',
:rabbit_port => '5672', :rabbit_port => '5672',
:rabbit_hosts => nil, :rabbit_hosts => nil,
@@ -43,8 +38,8 @@ describe 'openstack::cinder::storage' do
end end
describe 'with a volume driver other than iscsi' do describe 'with a volume driver other than iscsi' do
let :params do before do
required_params.merge( params.merge!(
:volume_driver => 'netapp' :volume_driver => 'netapp'
) )
end end
@@ -52,12 +47,22 @@ describe 'openstack::cinder::storage' do
end end
describe 'when setting up test volumes for iscsi' do describe 'when setting up test volumes for iscsi' do
let :params do before do
required_params.merge( params.merge!(
:setup_test_volume => 'setup_test_volume' :setup_test_volume => true
) )
end end
it { should contain_class('cinder::setup_test_volume') } it { should contain_class('cinder::setup_test_volume').with(
:volume_name => 'cinder-volumes'
)}
describe 'when volume_group is set' do
before do
params.merge!(:volume_group => 'foo')
end
it { should contain_class('cinder::setup_test_volume').with(
:volume_name => 'foo'
)}
end
end end
end end