aboutsummaryrefslogtreecommitdiffstats
path: root/manifests/profile/base/nova
diff options
context:
space:
mode:
authorDan Prince <dprince@redhat.com>2017-01-09 10:17:35 -0500
committerAlex Schultz <aschultz@redhat.com>2017-01-09 14:34:45 -0700
commit7af9ff39e96acd306bdddcf8f6e48a20fe7ee3f0 (patch)
tree9bcc6b8688c3815886615941d57a584009c085a1 /manifests/profile/base/nova
parent77cd102c9a96c1be4bef7f8afb95f300c06d2134 (diff)
Move nova cells db sync into nova-api profile
Having the db_sync code live in the mysql profile causes coupling that doesn't work unless your MySQL server has the latest Nova packages installed. This may not work for some baremetal setups (where an isolated database exists) or with containers where the MySQL container definately doesn't have nova packages installed. Moving this code into the nova-api role also matches where we were already db syncing the normal API database so it should be fine and safe. Change-Id: Ib625e2ac9c8d6bd1d335c58e291facc4ea5839ae Co-Authored-By: Alex Schultz <aschultz@redhat.com>
Diffstat (limited to 'manifests/profile/base/nova')
-rw-r--r--manifests/profile/base/nova/api.pp19
1 files changed, 19 insertions, 0 deletions
diff --git a/manifests/profile/base/nova/api.pp b/manifests/profile/base/nova/api.pp
index 69b90fa..b4e3d74 100644
--- a/manifests/profile/base/nova/api.pp
+++ b/manifests/profile/base/nova/api.pp
@@ -85,6 +85,25 @@ class tripleo::profile::base::nova::api (
$tls_keyfile = undef
}
+ if ($step >= 3 and $sync_db) {
+ $messaging_hosts_real = any2array($::tripleo::profile::base::nova::messaging_hosts)
+ # 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', $::tripleo::profile::base::nova::messaging_port)
+ $messaging_use_ssl_real = sprintf('%s', bool2num(str2bool($::tripleo::profile::base::nova::messaging_use_ssl)))
+
+ class { '::nova::db::sync_cell_v2':
+ transport_url => os_transport_url({
+ 'transport' => $::tripleo::profile::base::nova::messaging_driver,
+ 'hosts' => $messaging_hosts_real,
+ 'port' => $messaging_port_real,
+ 'username' => $::tripleo::profile::base::nova::messaging_username,
+ 'password' => $::tripleo::profile::base::nova::messaging_password,
+ 'ssl' => $messaging_use_ssl_real,
+ }),
+ }
+ }
+
if $step >= 4 or ($step >= 3 and $sync_db) {
if hiera('nova::use_ipv6', false) {