Merge "Add support for Dell EMC VMAX ISCSI backend"
This commit is contained in:
commit
7d9ce62247
58
manifests/backend/dellemc_vmax_iscsi.pp
Normal file
58
manifests/backend/dellemc_vmax_iscsi.pp
Normal file
@ -0,0 +1,58 @@
|
||||
#
|
||||
# == Define: cinder::backend::dellemc_vmax_iscsi
|
||||
#
|
||||
# Setup Cinder to use the Dell EMC VMAX ISCSI Driver
|
||||
# Compatible for multiple backends
|
||||
#
|
||||
# == Parameters
|
||||
#
|
||||
# [*volume_backend_name*]
|
||||
# (optional) Allows for the volume_backend_name to be separate of $name.
|
||||
# Defaults to: $name
|
||||
#
|
||||
# [*cinder_emc_config_file*]
|
||||
# (required) File path of Dell EMC VMAX ISCSI specific configuration file.
|
||||
#
|
||||
# [*volume_driver*]
|
||||
# (optional) The Dell EMC VMAX ISCSI Driver
|
||||
# Defaults to cinder.volume.drivers.emc.emc_vmax_fc.EMCVMAXISCSIDriver
|
||||
#
|
||||
# [*manage_volume_type*]
|
||||
# (Optional) Whether or not manage Cinder Volume type.
|
||||
# If set to true, a Cinde Volume type will be created
|
||||
# with volume_backend_name=$volume_backend_name key/value.
|
||||
# Defaults to false.
|
||||
#
|
||||
# [*extra_options*]
|
||||
# (optional) Hash of extra options to pass to the backend stanza
|
||||
# Defaults to: {}
|
||||
# Example :
|
||||
# { 'dellemc_vmax_iscsi_backend/param1' => { 'value' => value1 } }#
|
||||
#
|
||||
define cinder::backend::dellemc_vmax_iscsi (
|
||||
$cinder_emc_config_file,
|
||||
$volume_backend_name = $name,
|
||||
$extra_options = {},
|
||||
$volume_driver = 'cinder.volume.drivers.emc.emc_vmax_iscsi.EMCVMAXISCSIDriver',
|
||||
$manage_volume_type = false,
|
||||
) {
|
||||
|
||||
include ::cinder::deps
|
||||
|
||||
|
||||
cinder_config {
|
||||
"${name}/volume_backend_name": value => $volume_backend_name;
|
||||
"${name}/volume_driver": value => $volume_driver;
|
||||
"${name}/cinder_emc_config_file": value => $cinder_emc_config_file;
|
||||
}
|
||||
|
||||
if $manage_volume_type {
|
||||
cinder_type { $volume_backend_name:
|
||||
ensure => present,
|
||||
properties => ["volume_backend_name=${volume_backend_name}"],
|
||||
}
|
||||
}
|
||||
|
||||
create_resources('cinder_config', $extra_options)
|
||||
|
||||
}
|
3
releasenotes/notes/vmax-driver-d428e372280c44e5.yaml
Normal file
3
releasenotes/notes/vmax-driver-d428e372280c44e5.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
---
|
||||
features:
|
||||
- Add Dell EMC VMAX backend driver support
|
53
spec/defines/cinder_backend_dellemc_vmax_spec.rb
Normal file
53
spec/defines/cinder_backend_dellemc_vmax_spec.rb
Normal file
@ -0,0 +1,53 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe 'cinder::backend::dellemc_vmax_iscsi' do
|
||||
let (:title) { 'dellemc_vmax_iscsi' }
|
||||
|
||||
let :req_params do
|
||||
{
|
||||
:cinder_emc_config_file => '/etc/cinder/cinder_emc_config_CONF_GROUP_ISCSI.xml',
|
||||
:volume_backend_name => 'dellemc_vmax_iscsi',
|
||||
}
|
||||
end
|
||||
|
||||
let :params do
|
||||
req_params
|
||||
end
|
||||
|
||||
describe 'dell emc vmax iscsi volume driver' do
|
||||
it 'configure dell emc vmax iscsi volume driver' do
|
||||
is_expected.to contain_cinder_config('dellemc_vmax_iscsi/volume_driver').with_value('cinder.volume.drivers.emc.emc_vmax_iscsi.EMCVMAXISCSIDriver')
|
||||
is_expected.to contain_cinder_config('dellemc_vmax_iscsi/cinder_emc_config_file').with_value('/etc/cinder/cinder_emc_config_CONF_GROUP_ISCSI.xml')
|
||||
end
|
||||
end
|
||||
|
||||
describe 'dell emc vmax iscsi backend overriding some parameters' do
|
||||
before :each do
|
||||
params.merge!({
|
||||
:manage_volume_type => true,
|
||||
})
|
||||
end
|
||||
|
||||
it 'configure dell emc vmax iscsi volume driver' do
|
||||
is_expected.to contain_cinder_config('dellemc_vmax_iscsi/cinder_emc_config_file').with_value('/etc/cinder/cinder_emc_config_CONF_GROUP_ISCSI.xml'
|
||||
)
|
||||
end
|
||||
|
||||
it 'should create type with properties' do
|
||||
should contain_cinder_type('dellemc_vmax_iscsi').with(:ensure => :present, :properties => ['volume_backend_name=dellemc_vmax_iscsi'])
|
||||
end
|
||||
end
|
||||
|
||||
describe 'dell emc vmax iscsi backend with additional configuration' do
|
||||
before :each do
|
||||
params.merge!({:extra_options => {'dellemc_vmax_iscsi/param1' => {'value' => 'value1'}}})
|
||||
end
|
||||
|
||||
it 'configure dell emc vmax iscsi backend with additional configuration' do
|
||||
is_expected.to contain_cinder_config('dellemc_vmax_iscsi/param1').with({
|
||||
:value => 'value1',
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
end
|
Loading…
x
Reference in New Issue
Block a user