Release Candidate #4 -- Additional requirements as per mail on 09-Dec-16 adding cinder service name, non-mandatory volume_type, addition of use_multipath_for_image_xfer, nimble_subnet_label, and nimble_pool_name.
This commit is contained in:
parent
fda70cb19e
commit
c8e8c39221
Binary file not shown.
|
@ -5,7 +5,8 @@ $cinder_nimble = hiera_hash('cinder_nimble', {})
|
|||
|
||||
define plugin_cinder_nimble::check_if_default_backend_is_enabled (
|
||||
) {
|
||||
if ($cinder_nimble["nimble${name}_default_backend"]) == true {
|
||||
if (($cinder_nimble["nimble${name}_default_backend"]) == true) and
|
||||
(($cinder_nimble["nimble${name}_backend_type"]) != '') {
|
||||
class { 'plugin_cinder_nimble::backend::set_default_type' :
|
||||
config_file => $config_file,
|
||||
nimble_backend_type => $cinder_nimble["nimble${name}_backend_type"],
|
||||
|
@ -14,7 +15,8 @@ define plugin_cinder_nimble::check_if_default_backend_is_enabled (
|
|||
}
|
||||
|
||||
if ($cinder_nimble['nimble_grouping']) == true {
|
||||
if ($cinder_nimble["nimble_group_default_backend"]) == true {
|
||||
if (($cinder_nimble['nimble_group_default_backend']) == true) and
|
||||
(($cinder_nimble["nimble_group_backend_type"]) != '') {
|
||||
class { 'plugin_cinder_nimble::backend::set_default_type' :
|
||||
config_file => $config_file,
|
||||
nimble_backend_type => $cinder_nimble['nimble_group_backend_type'],
|
||||
|
|
|
@ -8,7 +8,8 @@ $cinder_nimble = hiera_hash('cinder_nimble', {})
|
|||
|
||||
define plugin_cinder_nimble::check_if_default_type_is_enabled (
|
||||
) {
|
||||
if ($cinder_nimble["nimble${name}_default_backend"]) == true {
|
||||
if (($cinder_nimble["nimble${name}_default_backend"]) == true) and
|
||||
(($cinder_nimble["nimble${name}_backend_type"]) != '') {
|
||||
class { 'plugin_cinder_nimble::backend::disable_default_type' :
|
||||
config_file => $config_file,
|
||||
}
|
||||
|
@ -16,7 +17,8 @@ define plugin_cinder_nimble::check_if_default_type_is_enabled (
|
|||
}
|
||||
|
||||
if ($cinder_nimble['nimble_grouping']) == true {
|
||||
if ($cinder_nimble['nimble_group_default_backend']) == true {
|
||||
if (($cinder_nimble['nimble_group_default_backend']) == true) and
|
||||
(($cinder_nimble["nimble_group_backend_type"]) != '') {
|
||||
class { 'plugin_cinder_nimble::backend::disable_default_type' :
|
||||
config_file => $config_file,
|
||||
}
|
||||
|
|
|
@ -21,38 +21,57 @@ if ($cinder_nimble['nimble_grouping']) == true {
|
|||
$content = inline_template('
|
||||
storage:
|
||||
volume_backend_names:
|
||||
__dummy__: false
|
||||
<% if @cinder_nimble["nimble_group_backend_type"] != "" -%>
|
||||
<%= @cinder_nimble["nimble_group_backend_type"] %>: <%= @cinder_nimble["nimble_group_backend_name"] %>
|
||||
<% end %>
|
||||
nimble_encryption:
|
||||
<%= @cinder_nimble["nimble_group_backend_type"] %>: <%= @cinder_nimble["nimble_group_encryption"] -%>
|
||||
<% if @cinder_nimble["nimble_group_perfpol"] != "" %>
|
||||
__dummy__: __dummy__
|
||||
<% if @cinder_nimble["nimble_group_backend_type"] != "" -%>
|
||||
<%= @cinder_nimble["nimble_group_backend_type"] %>: <%= @cinder_nimble["nimble_group_encryption"] %>
|
||||
<% end %>
|
||||
nimble_perfpol:
|
||||
<%= @cinder_nimble["nimble_group_backend_type"] %>: <%= @cinder_nimble["nimble_group_perfpol"] -%>
|
||||
__dummy__: __dummy__
|
||||
<% if (@cinder_nimble["nimble_group_perfpol"] != "") and (@cinder_nimble["nimble_group_backend_type"] != "") -%>
|
||||
<%= @cinder_nimble["nimble_group_backend_type"] %>: <%= @cinder_nimble["nimble_group_perfpol"] %>
|
||||
<% end %>
|
||||
nimble_multi_init:
|
||||
__dummy__: __dummy__
|
||||
<% if @cinder_nimble["nimble_group_backend_type"] != "" -%>
|
||||
<%= @cinder_nimble["nimble_group_backend_type"] %>: <%= @cinder_nimble["nimble_group_multi_init"] %>
|
||||
<% end %>
|
||||
')
|
||||
}
|
||||
else {
|
||||
$content = inline_template('
|
||||
storage:
|
||||
volume_backend_names:
|
||||
__dummy__: false
|
||||
<% @range_array.each do |i| -%>
|
||||
<%= @cinder_nimble["nimble#{i}_backend_type"] %>: <%= @cinder_nimble["nimble#{i}_backend_name"] %>
|
||||
<% if @cinder_nimble["nimble#{i}_backend_type"] != "" -%>
|
||||
<%= @cinder_nimble["nimble#{i}_backend_type"] %>: <%= @cinder_nimble["nimble#{i}_backend_name"] -%>
|
||||
<% end %>
|
||||
<% end %>
|
||||
nimble_encryption:
|
||||
__dummy__: __dummy__
|
||||
<% @range_array.each do |i| -%>
|
||||
<%= @cinder_nimble["nimble#{i}_backend_type"] %>: <%= @cinder_nimble["nimble#{i}_encryption"] %>
|
||||
<% if @cinder_nimble["nimble#{i}_backend_type"] != "" -%>
|
||||
<%= @cinder_nimble["nimble#{i}_backend_type"] %>: <%= @cinder_nimble["nimble#{i}_encryption"] -%>
|
||||
<% end %>
|
||||
<% end %>
|
||||
nimble_perfpol:
|
||||
__dummy__: __dummy__
|
||||
<% @range_array.each do |i| -%>
|
||||
<% if @cinder_nimble["nimble#{i}_perfpol"] != "" -%>
|
||||
<% if (@cinder_nimble["nimble#{i}_perfpol"] != "") and (@cinder_nimble["nimble#{i}_backend_type"] != "") -%>
|
||||
<%= @cinder_nimble["nimble#{i}_backend_type"] %>: <%= @cinder_nimble["nimble#{i}_perfpol"] -%>
|
||||
<% end %>
|
||||
<% end %>
|
||||
nimble_multi_init:
|
||||
__dummy__: __dummy__
|
||||
<% @range_array.each do |i| -%>
|
||||
<%= @cinder_nimble["nimble#{i}_backend_type"] %>: <%= @cinder_nimble["nimble#{i}_multi_init"] %>
|
||||
<% if @cinder_nimble["nimble#{i}_backend_type"] != "" -%>
|
||||
<%= @cinder_nimble["nimble#{i}_backend_type"] %>: <%= @cinder_nimble["nimble#{i}_multi_init"] -%>
|
||||
<% end %>
|
||||
<% end %>
|
||||
')
|
||||
}
|
||||
|
|
|
@ -12,6 +12,6 @@ define plugin_cinder_nimble::backend::enable_backend (
|
|||
setting => 'enabled_backends',
|
||||
subsetting => $name,
|
||||
subsetting_separator => ',',
|
||||
use_exact_match => true,
|
||||
use_exact_match => true,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,10 +2,11 @@ class plugin_cinder_nimble::backend::set_extraspecs_encryption (
|
|||
) {
|
||||
$storage_hash = hiera_hash('storage', {})
|
||||
$nimble_encryption = $storage_hash['nimble_encryption']
|
||||
$available_backend_names = keys($nimble_encryption)
|
||||
$available_backends = delete_values($nimble_encryption, '__dummy__')
|
||||
$available_backend_names = keys($available_backends)
|
||||
::osnailyfacter::openstack::manage_cinder_types { $available_backend_names:
|
||||
ensure => 'present',
|
||||
volume_backend_names => $nimble_encryption,
|
||||
volume_backend_names => $available_backends,
|
||||
key => 'nimble:encryption'
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,10 +2,11 @@ class plugin_cinder_nimble::backend::set_extraspecs_multi_init (
|
|||
) {
|
||||
$storage_hash = hiera_hash('storage', {})
|
||||
$nimble_multi_init = $storage_hash['nimble_multi_init']
|
||||
$available_backend_names = keys($nimble_multi_init)
|
||||
$available_backends = delete_values($nimble_multi_init, '__dummy__')
|
||||
$available_backend_names = keys($available_backends)
|
||||
::osnailyfacter::openstack::manage_cinder_types { $available_backend_names:
|
||||
ensure => 'present',
|
||||
volume_backend_names => $nimble_multi_init,
|
||||
volume_backend_names => $available_backends,
|
||||
key => 'nimble:multi-initiator'
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,13 +2,11 @@ class plugin_cinder_nimble::backend::set_extraspecs_perfpol (
|
|||
) {
|
||||
$storage_hash = hiera_hash('storage', {})
|
||||
$nimble_perfpol = $storage_hash['nimble_perfpol']
|
||||
if ! empty($nimble_perfpol) {
|
||||
$available_backends = delete_values($nimble_perfpol, '__dummy__')
|
||||
$available_backend_names = keys($available_backends)
|
||||
::osnailyfacter::openstack::manage_cinder_types { $available_backend_names:
|
||||
ensure => 'present',
|
||||
volume_backend_names => $available_backends,
|
||||
key => 'nimble:perfpol-name'
|
||||
}
|
||||
$available_backends = delete_values($nimble_perfpol, '__dummy__')
|
||||
$available_backend_names = keys($available_backends)
|
||||
::osnailyfacter::openstack::manage_cinder_types { $available_backend_names:
|
||||
ensure => 'present',
|
||||
volume_backend_names => $available_backends,
|
||||
key => 'nimble:perfpol-name'
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
define plugin_cinder_nimble::backend::set_nimble_backend (
|
||||
$backend_id,
|
||||
$index,
|
||||
$cinder_nimble = $plugin_cinder_nimble::params::cinder_nimble
|
||||
$cinder_nimble = $plugin_cinder_nimble::params::cinder_nimble,
|
||||
$config_file = $plugin_cinder_nimble::params::config_file
|
||||
) {
|
||||
|
||||
include plugin_cinder_nimble::params
|
||||
|
@ -28,13 +29,30 @@ define plugin_cinder_nimble::backend::set_nimble_backend (
|
|||
|
||||
# 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}"
|
||||
if ($cinder_nimble["nimble${backend_id}_cinder_service_name"]) != '' {
|
||||
$nimble_backend_name = $cinder_nimble["nimble${backend_id}_cinder_service_name"]
|
||||
}
|
||||
else {
|
||||
$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"]}"
|
||||
if ($cinder_nimble["nimble${backend_id}_cinder_service_name"]) != '' {
|
||||
$nimble_backend_name = $cinder_nimble["nimble${backend_id}_cinder_service_name"]
|
||||
}
|
||||
else {
|
||||
$nimble_backend_name = "${cinder_nimble["nimble${backend_id}_backend_name"]}"
|
||||
}
|
||||
$nimble_volume_backend_name = "${cinder_nimble["nimble${backend_id}_backend_name"]}"
|
||||
}
|
||||
# Pool name selection
|
||||
if ($cinder_nimble["nimble${backend_id}_pool_name"]) != '' {
|
||||
$nimble_pool_name = $cinder_nimble["nimble${backend_id}_pool_name"]
|
||||
}
|
||||
else {
|
||||
$nimble_pool_name = 'default'
|
||||
}
|
||||
|
||||
Cinder_config <||> -> Plugin_cinder_nimble::Backend::Enable_backend[$nimble_backend_name] ~> Service <||>
|
||||
Cinder_config <||> ~> Service <||>
|
||||
|
@ -45,6 +63,20 @@ define plugin_cinder_nimble::backend::set_nimble_backend (
|
|||
"$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;
|
||||
"$nimble_backend_name/nimble_pool_name": value => $nimble_pool_name;
|
||||
"$nimble_backend_name/use_multipath_for_image_xfer": value => $cinder_nimble["nimble${backend_id}_mp_img_xfer"];
|
||||
}
|
||||
|
||||
# nimble_subnet_label enabled only when iSCSI and non-nil!
|
||||
if (($cinder_nimble["nimble${backend_id}_subnet_label"]) != '') and (($cinder_nimble["nimble${backend_id}_backend_protocol"]) == 'iSCSI'){
|
||||
cinder_config { "$nimble_backend_name/nimble_subnet_label":
|
||||
value => $cinder_nimble["nimble${backend_id}_subnet_label"],
|
||||
}
|
||||
}
|
||||
else {
|
||||
cinder_config { "$nimble_backend_name/nimble_subnet_label":
|
||||
ensure => absent,
|
||||
}
|
||||
}
|
||||
|
||||
# Adds the backend in <enabled_backends> parameter
|
||||
|
|
|
@ -2,10 +2,8 @@ class plugin_cinder_nimble::backend::set_nimble_cinder_type (
|
|||
) {
|
||||
$storage_hash = hiera_hash('storage', {})
|
||||
$backends = $storage_hash['volume_backend_names']
|
||||
|
||||
$available_backends = delete_values($backends, false)
|
||||
$available_backend_names = keys($available_backends)
|
||||
|
||||
::osnailyfacter::openstack::manage_cinder_types { $available_backend_names:
|
||||
ensure => 'present',
|
||||
volume_backend_names => $available_backends,
|
||||
|
|
|
@ -86,13 +86,13 @@
|
|||
# Post Deployment tasks
|
||||
|
||||
# Set the default volume type to the nimble type in <default_volume_type> parameter
|
||||
- id: disable_default_type
|
||||
- id: disable_default_type
|
||||
role: [primary-controller, controller]
|
||||
required_for: [post_deployment_end]
|
||||
requires: [post_deployment_start]
|
||||
type: puppet
|
||||
parameters:
|
||||
puppet_manifest: puppet/manifests/disable_default_type.pp
|
||||
puppet_manifest: puppet/manifests/disable_default_type.pp
|
||||
puppet_modules: "puppet/modules/:/etc/puppet/modules/"
|
||||
timeout: 360
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,5 +1,5 @@
|
|||
# Plugin name
|
||||
name: cinder_nimble
|
||||
name: cinder_nimble
|
||||
# Human-readable name for your plugin
|
||||
title: Cinder plugin for Nimble Storage
|
||||
# Plugin version
|
||||
|
@ -22,7 +22,7 @@ homepage: 'https://github.com/openstack/fuel-plugin-cinder-nimble'
|
|||
groups: ['storage::cinder']
|
||||
# Change `false` to `true` if the plugin can be installed in the environment
|
||||
# after the deployment.
|
||||
is_hotpluggable: true
|
||||
is_hotpluggable: true
|
||||
|
||||
# The plugin is compatible with releases in the list
|
||||
releases:
|
||||
|
|
Loading…
Reference in New Issue