]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/cinder/manifests/backend/eqlx.pp
try again, with puppetforge modules, correctly included now
[dsa-puppet.git] / 3rdparty / modules / cinder / manifests / backend / eqlx.pp
diff --git a/3rdparty/modules/cinder/manifests/backend/eqlx.pp b/3rdparty/modules/cinder/manifests/backend/eqlx.pp
new file mode 100644 (file)
index 0000000..b2d47ea
--- /dev/null
@@ -0,0 +1,86 @@
+# == define: cinder::backend::eqlx
+#
+# Configure the Dell EqualLogic driver for cinder.
+#
+# === Parameters
+#
+# [*san_ip*]
+#   (required) The IP address of the Dell EqualLogic array.
+#
+# [*san_login*]
+#   (required) The account to use for issuing SSH commands.
+#
+# [*san_password*]
+#   (required) The password for the specified SSH account.
+#
+# [*san_thin_provision*]
+#   (optional) Whether or not to use thin provisioning for volumes.
+#   Defaults to true
+#
+# [*volume_backend_name*]
+#   (optional) The backend name.
+#   Defaults to the name of the resource
+#
+# [*eqlx_group_name*]
+#   (optional) The CLI prompt message without '>'.
+#   Defaults to 'group-0'
+#
+# [*eqlx_pool*]
+#   (optional) The pool in which volumes will be created.
+#   Defaults to 'default'
+#
+# [*eqlx_use_chap*]
+#   (optional) Use CHAP authentification for targets?
+#   Defaults to false
+#
+# [*eqlx_chap_login*]
+#   (optional) An existing CHAP account name.
+#   Defaults to 'chapadmin'
+#
+# [*eqlx_chap_password*]
+#   (optional) The password for the specified CHAP account name.
+#   Defaults to '12345'
+#
+# [*eqlx_cli_timeout*]
+#   (optional) The timeout for the Group Manager cli command execution.
+#   Defaults to 30 seconds
+#
+# [*eqlx_cli_max_retries*]
+#   (optional) The maximum retry count for reconnection.
+#   Defaults to 5
+#
+define cinder::backend::eqlx (
+  $san_ip,
+  $san_login,
+  $san_password,
+  $san_thin_provision   = true,
+  $volume_backend_name  = $name,
+  $eqlx_group_name      = 'group-0',
+  $eqlx_pool            = 'default',
+  $eqlx_use_chap        = false,
+  $eqlx_chap_login      = 'chapadmin',
+  $eqlx_chap_password   = '12345',
+  $eqlx_cli_timeout     = 30,
+  $eqlx_cli_max_retries = 5,
+) {
+  cinder_config {
+    "${name}/volume_backend_name":  value => $volume_backend_name;
+    "${name}/volume_driver":        value => 'cinder.volume.drivers.eqlx.DellEQLSanISCSIDriver';
+    "${name}/san_ip":               value => $san_ip;
+    "${name}/san_login":            value => $san_login;
+    "${name}/san_password":         value => $san_password, secret => true;
+    "${name}/san_thin_provision":   value => $san_thin_provision;
+    "${name}/eqlx_group_name":      value => $eqlx_group_name;
+    "${name}/eqlx_use_chap":        value => $eqlx_use_chap;
+    "${name}/eqlx_cli_timeout":     value => $eqlx_cli_timeout;
+    "${name}/eqlx_cli_max_retries": value => $eqlx_cli_max_retries;
+    "${name}/eqlx_pool":            value => $eqlx_pool;
+  }
+
+  if(str2bool($eqlx_use_chap)) {
+    cinder_config {
+      "${name}/eqlx_chap_login":      value => $eqlx_chap_login;
+      "${name}/eqlx_chap_password":   value => $eqlx_chap_password, secret => true;
+    }
+  }
+}