Release Candidate #1 with 5 backends

This commit is contained in:
sreesiv 2016-12-02 21:20:30 +05:30
parent 8d3097a6e2
commit 25acbac26c
1 changed files with 52 additions and 0 deletions

View File

@ -0,0 +1,52 @@
define plugin_cinder_nimble::backend::set_nimble_backend (
$backend_id,
$index,
$cinder_nimble = $plugin_cinder_nimble::params::cinder_nimble
) {
include plugin_cinder_nimble::params
include cinder::params
# Set backend details
# Get the group backend name as configured by the user
$nimble_group_backend_name = $cinder_nimble['nimble_group_backend_name']
# Sets correct driver depending on backend protocol
if ($cinder_nimble["nimble${backend_id}_backend_protocol"]) == 'iSCSI' {
if ! defined(Package['open-iscsi']) {
# We need following packages to create a root volume during an instance spawning
package { 'open-iscsi': }
}
$nimble_cinder_driver = 'cinder.volume.drivers.nimble.NimbleISCSIDriver'
}
elsif ($cinder_nimble["nimble${backend_id}_backend_protocol"]) == 'FC' {
$nimble_cinder_driver = 'cinder.volume.drivers.nimble.NimbleFCDriver'
}
# To be ensure that $ symbol is correctly escaped in cinder password
$nimble_password = regsubst($cinder_nimble["nimble${backend_id}_password"],'\$','$$','G')
# Check whether grouping is enabled and adjust volume_backend_name accordingly
if ($cinder_nimble['nimble_grouping']) == true {
$nimble_backend_name = "${nimble_group_backend_name}_${backend_id}"
$nimble_volume_backend_name = "${nimble_group_backend_name}"
}
else {
$nimble_backend_name = "${cinder_nimble["nimble${backend_id}_backend_name"]}"
$nimble_volume_backend_name = "${cinder_nimble["nimble${backend_id}_backend_name"]}"
}
Cinder_config <||> -> Plugin_cinder_nimble::Backend::Enable_backend[$nimble_backend_name] ~> Service <||>
Cinder_config <||> ~> Service <||>
cinder_config {
"$nimble_backend_name/volume_backend_name": value => $nimble_volume_backend_name;
"$nimble_backend_name/volume_driver": value => $nimble_cinder_driver;
"$nimble_backend_name/san_ip": value => $cinder_nimble["nimble${backend_id}_san_ip"];
"$nimble_backend_name/san_login": value => $cinder_nimble["nimble${backend_id}_login"];
"$nimble_backend_name/san_password": value => $nimble_password;
}
# Adds the backend in <enabled_backends> parameter
plugin_cinder_nimble::backend::enable_backend { $nimble_backend_name: }
}