
manage_volume_type is a new parameter present in every Cinder backend. When set to True, it will manage the Cinder Volume type for the backend. For backward compatibility, it is set to False by default. Change-Id: I193b8e517f5804a1bce5bf472f2ca6242414354f
106 lines
2.8 KiB
Ruby
106 lines
2.8 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe 'cinder::backend::iscsi' do
|
|
|
|
let(:title) {'hippo'}
|
|
|
|
let :req_params do {
|
|
:iscsi_ip_address => '127.0.0.2',
|
|
:iscsi_helper => 'tgtadm',
|
|
}
|
|
end
|
|
|
|
let :facts do
|
|
OSDefaults.get_facts({:osfamily => 'Debian'})
|
|
end
|
|
|
|
let :params do
|
|
req_params
|
|
end
|
|
|
|
let :iser_params do
|
|
{:iscsi_protocol => 'iser'}
|
|
end
|
|
|
|
let :volumes_dir_params do
|
|
{:volumes_dir => '/etc/cinder/volumes'}
|
|
end
|
|
|
|
describe 'with default params' do
|
|
|
|
it 'should configure iscsi driver' do
|
|
is_expected.to contain_cinder_config('hippo/volume_backend_name').with(
|
|
:value => 'hippo')
|
|
is_expected.to contain_cinder_config('hippo/volume_driver').with(
|
|
:value => 'cinder.volume.drivers.lvm.LVMVolumeDriver')
|
|
is_expected.to contain_cinder_config('hippo/iscsi_ip_address').with(
|
|
:value => '127.0.0.2')
|
|
is_expected.to contain_cinder_config('hippo/iscsi_helper').with(
|
|
:value => 'tgtadm')
|
|
is_expected.to contain_cinder_config('hippo/volume_group').with(
|
|
:value => '<SERVICE DEFAULT>')
|
|
is_expected.to contain_cinder_config('hippo/volumes_dir').with(
|
|
:value => '/var/lib/cinder/volumes')
|
|
is_expected.to contain_cinder_config('hippo/iscsi_protocol').with(
|
|
:value => '<SERVICE DEFAULT>')
|
|
end
|
|
end
|
|
|
|
describe 'with iser protocol' do
|
|
before :each do
|
|
params.merge!(iser_params)
|
|
end
|
|
|
|
it 'should configure iscsi driver with iser protocol' do
|
|
is_expected.to contain_cinder_config('hippo/iscsi_protocol').with(
|
|
:value => 'iser')
|
|
end
|
|
end
|
|
|
|
describe 'with non-default $volumes_dir' do
|
|
before :each do
|
|
params.merge!(volumes_dir_params)
|
|
end
|
|
|
|
it 'should configure iscsi driver with /etc/cinder/volumes as volumes_dir' do
|
|
is_expected.to contain_cinder_config('hippo/volumes_dir').with(
|
|
:value => '/etc/cinder/volumes'
|
|
)
|
|
end
|
|
end
|
|
|
|
describe 'iscsi backend with cinder type' do
|
|
before :each do
|
|
params.merge!({:manage_volume_type => true})
|
|
end
|
|
it 'should create type with properties' do
|
|
should contain_cinder_type('hippo').with(:ensure => :present, :properties => ['volume_backend_name=hippo'])
|
|
end
|
|
end
|
|
|
|
describe 'iscsi backend with additional configuration' do
|
|
before :each do
|
|
params.merge!({:extra_options => {'hippo/param1' => {'value' => 'value1'}}})
|
|
end
|
|
|
|
it 'configure iscsi backend with additional configuration' do
|
|
is_expected.to contain_cinder_config('hippo/param1').with({
|
|
:value => 'value1',
|
|
})
|
|
end
|
|
end
|
|
|
|
describe 'with RedHat' do
|
|
|
|
let :facts do
|
|
OSDefaults.get_facts({:osfamily => 'RedHat'})
|
|
end
|
|
|
|
it { is_expected.to contain_file_line('cinder include').with(
|
|
:line => 'include /var/lib/cinder/volumes/*',
|
|
:path => '/etc/tgt/targets.conf'
|
|
) }
|
|
|
|
end
|
|
end
|