]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/nova/manifests/manage/cells.pp
try again, with puppetforge modules, correctly included now
[dsa-puppet.git] / 3rdparty / modules / nova / manifests / manage / cells.pp
diff --git a/3rdparty/modules/nova/manifests/manage/cells.pp b/3rdparty/modules/nova/manifests/manage/cells.pp
new file mode 100644 (file)
index 0000000..059c7d5
--- /dev/null
@@ -0,0 +1,90 @@
+#
+# Copyright (C) 2013 eNovance SAS <licensing@enovance.com>
+#
+# Author: Emilien Macchi <emilien.macchi@enovance.com>
+#         François Charlier <francois.charlier@enovance.com>
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+#
+# Configuring the database in each cell
+# == Namevar
+#  The namevar will be the name of the cell
+#
+# == Parameters
+#  [*cell_type*]
+#    (optional) Whether the cell is a 'parent' or 'child'
+#    Defaults to 'parent'
+#
+#  [*cell_parent_name*]
+#    (optional) If a child cell, this is the name of the 'parent' cell.
+#    If a parent cell, should be left to undef.
+#    Defaults to undef
+#
+#  [*rabbit_username*]
+#    (optional) Username for the message broker in this cell
+#    Defaults to 'guest'
+#
+#  [*rabbit_password*]
+#    (optional) Password for the message broker in this cell
+#    Defaults to 'guest'
+#
+#  [*rabbit_hosts*]
+#    (optional) Address of the message broker in this cell
+#    Defaults to 'localhost'
+#
+#  [*rabbit_port*]
+#    (optional) Port number of the message broker in this cell
+#    Defaults to '5672'
+#
+#  [*rabbit_virtual_host*]
+#    (optional) The virtual host of the message broker in this cell
+#    Defaults to '/'
+#
+#  [*weight_offset*]
+#    (optional) It might be used by some cell scheduling code in the future
+#    Defaults to '1.0'
+#
+#  [*weight_scale*]
+#    (optional) It might be used by some cell scheduling code in the future
+#    Defaults to '1.0'
+#
+define nova::manage::cells (
+  $cell_type           = 'parent',
+  $cell_parent_name    = undef,
+  $rabbit_username     = 'guest',
+  $rabbit_password     = 'guest',
+  $rabbit_hosts        = 'localhost',
+  $rabbit_port         = '5672',
+  $rabbit_virtual_host = '/',
+  $weight_offset       = '1.0',
+  $weight_scale        = '1.0'
+) {
+
+  File['/etc/nova/nova.conf'] -> Nova_cells[$name]
+  Exec<| title == 'nova-db-sync' |> -> Nova_cells[$name]
+
+  nova_cells { $name:
+    ensure              => present,
+    cell_type           => $cell_type,
+    cell_parent_name    => $cell_parent_name,
+    rabbit_username     => $rabbit_username,
+    rabbit_password     => $rabbit_password,
+    rabbit_hosts        => $rabbit_hosts,
+    rabbit_port         => $rabbit_port,
+    rabbit_virtual_host => $rabbit_virtual_host,
+    weight_offset       => $weight_offset,
+    weight_scale        => $weight_scale
+  }
+
+}