]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/cinder/manifests/backend/vmdk.pp
try again, with puppetforge modules, correctly included now
[dsa-puppet.git] / 3rdparty / modules / cinder / manifests / backend / vmdk.pp
diff --git a/3rdparty/modules/cinder/manifests/backend/vmdk.pp b/3rdparty/modules/cinder/manifests/backend/vmdk.pp
new file mode 100644 (file)
index 0000000..6ce4dba
--- /dev/null
@@ -0,0 +1,87 @@
+# == define: cinder::backend::vmdk
+#
+# Configure the VMware VMDK driver for cinder.
+#
+# === Parameters
+#
+# [*host_ip*]
+#   The IP address of the VMware vCenter server.
+#
+# [*host_username*]
+#   The username for connection to VMware vCenter server.
+#
+# [*host_password*]
+#   The password for connection to VMware vCenter server.
+#
+# [*volume_backend_name*]
+#   Used to set the volume_backend_name in multiple backends.
+#   Defaults to $name as passed in the title.
+#
+# [*api_retry_count*]
+#   (optional) The number of times we retry on failures,
+#   e.g., socket error, etc.
+#   Defaults to 10.
+#
+# [*$max_object_retrieval*]
+#   (optional) The maximum number of ObjectContent data objects that should
+#   be returned in a single result. A positive value will cause
+#   the operation to suspend the retrieval when the count of
+#   objects reaches the specified maximum. The server may still
+#   limit the count to something less than the configured value.
+#   Any remaining objects may be retrieved with additional requests.
+#   Defaults to 100.
+#
+# [*task_poll_interval*]
+#   (optional) The interval in seconds used for polling of remote tasks.
+#   Defaults to 5.
+#
+# [*image_transfer_timeout_secs*]
+#   (optional) The timeout in seconds for VMDK volume transfer between Cinder and Glance.
+#   Defaults to 7200.
+#
+# [*wsdl_location*]
+#   (optional) VIM Service WSDL Location e.g
+#   http://<server>/vimService.wsdl. Optional over-ride to
+#   default location for bug work-arounds.
+#   Defaults to None.
+#
+# [*volume_folder*]
+#   (optional) The name for the folder in the VC datacenter that will contain cinder volumes.
+#   Defaults to 'cinder-volumes'.
+#
+define cinder::backend::vmdk (
+  $host_ip,
+  $host_username,
+  $host_password,
+  $volume_backend_name         = $name,
+  $volume_folder               = 'cinder-volumes',
+  $api_retry_count             = 10,
+  $max_object_retrieval        = 100,
+  $task_poll_interval          = 5,
+  $image_transfer_timeout_secs = 7200,
+  $wsdl_location               = undef
+  ) {
+
+  cinder_config {
+    "${name}/volume_backend_name":                value => $volume_backend_name;
+    "${name}/volume_driver":                      value => 'cinder.volume.drivers.vmware.vmdk.VMwareVcVmdkDriver';
+    "${name}/vmware_host_ip":                     value => $host_ip;
+    "${name}/vmware_host_username":               value => $host_username;
+    "${name}/vmware_host_password":               value => $host_password, secret => true;
+    "${name}/vmware_volume_folder":               value => $volume_folder;
+    "${name}/vmware_api_retry_count":             value => $api_retry_count;
+    "${name}/vmware_max_object_retrieval":        value => $max_object_retrieval;
+    "${name}/vmware_task_poll_interval":          value => $task_poll_interval;
+    "${name}/vmware_image_transfer_timeout_secs": value => $image_transfer_timeout_secs;
+  }
+
+  if $wsdl_location {
+    cinder_config {
+      "${name}/vmware_wsdl_location":               value => $wsdl_location;
+    }
+  }
+
+  package { 'python-suds':
+    ensure   => present
+  }
+}