aboutsummaryrefslogtreecommitdiffstats
path: root/manifests/profile/base/cinder
diff options
context:
space:
mode:
authorSimon Dodsley <simon@purestorage.com>2017-03-31 09:30:59 -0400
committerSimon Dodsley <simon@purestorage.com>2017-04-03 17:41:04 -0400
commit8370c74214a2b4ba8aaa1400b58717a0cbc1b0cc (patch)
tree969156a76a932ee6edcba2621c1ceb37efeafd79 /manifests/profile/base/cinder
parent1d31e6e4bfd5896758429ad793375f40ca8ff84e (diff)
Composable services support for Cinder Pure Storage FlashArray
Added the heat templates for Cinder Pure Storage FlashArray backend to use composable services Change-Id: I6f46f45a3af394de85672261c7d72ddc492a07b2
Diffstat (limited to 'manifests/profile/base/cinder')
-rw-r--r--manifests/profile/base/cinder/volume.pp13
-rw-r--r--manifests/profile/base/cinder/volume/pure.pp65
2 files changed, 78 insertions, 0 deletions
diff --git a/manifests/profile/base/cinder/volume.pp b/manifests/profile/base/cinder/volume.pp
index 9fb1594..e1370a3 100644
--- a/manifests/profile/base/cinder/volume.pp
+++ b/manifests/profile/base/cinder/volume.pp
@@ -18,6 +18,10 @@
#
# === Parameters
#
+# [*cinder_enable_pure_backend*]
+# (Optional) Whether to enable the pure backend
+# Defaults to true
+#
# [*cinder_enable_dellsc_backend*]
# (Optional) Whether to enable the delsc backend
# Defaults to true
@@ -60,6 +64,7 @@
# Defaults to hiera('step')
#
class tripleo::profile::base::cinder::volume (
+ $cinder_enable_pure_backend = false,
$cinder_enable_dellsc_backend = false,
$cinder_enable_hpelefthand_backend = false,
$cinder_enable_dellps_backend = false,
@@ -76,6 +81,13 @@ class tripleo::profile::base::cinder::volume (
if $step >= 4 {
include ::cinder::volume
+ if $cinder_enable_pure_backend {
+ include ::tripleo::profile::base::cinder::volume::pure
+ $cinder_pure_backend_name = hiera('cinder::backend::pure::volume_backend_name', 'tripleo_pure')
+ } else {
+ $cinder_pure_backend_name = undef
+ }
+
if $cinder_enable_dellsc_backend {
include ::tripleo::profile::base::cinder::volume::dellsc
$cinder_dellsc_backend_name = hiera('cinder::backend::dellsc_iscsi::volume_backend_name', 'tripleo_dellsc')
@@ -134,6 +146,7 @@ class tripleo::profile::base::cinder::volume (
$backends = delete_undef_values([$cinder_iscsi_backend_name,
$cinder_rbd_backend_name,
+ $cinder_pure_backend_name,
$cinder_dellps_backend_name,
$cinder_dellsc_backend_name,
$cinder_hpelefthand_backend_name,
diff --git a/manifests/profile/base/cinder/volume/pure.pp b/manifests/profile/base/cinder/volume/pure.pp
new file mode 100644
index 0000000..e524919
--- /dev/null
+++ b/manifests/profile/base/cinder/volume/pure.pp
@@ -0,0 +1,65 @@
+# Copyright 2016 Red Hat, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+# == Class: tripleo::profile::base::cinder::volume::pure
+#
+# Cinder Volume pure profile for tripleo
+#
+# === Parameters
+#
+# [*san_ip*]
+# (required) IP address of PureStorage management VIP.
+#
+# [*pure_api_token*]
+# (required) API token for management of PureStorage array.
+#
+# [*backend_name*]
+# (Optional) Name given to the Cinder backend stanza
+# Defaults to 'tripleo_pure'
+#
+# [*pure_storage_protocol*]
+# (optional) Must be either 'iSCSI' or 'FC'. This will determine
+# which Volume Driver will be configured; PureISCSIDriver or PureFCDriver.
+# Defaults to 'iSCSI'
+#
+# [*use_multipath_for_image_xfer*]
+# (optional) .
+# Defaults to True
+#
+# [*use_chap_auth*]
+# (optional) Only affects the PureISCSIDriver.
+# Defaults to False
+#
+# [*step*]
+# (Optional) The current step in deployment. See tripleo-heat-templates
+# for more details.
+# Defaults to hiera('step')
+#
+class tripleo::profile::base::cinder::volume::pure (
+ $backend_name = hiera('cinder::backend::pure::volume_backend_name', 'tripleo_pure'),
+ $step = hiera('step'),
+) {
+ include ::tripleo::profile::base::cinder::volume
+
+ if $step >= 4 {
+ cinder::backend::pure { $backend_name :
+ san_ip => hiera('cinder::backend::pure::san_ip', undef),
+ pure_api_token => hiera('cinder::backend::pure::pure_api_token', undef),
+ pure_storage_protocol => hiera('cinder::backend::pure::pure_storage_protocol', undef),
+ use_chap_auth => hiera('cinder::backend::pure::use_chap_auth', undef),
+ use_multipath_for_image_xfer => hiera('cinder::backend::pure::use_multipath_for_image_xfer', undef),
+ }
+ }
+
+}