]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/cinder/manifests/backend/san.pp
try again, with puppetforge modules, correctly included now
[dsa-puppet.git] / 3rdparty / modules / cinder / manifests / backend / san.pp
diff --git a/3rdparty/modules/cinder/manifests/backend/san.pp b/3rdparty/modules/cinder/manifests/backend/san.pp
new file mode 100644 (file)
index 0000000..4ad000e
--- /dev/null
@@ -0,0 +1,80 @@
+# == Class: cinder::backend::san
+#
+# Configures Cinder volume SAN driver.
+# Parameters are particular to each volume driver.
+#
+# === Parameters
+#
+# [*volume_driver*]
+#   (required) Setup cinder-volume to use volume driver.
+#
+# [*volume_backend_name*]
+#   (optional) Allows for the volume_backend_name to be separate of $name.
+#   Defaults to: $name
+#
+# [*san_thin_provision*]
+#   (optional) Use thin provisioning for SAN volumes? Defaults to true.
+#
+# [*san_ip*]
+#   (optional) IP address of SAN controller.
+#
+# [*san_login*]
+#   (optional) Username for SAN controller. Defaults to 'admin'.
+#
+# [*san_password*]
+#   (optional) Password for SAN controller.
+#
+# [*san_private_key*]
+#   (optional) Filename of private key to use for SSH authentication.
+#
+# [*san_clustername*]
+#   (optional) Cluster name to use for creating volumes.
+#
+# [*san_ssh_port*]
+#   (optional) SSH port to use with SAN. Defaults to 22.
+#
+# [*san_is_local*]
+#   (optional) Execute commands locally instead of over SSH
+#   use if the volume service is running on the SAN device.
+#
+# [*ssh_conn_timeout*]
+#   (optional) SSH connection timeout in seconds. Defaults to 30.
+#
+# [*ssh_min_pool_conn*]
+#   (optional) Minimum ssh connections in the pool.
+#
+# [*ssh_min_pool_conn*]
+#   (optional) Maximum ssh connections in the pool.
+#
+define cinder::backend::san (
+  $volume_driver,
+  $volume_backend_name = $name,
+  $san_thin_provision  = true,
+  $san_ip              = undef,
+  $san_login           = 'admin',
+  $san_password        = undef,
+  $san_private_key     = undef,
+  $san_clustername     = undef,
+  $san_ssh_port        = 22,
+  $san_is_local        = false,
+  $ssh_conn_timeout    = 30,
+  $ssh_min_pool_conn   = 1,
+  $ssh_max_pool_conn   = 5
+) {
+
+  cinder_config {
+    "${name}/volume_backend_name": value => $volume_backend_name;
+    "${name}/volume_driver":       value => $volume_driver;
+    "${name}/san_thin_provision":  value => $san_thin_provision;
+    "${name}/san_ip":              value => $san_ip;
+    "${name}/san_login":           value => $san_login;
+    "${name}/san_password":        value => $san_password, secret => true;
+    "${name}/san_private_key":     value => $san_private_key;
+    "${name}/san_clustername":     value => $san_clustername;
+    "${name}/san_ssh_port":        value => $san_ssh_port;
+    "${name}/san_is_local":        value => $san_is_local;
+    "${name}/ssh_conn_timeout":    value => $ssh_conn_timeout;
+    "${name}/ssh_min_pool_conn":   value => $ssh_min_pool_conn;
+    "${name}/ssh_max_pool_conn":   value => $ssh_max_pool_conn;
+  }
+}