]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/nova/manifests/vncproxy/common.pp
try again, with puppetforge modules, correctly included now
[dsa-puppet.git] / 3rdparty / modules / nova / manifests / vncproxy / common.pp
diff --git a/3rdparty/modules/nova/manifests/vncproxy/common.pp b/3rdparty/modules/nova/manifests/vncproxy/common.pp
new file mode 100644 (file)
index 0000000..15b4633
--- /dev/null
@@ -0,0 +1,54 @@
+# == Class: nova::vncproxy::common
+#
+# [*vncproxy_host*]
+#   (optional) The host of the VNC proxy server
+#   Defaults to false
+#
+# [*vncproxy_protocol*]
+#   (optional) The protocol to communicate with the VNC proxy server
+#   Defaults to 'http'
+#
+# [*vncproxy_port*]
+#   (optional) The port to communicate with the VNC proxy server
+#   Defaults to '6080'
+#
+# [*vncproxy_path*]
+#   (optional) The path at the end of the uri for communication with the VNC proxy server
+#   Defaults to '/vnc_auto.html'
+#
+class nova::vncproxy::common (
+  $vncproxy_host     = undef,
+  $vncproxy_protocol = undef,
+  $vncproxy_port     = undef,
+  $vncproxy_path     = undef,
+) {
+
+  $vncproxy_host_real     = pick(
+    $vncproxy_host,
+    $::nova::compute::vncproxy_host,
+    $::nova::vncproxy::host,
+    false)
+  $vncproxy_protocol_real = pick(
+    $vncproxy_protocol,
+    $::nova::compute::vncproxy_protocol,
+    $::nova::vncproxy::vncproxy_protocol,
+    'http')
+  $vncproxy_port_real     = pick(
+    $vncproxy_port,
+    $::nova::compute::vncproxy_port,
+    $::nova::vncproxy::port,
+    6080)
+  $vncproxy_path_real     = pick(
+    $vncproxy_path,
+    $::nova::compute::vncproxy_path,
+    $::nova::vncproxy::vncproxy_path,
+    '/vnc_auto.html')
+
+  if ($vncproxy_host_real) {
+    $vncproxy_base_url = "${vncproxy_protocol_real}://${vncproxy_host_real}:${vncproxy_port_real}${vncproxy_path_real}"
+    # config for vnc proxy
+    nova_config {
+      'DEFAULT/novncproxy_base_url': value => $vncproxy_base_url;
+    }
+  }
+}