]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/cinder/manifests/backend/solidfire.pp
try again, with puppetforge modules, correctly included now
[dsa-puppet.git] / 3rdparty / modules / cinder / manifests / backend / solidfire.pp
diff --git a/3rdparty/modules/cinder/manifests/backend/solidfire.pp b/3rdparty/modules/cinder/manifests/backend/solidfire.pp
new file mode 100644 (file)
index 0000000..81abfe9
--- /dev/null
@@ -0,0 +1,64 @@
+# == Class: cinder::backend::solidfire
+#
+# Configures Cinder volume SolidFire driver.
+# Parameters are particular to each volume driver.
+#
+# === Parameters
+#
+# [*volume_backend_name*]
+#   (optional) Allows for the volume_backend_name to be separate of $name.
+#   Defaults to: $name
+#
+# [*volume_driver*]
+#   (optional) Setup cinder-volume to use SolidFire volume driver.
+#   Defaults to 'cinder.volume.drivers.solidfire.SolidFireDriver'
+#
+# [*san_ip*]
+#   (required) IP address of SolidFire clusters MVIP.
+#
+# [*san_login*]
+#   (required) Username for SolidFire admin account.
+#
+# [*san_password*]
+#   (required) Password for SolidFire admin account.
+#
+# [*sf_emulate_512*]
+#   (optional) Use 512 byte emulation for volumes.
+#   Defaults to True
+#
+# [*sf_allow_tenant_qos*]
+#   (optional) Allow tenants to specify QoS via volume metadata.
+#   Defaults to False
+#
+# [*sf_account_prefix*]
+#   (optional) Prefix to use when creating tenant accounts on SolidFire Cluster.
+#   Defaults to None, so account name is simply the tenant-uuid
+#
+# [*sf_api_port*]
+#   (optional) Port ID to use to connect to SolidFire API.
+#   Defaults to 443
+#
+define cinder::backend::solidfire(
+  $san_ip,
+  $san_login,
+  $san_password,
+  $volume_backend_name = $name,
+  $volume_driver       = 'cinder.volume.drivers.solidfire.SolidFireDriver',
+  $sf_emulate_512      = true,
+  $sf_allow_tenant_qos = false,
+  $sf_account_prefix   = '',
+  $sf_api_port         = '443'
+) {
+
+  cinder_config {
+    "${name}/volume_backend_name": value => $volume_backend_name;
+    "${name}/volume_driver":       value => $volume_driver;
+    "${name}/san_ip":              value => $san_ip;
+    "${name}/san_login":           value => $san_login;
+    "${name}/san_password":        value => $san_password, secret => true;
+    "${name}/sf_emulate_512":      value => $sf_emulate_512;
+    "${name}/sf_allow_tenant_qos": value => $sf_allow_tenant_qos;
+    "${name}/sf_account_prefix":   value => $sf_account_prefix;
+    "${name}/sf_api_port":         value => $sf_api_port;
+  }
+}