]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/nova/manifests/compute/xenserver.pp
try again, with puppetforge modules, correctly included now
[dsa-puppet.git] / 3rdparty / modules / nova / manifests / compute / xenserver.pp
diff --git a/3rdparty/modules/nova/manifests/compute/xenserver.pp b/3rdparty/modules/nova/manifests/compute/xenserver.pp
new file mode 100644 (file)
index 0000000..f28c0b4
--- /dev/null
@@ -0,0 +1,44 @@
+# == Class: nova::compute::xenserver
+#
+# Configures nova-compute to manage xen guests
+#
+# === Parameters:
+#
+# [*xenapi_connection_url*]
+#   (required) URL for connection to XenServer/Xen Cloud Platform.
+#
+# [*xenapi_connection_username*]
+#   (required) Username for connection to XenServer/Xen Cloud Platform
+#
+# [*xenapi_connection_password*]
+#   (required) Password for connection to XenServer/Xen Cloud Platform
+#
+# [*xenapi_inject_image*]
+#   (optional) This parameter was removed in Diablo and does nothing.
+#   Defaults to false
+#
+class nova::compute::xenserver(
+  $xenapi_connection_url,
+  $xenapi_connection_username,
+  $xenapi_connection_password,
+  $xenapi_inject_image=false
+) {
+
+  nova_config {
+    'DEFAULT/compute_driver':             value => 'xenapi.XenAPIDriver';
+    'DEFAULT/connection_type':            value => 'xenapi';
+    'DEFAULT/xenapi_connection_url':      value => $xenapi_connection_url;
+    'DEFAULT/xenapi_connection_username': value => $xenapi_connection_username;
+    'DEFAULT/xenapi_connection_password': value => $xenapi_connection_password;
+    'DEFAULT/xenapi_inject_image':        value => $xenapi_inject_image;
+  }
+
+  ensure_packages(['python-pip'])
+
+  package { 'xenapi':
+    ensure   => present,
+    provider => pip
+  }
+
+  Package['python-pip'] -> Package['xenapi']
+}