]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/nova/manifests/qpid.pp
try again, with puppetforge modules, correctly included now
[dsa-puppet.git] / 3rdparty / modules / nova / manifests / qpid.pp
diff --git a/3rdparty/modules/nova/manifests/qpid.pp b/3rdparty/modules/nova/manifests/qpid.pp
new file mode 100644 (file)
index 0000000..8d83f78
--- /dev/null
@@ -0,0 +1,57 @@
+# == Class: nova::qpid
+#
+# Class for installing qpid server for nova
+#
+# === Parameters:
+#
+# [*enabled*]
+#   (optional) Whether to enable the service
+#   Defaults to true
+#
+# [*user*]
+#   (optional) The user to create in qpid
+#   Defaults to 'guest'
+#
+# [*password*]
+#   (optional) The password to create for the user
+#   Defaults to 'guest'
+#
+# [*file*]
+#   (optional) Sasl file for the user
+#   Defaults to '/var/lib/qpidd/qpidd.sasldb'
+#
+# [*realm*]
+#   (optional) Realm for the user
+#   Defaults to 'OPENSTACK'
+#
+class nova::qpid(
+  $enabled  = true,
+  $user     = 'guest',
+  $password = 'guest',
+  $file     = '/var/lib/qpidd/qpidd.sasldb',
+  $realm    = 'OPENSTACK'
+) {
+
+  # only configure nova after the queue is up
+  Class['qpid::server'] -> Package<| title == 'nova-common' |>
+
+  if ($enabled) {
+    $service_ensure = 'running'
+
+    qpid_user { $user:
+      password  => $password,
+      file      => $file,
+      realm     => $realm,
+      provider  => 'saslpasswd2',
+      require   => Class['qpid::server'],
+    }
+
+  } else {
+    $service_ensure = 'stopped'
+  }
+
+  class { 'qpid::server':
+    service_ensure => $service_ensure
+  }
+
+}