Files
puppet-nova/manifests/db/sync_api.pp
Oliver Walsh dc2f3a3586 Implement a proper cell_v2 setup
Rather than use simple_cell_setup which expects that there are already
existing computes, this change uses map_cell0 & create_cell to setup
cell_v2. Once the computes are configured, the cell_v2 discover_hosts
should be used to finalized the installation.

In addition, the db syncs need to be reordered as the api db sync
should run before the the cell_v2 setup. The main db sync should run
after.

map_cell0/simple_cell_setup now uses main nova DB connection instead
of the api DB connection.

Change-Id: I591b451197dc3bd0783978f5e3d2b1c830afe54e
Closes-Bug: #1656276
Related-Bug: #1656673
Co-Authored-By: Alex Schultz <aschultz@redhat.com>
2017-01-24 16:21:07 -07:00

53 lines
1.4 KiB
Puppet

#
# Class to execute nova api_db sync
#
# ==Parameters
#
# [*extra_params*]
# (optional) String of extra command line parameters to append
# to the nova-manage db sync command. These will be inserted in
# the command line between 'nova-manage' and 'db sync'.
# Defaults to undef
#
# [*cellv2_setup*]
# (optional) This flag toggles if we preform a minimal cell_v2 setup of a
# a single cell.
# NOTE: 'nova-manage cell_v2 discover_hosts' must be
# run after any nova-compute hosts have been deployed.
# This flag will be set to true in Ocata when the cell v2 setup is mandatory.
# Defaults to false.
#
# [*db_sync_timeout*]
# (optional) Timeout for the execution of the db_sync
# Defaults to 300.
#
class nova::db::sync_api(
$extra_params = undef,
$cellv2_setup = false,
$db_sync_timeout = 300,
) {
include ::nova::deps
include ::nova::params
exec { 'nova-db-sync-api':
command => "/usr/bin/nova-manage ${extra_params} api_db sync",
refreshonly => true,
try_sleep => 5,
tries => 10,
timeout => $db_sync_timeout,
logoutput => on_failure,
subscribe => [
Anchor['nova::install::end'],
Anchor['nova::config::end'],
Anchor['nova::db::end'],
Anchor['nova::dbsync_api::begin']
],
notify => Anchor['nova::dbsync_api::end'],
}
if $cellv2_setup {
include ::nova::cell_v2::simple_setup
}
}