aboutsummaryrefslogtreecommitdiffstats
path: root/manifests/profile/base/database/mysql.pp
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/profile/base/database/mysql.pp')
-rw-r--r--manifests/profile/base/database/mysql.pp71
1 files changed, 70 insertions, 1 deletions
diff --git a/manifests/profile/base/database/mysql.pp b/manifests/profile/base/database/mysql.pp
index a039439..634b615 100644
--- a/manifests/profile/base/database/mysql.pp
+++ b/manifests/profile/base/database/mysql.pp
@@ -66,6 +66,38 @@
# for more details.
# Defaults to hiera('step')
#
+# [*nova_messaging_driver*]
+# Driver for messaging service. Will fallback to looking up in hiera
+# using hiera('messaging_service_name', 'rabbit') if the parameter is not
+# specified.
+# Defaults to undef.
+#
+# [*nova_messaging_hosts*]
+# list of the messaging host fqdns. Will fallback to looking up in hiera
+# using hiera('rabbitmq_node_names') if the parameter is not specified.
+# Defaults to undef.
+#
+# [*nova_messaging_port*]
+# IP port for messaging service. Will fallback to looking up in hiera using
+# hiera('nova::rabbit_port', 5672) if the parameter is not specified.
+# Defaults to undef.
+#
+# [*nova_messaging_username*]
+# Username for messaging nova queue. Will fallback to looking up in hiera
+# using hiera('nova::rabbit_userid', 'guest') if the parameter is not
+# specified.
+# Defaults to undef.
+#
+# [*nova_messaging_password*]
+# Password for messaging nova queue. Will fallback to looking up in hiera
+# using hiera('nova::rabbit_password') if the parameter is not specified.
+# Defaults to undef.
+#
+# [*nova_messaging_use_ssl*]
+# Flag indicating ssl usage. Will fallback to looking up in hiera using
+# hiera('nova::rabbit_use_ssl', '0') if the parameter is not specified.
+# Defaults to undef.
+#
class tripleo::profile::base::database::mysql (
$bind_address = $::hostname,
$bootstrap_node = hiera('bootstrap_nodeid', undef),
@@ -76,6 +108,12 @@ class tripleo::profile::base::database::mysql (
$mysql_server_options = {},
$remove_default_accounts = true,
$step = hiera('step'),
+ $nova_messaging_driver = undef,
+ $nova_messaging_hosts = undef,
+ $nova_messaging_password = undef,
+ $nova_messaging_port = undef,
+ $nova_messaging_username = undef,
+ $nova_messaging_use_ssl = undef,
) {
if $::hostname == downcase($bootstrap_node) {
@@ -176,7 +214,38 @@ class tripleo::profile::base::database::mysql (
}
if hiera('nova_api_enabled', false) {
include ::nova::db::mysql
- include ::nova::db::mysql_api
+ # NOTE(aschultz): I am generally opposed to this, however given that the
+ # nova api is optional, we need to do this lookups only if not provided
+ # via parameters.
+ $messaging_driver_real = pick($nova_messaging_driver,
+ hiera('messaging_service_name', 'rabbit'))
+ $messaging_hosts_real = any2array(
+ pick($nova_messaging_hosts, hiera('rabbitmq_node_names')))
+ # TODO(aschultz): remove sprintf once we properly type the port, needs
+ # to be a string for the os_transport_url function.
+ $messaging_port_real = sprintf('%s',
+ pick($nova_messaging_port, hiera('nova::rabbit_port', '5672')))
+ $messaging_username_real = pick($nova_messaging_username,
+ hiera('nova::rabbit_userid', 'guest'))
+ $messaging_password_real = pick($nova_messaging_password,
+ hiera('nova::rabbit_password'))
+ $messaging_use_ssl_real = sprintf('%s', bool2num(str2bool(
+ pick($nova_messaging_use_ssl, hiera('nova::rabbit_user_ssl', '0')))))
+
+ # TODO(aschultz): switch this back to an include once setup_cell0 in THT
+ class { '::nova::db::mysql_api':
+ setup_cell0 => true,
+ }
+ class { '::nova::db::sync_cell_v2':
+ transport_url => os_transport_url({
+ 'transport' => $messaging_driver_real,
+ 'hosts' => $messaging_hosts_real,
+ 'port' => $messaging_port_real,
+ 'username' => $messaging_username_real,
+ 'password' => $messaging_password_real,
+ 'ssl' => $messaging_use_ssl_real,
+ }),
+ }
}
if hiera('sahara_api_enabled', false) {
include ::sahara::db::mysql