aboutsummaryrefslogtreecommitdiffstats
path: root/manifests
diff options
context:
space:
mode:
Diffstat (limited to 'manifests')
-rw-r--r--manifests/certmonger/haproxy.pp5
-rw-r--r--manifests/profile/base/ceilometer/collector.pp18
-rw-r--r--manifests/profile/base/cinder/api.pp17
-rw-r--r--manifests/profile/base/glance/registry.pp15
-rw-r--r--manifests/profile/base/gnocchi/api.pp15
-rw-r--r--manifests/profile/base/heat/engine.pp15
-rw-r--r--manifests/profile/base/ironic.pp19
-rw-r--r--manifests/profile/base/keystone.pp31
-rw-r--r--manifests/profile/base/manila/scheduler.pp17
-rw-r--r--manifests/profile/base/neutron.pp4
-rw-r--r--manifests/profile/base/neutron/plugins/ml2.pp15
-rw-r--r--manifests/profile/base/neutron/plugins/nuage.pp19
-rw-r--r--manifests/profile/base/neutron/plugins/opencontrail.pp19
-rw-r--r--manifests/profile/base/neutron/plugins/plumgrid.pp19
-rw-r--r--manifests/profile/base/neutron/server.pp32
-rw-r--r--manifests/profile/base/nova/api.pp17
-rw-r--r--manifests/profile/base/nova/compute.pp3
-rw-r--r--manifests/profile/base/pacemaker.pp2
-rw-r--r--manifests/profile/base/sahara/engine.pp18
-rw-r--r--manifests/profile/base/trove/api.pp17
-rw-r--r--manifests/profile/pacemaker/apache.pp48
-rw-r--r--manifests/profile/pacemaker/ceilometer/collector.pp4
-rw-r--r--manifests/profile/pacemaker/cinder/api.pp4
-rw-r--r--manifests/profile/pacemaker/glance.pp4
-rw-r--r--manifests/profile/pacemaker/gnocchi.pp7
-rw-r--r--manifests/profile/pacemaker/gnocchi/api.pp11
-rw-r--r--manifests/profile/pacemaker/heat/engine.pp4
-rw-r--r--manifests/profile/pacemaker/keystone.pp11
-rw-r--r--manifests/profile/pacemaker/neutron/plugins/ml2.pp13
-rw-r--r--manifests/profile/pacemaker/neutron/plugins/nuage.pp13
-rw-r--r--manifests/profile/pacemaker/neutron/plugins/opencontrail.pp13
-rw-r--r--manifests/profile/pacemaker/neutron/plugins/plumgrid.pp13
-rw-r--r--manifests/profile/pacemaker/nova/api.pp4
-rw-r--r--manifests/profile/pacemaker/nova/conductor.pp5
-rw-r--r--manifests/profile/pacemaker/sahara/engine.pp4
35 files changed, 283 insertions, 192 deletions
diff --git a/manifests/certmonger/haproxy.pp b/manifests/certmonger/haproxy.pp
index 0806e40..2b738e6 100644
--- a/manifests/certmonger/haproxy.pp
+++ b/manifests/certmonger/haproxy.pp
@@ -36,18 +36,23 @@
# The post-save-command that certmonger will use once it renews the
# certificate.
#
+# [*principal*]
+# The haproxy service principal that is set for HAProxy in kerberos.
+#
define tripleo::certmonger::haproxy (
$service_pem,
$service_certificate,
$service_key,
$hostname,
$postsave_cmd,
+ $principal = undef,
){
certmonger_certificate { "${title}-cert":
hostname => $hostname,
certfile => $service_certificate,
keyfile => $service_key,
postsave_cmd => $postsave_cmd,
+ principal => $principal,
}
concat { $service_pem :
ensure => present,
diff --git a/manifests/profile/base/ceilometer/collector.pp b/manifests/profile/base/ceilometer/collector.pp
index c294e56..b0a986f 100644
--- a/manifests/profile/base/ceilometer/collector.pp
+++ b/manifests/profile/base/ceilometer/collector.pp
@@ -18,20 +18,24 @@
#
# === Parameters
#
+# [*bootstrap_node*]
+# (Optional) The hostname of the node responsible for bootstrapping tasks
+# Defaults to hiera('bootstrap_nodeid')
+#
# [*step*]
# (Optional) The current step in deployment. See tripleo-heat-templates
# for more details.
# Defaults to hiera('step')
-#
-# [*sync_db*]
-# (Optional) Whether to run db sync
-# Defaults to true
-#
class tripleo::profile::base::ceilometer::collector (
- $step = hiera('step'),
- $sync_db = true,
+ $bootstrap_node = hiera('bootstrap_nodeid', undef),
+ $step = hiera('step'),
) {
+ if $::hostname == downcase($bootstrap_node) {
+ $sync_db = true
+ } else {
+ $sync_db = false
+ }
$ceilometer_backend = downcase(hiera('ceilometer_backend', 'mongodb'))
# MongoDB
diff --git a/manifests/profile/base/cinder/api.pp b/manifests/profile/base/cinder/api.pp
index a2da25f..ad970f6 100644
--- a/manifests/profile/base/cinder/api.pp
+++ b/manifests/profile/base/cinder/api.pp
@@ -18,19 +18,24 @@
#
# === Parameters
#
-# [*sync_db*]
-# (Optional) Whether to run db sync
-# Defaults to true
+# [*bootstrap_node*]
+# (Optional) The hostname of the node responsible for bootstrapping tasks
+# Defaults to hiera('bootstrap_nodeid')
#
# [*step*]
# (Optional) The current step in deployment. See tripleo-heat-templates
# for more details.
# Defaults to hiera('step')
-#
+
class tripleo::profile::base::cinder::api (
- $sync_db = true,
- $step = hiera('step'),
+ $bootstrap_node = hiera('bootstrap_nodeid', undef),
+ $step = hiera('step'),
) {
+ if $::hostname == downcase($bootstrap_node) {
+ $sync_db = true
+ } else {
+ $sync_db = false
+ }
class { '::tripleo::profile::base::cinder':
pacemaker_master => $sync_db,
diff --git a/manifests/profile/base/glance/registry.pp b/manifests/profile/base/glance/registry.pp
index 774f646..ce89d12 100644
--- a/manifests/profile/base/glance/registry.pp
+++ b/manifests/profile/base/glance/registry.pp
@@ -18,9 +18,9 @@
#
# === Parameters
#
-# [*sync_db*]
-# (Optional) Whether to run db sync
-# Defaults to true
+# [*bootstrap_node*]
+# (Optional) The hostname of the node responsible for bootstrapping tasks
+# Defaults to hiera('bootstrap_nodeid')
#
# [*step*]
# (Optional) The current step in deployment. See tripleo-heat-templates
@@ -30,12 +30,17 @@
# [*glance_backend*]
# (Optional) Glance backend(s) to use.
# Defaults to downcase(hiera('glance_backend', 'swift'))
-#
+
class tripleo::profile::base::glance::registry (
- $sync_db = true,
+ $bootstrap_node = hiera('bootstrap_nodeid', undef),
$step = hiera('step'),
$glance_backend = downcase(hiera('glance_backend', 'swift')),
) {
+ if $::hostname == downcase($bootstrap_node) {
+ $sync_db = true
+ } else {
+ $sync_db = false
+ }
if $step >= 3 and $sync_db {
include ::glance::db::mysql
diff --git a/manifests/profile/base/gnocchi/api.pp b/manifests/profile/base/gnocchi/api.pp
index d415ee9..870a9bb 100644
--- a/manifests/profile/base/gnocchi/api.pp
+++ b/manifests/profile/base/gnocchi/api.pp
@@ -22,20 +22,25 @@
# (Optional) Gnocchi backend string file, swift or rbd
# Defaults to swift
#
+# [*bootstrap_node*]
+# (Optional) The hostname of the node responsible for bootstrapping tasks
+# Defaults to hiera('bootstrap_nodeid')
+#
# [*step*]
# (Optional) The current step in deployment. See tripleo-heat-templates
# for more details.
# Defaults to hiera('step')
-#
-# [*sync_db*]
-# (Optional) Whether to run db sync
-# Defaults to undef
class tripleo::profile::base::gnocchi::api (
$gnocchi_backend = downcase(hiera('gnocchi_backend', 'swift')),
+ $bootstrap_node = hiera('bootstrap_nodeid', undef),
$step = hiera('step'),
- $sync_db = true,
) {
+ if $::hostname == downcase($bootstrap_node) {
+ $sync_db = true
+ } else {
+ $sync_db = false
+ }
include ::tripleo::profile::base::gnocchi
diff --git a/manifests/profile/base/heat/engine.pp b/manifests/profile/base/heat/engine.pp
index b48837c..1fd627f 100644
--- a/manifests/profile/base/heat/engine.pp
+++ b/manifests/profile/base/heat/engine.pp
@@ -18,19 +18,24 @@
#
# === Parameters
#
-# [*sync_db*]
-# (Optional) Whether to run db sync
-# Defaults to undef
+# [*bootstrap_node*]
+# (Optional) The hostname of the node responsible for bootstrapping tasks
+# Defaults to hiera('bootstrap_nodeid')
#
# [*step*]
# (Optional) The current step in deployment. See tripleo-heat-templates
# for more details.
# Defaults to hiera('step')
-#
+
class tripleo::profile::base::heat::engine (
- $sync_db = true,
+ $bootstrap_node = hiera('bootstrap_nodeid', undef),
$step = hiera('step'),
) {
+ if $::hostname == downcase($bootstrap_node) {
+ $sync_db = true
+ } else {
+ $sync_db = false
+ }
if $step >= 3 and $sync_db {
include ::heat::db::mysql
diff --git a/manifests/profile/base/ironic.pp b/manifests/profile/base/ironic.pp
index 139654b..dd30dd7 100644
--- a/manifests/profile/base/ironic.pp
+++ b/manifests/profile/base/ironic.pp
@@ -18,18 +18,23 @@
#
# === Parameters
#
+# [*bootstrap_node*]
+# (Optional) The hostname of the node responsible for bootstrapping tasks
+# Defaults to hiera('bootstrap_nodeid')
+#
# [*step*]
# (Optional) The current step of the deployment
# Defaults to hiera('step')
-#
-# [*sync_db*]
-# (Optional) Whether to run db sync
-# Defaults to true
-#
+
class tripleo::profile::base::ironic (
- $step = hiera('step'),
- $sync_db = true,
+ $bootstrap_node = hiera('bootstrap_nodeid', undef),
+ $step = hiera('step'),
) {
+ if $::hostname == downcase($bootstrap_node) {
+ $sync_db = true
+ } else {
+ $sync_db = false
+ }
if $step >= 3 {
include ::ironic
diff --git a/manifests/profile/base/keystone.pp b/manifests/profile/base/keystone.pp
index 706b78f..9617c11 100644
--- a/manifests/profile/base/keystone.pp
+++ b/manifests/profile/base/keystone.pp
@@ -18,34 +18,33 @@
#
# === Parameters
#
-# [*sync_db*]
-# (Optional) Whether to run db sync
-# Defaults to true
-#
-# [*manage_roles*]
-# (Optional) whether to create keystone admin role
-# Defaults to true
-#
-# [*manage_endpoint*]
-# (Optional) Whether to create keystone endpoints
-# Defaults to true
-#
# [*manage_db_purge*]
# (Optional) Whether keystone token flushing should be enabled
# Defaults to hiera('keystone_enable_db_purge', true)
#
+# [*bootstrap_node*]
+# (Optional) The hostname of the node responsible for bootstrapping tasks
+# Defaults to hiera('bootstrap_nodeid')
+#
# [*step*]
# (Optional) The current step in deployment. See tripleo-heat-templates
# for more details.
# Defaults to hiera('step')
-#
+
class tripleo::profile::base::keystone (
- $sync_db = true,
- $manage_roles = true,
- $manage_endpoint = true,
$manage_db_purge = hiera('keystone_enable_db_purge', true),
+ $bootstrap_node = hiera('bootstrap_nodeid', undef),
$step = hiera('step'),
) {
+ if $::hostname == downcase($bootstrap_node) {
+ $sync_db = true
+ $manage_roles = true
+ $manage_endpoint = true
+ } else {
+ $sync_db = false
+ $manage_roles = false
+ $manage_endpoint = false
+ }
if $step >= 3 and $sync_db {
include ::keystone::db::mysql
diff --git a/manifests/profile/base/manila/scheduler.pp b/manifests/profile/base/manila/scheduler.pp
index b6d7593..3d39c4a 100644
--- a/manifests/profile/base/manila/scheduler.pp
+++ b/manifests/profile/base/manila/scheduler.pp
@@ -18,19 +18,24 @@
#
# === Parameters
#
+# [*bootstrap_node*]
+# (Optional) The hostname of the node responsible for bootstrapping tasks
+# Defaults to hiera('bootstrap_nodeid')
+#
# [*step*]
# (Optional) The current step in deployment. See tripleo-heat-templates
# for more details.
# Defaults to hiera('step')
-#
-# [*sync_db*]
-# (Optiona) Whether to run db sync.
-# Defaults to true.
-#
+
class tripleo::profile::base::manila::scheduler (
+ $bootstrap_node = hiera('bootstrap_nodeid', undef),
$step = hiera('step'),
- $sync_db = true,
) {
+ if $::hostname == downcase($bootstrap_node) {
+ $sync_db = true
+ } else {
+ $sync_db = false
+ }
if $step >= 3 and $sync_db {
include ::manila::db::mysql
diff --git a/manifests/profile/base/neutron.pp b/manifests/profile/base/neutron.pp
index 1ee2d90..7b07b1f 100644
--- a/manifests/profile/base/neutron.pp
+++ b/manifests/profile/base/neutron.pp
@@ -23,9 +23,9 @@
# Defaults to hiera('step')
#
class tripleo::profile::base::neutron (
- $step = hiera('step'),
+ $step = hiera('step'),
) {
- if hiera('step') >= 3 {
+ if $step >= 3 {
include ::neutron
include ::neutron::config
}
diff --git a/manifests/profile/base/neutron/plugins/ml2.pp b/manifests/profile/base/neutron/plugins/ml2.pp
index 8218c9e..0193615 100644
--- a/manifests/profile/base/neutron/plugins/ml2.pp
+++ b/manifests/profile/base/neutron/plugins/ml2.pp
@@ -22,20 +22,25 @@
# (Optional) The mechanism drivers to use with the Ml2 plugin
# Defaults to hiera('neutron::plugins::ml2::mechanism_drivers')
#
-# [*sync_db*]
-# (Optional) Whether to run Neutron DB sync operations
-# Defaults to undef
+# [*bootstrap_node*]
+# (Optional) The hostname of the node responsible for bootstrapping tasks
+# Defaults to hiera('bootstrap_nodeid')
#
# [*step*]
# (Optional) The current step in deployment. See tripleo-heat-templates
# for more details.
# Defaults to hiera('step')
-#
+
class tripleo::profile::base::neutron::plugins::ml2 (
$mechanism_drivers = hiera('neutron::plugins::ml2::mechanism_drivers'),
- $sync_db = true,
+ $bootstrap_node = hiera('bootstrap_nodeid', undef),
$step = hiera('step'),
) {
+ if $::hostname == downcase($bootstrap_node) {
+ $sync_db = true
+ } else {
+ $sync_db = false
+ }
include ::tripleo::profile::base::neutron
diff --git a/manifests/profile/base/neutron/plugins/nuage.pp b/manifests/profile/base/neutron/plugins/nuage.pp
index 5d3661e..4ada340 100644
--- a/manifests/profile/base/neutron/plugins/nuage.pp
+++ b/manifests/profile/base/neutron/plugins/nuage.pp
@@ -16,19 +16,24 @@
#
# Nuage Neutron profile for tripleo
#
+# [*bootstrap_node*]
+# (Optional) The hostname of the node responsible for bootstrapping tasks
+# Defaults to hiera('bootstrap_nodeid')
+#
# [*step*]
# (Optional) The current step in deployment. See tripleo-heat-templates
# for more details.
# Defaults to hiera('step')
-#
-# [*sync_db*]
-# (Optional) Whether to run Neutron DB sync operations
-# Defaults to undef
-#
+
class tripleo::profile::base::neutron::plugins::nuage (
- $step = hiera('step'),
- $sync_db = true,
+ $bootstrap_node = hiera('bootstrap_nodeid', undef),
+ $step = hiera('step'),
) {
+ if $::hostname == downcase($bootstrap_node) {
+ $sync_db = true
+ } else {
+ $sync_db = false
+ }
include ::tripleo::profile::base::neutron
diff --git a/manifests/profile/base/neutron/plugins/opencontrail.pp b/manifests/profile/base/neutron/plugins/opencontrail.pp
index 96d7421..6cd710a 100644
--- a/manifests/profile/base/neutron/plugins/opencontrail.pp
+++ b/manifests/profile/base/neutron/plugins/opencontrail.pp
@@ -16,19 +16,24 @@
#
# Opencontrail Neutron profile for tripleo
#
+# [*bootstrap_node*]
+# (Optional) The hostname of the node responsible for bootstrapping tasks
+# Defaults to hiera('bootstrap_nodeid')
+#
# [*step*]
# (Optional) The current step in deployment. See tripleo-heat-templates
# for more details.
# Defaults to hiera('step')
-#
-# [*sync_db*]
-# (Optional) Whether to run Neutron DB sync operations
-# Defaults to undef
-#
+
class tripleo::profile::base::neutron::plugins::opencontrail (
- $step = hiera('step'),
- $sync_db = true,
+ $bootstrap_node = hiera('bootstrap_nodeid', undef),
+ $step = hiera('step'),
) {
+ if $::hostname == downcase($bootstrap_node) {
+ $sync_db = true
+ } else {
+ $sync_db = false
+ }
include ::tripleo::profile::base::neutron
diff --git a/manifests/profile/base/neutron/plugins/plumgrid.pp b/manifests/profile/base/neutron/plugins/plumgrid.pp
index f5cd273..efd75ac 100644
--- a/manifests/profile/base/neutron/plugins/plumgrid.pp
+++ b/manifests/profile/base/neutron/plugins/plumgrid.pp
@@ -18,19 +18,24 @@
#
# === Parameters
#
+# [*bootstrap_node*]
+# (Optional) The hostname of the node responsible for bootstrapping tasks
+# Defaults to hiera('bootstrap_nodeid')
+#
# [*step*]
# (Optional) The current step in deployment. See tripleo-heat-templates
# for more details.
# Defaults to hiera('step')
-#
-# [*sync_db*]
-# (Optional) Whether to run Neutron DB sync operations
-# Defaults to undef
-#
+
class tripleo::profile::base::neutron::plugins::plumgrid (
- $step = hiera('step'),
- $sync_db = true,
+ $bootstrap_node = hiera('bootstrap_nodeid', undef),
+ $step = hiera('step'),
) {
+ if $::hostname == downcase($bootstrap_node) {
+ $sync_db = true
+ } else {
+ $sync_db = false
+ }
include ::tripleo::profile::base::neutron
diff --git a/manifests/profile/base/neutron/server.pp b/manifests/profile/base/neutron/server.pp
index 8b5539e..5a1b377 100644
--- a/manifests/profile/base/neutron/server.pp
+++ b/manifests/profile/base/neutron/server.pp
@@ -18,24 +18,46 @@
#
# === Parameters
#
+# [*bootstrap_node*]
+# (Optional) The hostname of the node responsible for bootstrapping tasks
+# Defaults to hiera('bootstrap_nodeid')
+#
# [*step*]
# (Optional) The current step in deployment. See tripleo-heat-templates
# for more details.
# Defaults to hiera('step')
#
class tripleo::profile::base::neutron::server (
- $step = hiera('step'),
+ $bootstrap_node = hiera('bootstrap_nodeid', undef),
+ $step = hiera('step'),
) {
+ if $::hostname == downcase($bootstrap_node) {
+ $sync_db = true
+ } else {
+ $sync_db = false
+ }
include ::tripleo::profile::base::neutron
- if $step >= 3 {
+ if $step >= 3 and $sync_db {
include ::neutron::db::mysql
}
- if $step >= 4 {
+ # We start neutron-server on the bootstrap node first, because
+ # it will try to populate tables and we need to make sure this happens
+ # before it starts on other nodes
+ if $step >= 4 and $sync_db {
include ::neutron::server::notifications
- include ::neutron::server
+ # We need to override the hiera value neutron::server::sync_db which is set
+ # to true
+ class { '::neutron::server':
+ sync_db => $sync_db,
+ }
+ }
+ if $step >= 5 and !$sync_db {
+ include ::neutron::server::notifications
+ class { '::neutron::server':
+ sync_db => $sync_db,
+ }
}
-
}
diff --git a/manifests/profile/base/nova/api.pp b/manifests/profile/base/nova/api.pp
index 763dc41..285e0b7 100644
--- a/manifests/profile/base/nova/api.pp
+++ b/manifests/profile/base/nova/api.pp
@@ -16,21 +16,24 @@
#
# Nova API profile for tripleo
#
-# === Parameters
+# [*bootstrap_node*]
+# (Optional) The hostname of the node responsible for bootstrapping tasks
+# Defaults to hiera('bootstrap_nodeid')
#
# [*step*]
# (Optional) The current step in deployment. See tripleo-heat-templates
# for more details.
# Defaults to hiera('step')
#
-# [*sync_db*]
-# (Optional) Whether to run db sync
-# Defaults to true
-#
class tripleo::profile::base::nova::api (
- $step = hiera('step'),
- $sync_db = true,
+ $bootstrap_node = hiera('bootstrap_nodeid', undef),
+ $step = hiera('step'),
) {
+ if $::hostname == downcase($bootstrap_node) {
+ $sync_db = true
+ } else {
+ $sync_db = false
+ }
include ::tripleo::profile::base::nova
diff --git a/manifests/profile/base/nova/compute.pp b/manifests/profile/base/nova/compute.pp
index c734906..076996a 100644
--- a/manifests/profile/base/nova/compute.pp
+++ b/manifests/profile/base/nova/compute.pp
@@ -38,6 +38,9 @@ class tripleo::profile::base::nova::compute (
# deploy basic bits for nova-compute
include ::nova::compute
+ # If Service['nova-conductor'] is in catalog, make sure we start it
+ # before nova-compute.
+ Service<| title == 'nova-conductor' |> -> Service['nova-compute']
# deploy bits to connect nova compute to neutron
include ::nova::network::neutron
diff --git a/manifests/profile/base/pacemaker.pp b/manifests/profile/base/pacemaker.pp
index fc58891..de107a9 100644
--- a/manifests/profile/base/pacemaker.pp
+++ b/manifests/profile/base/pacemaker.pp
@@ -85,7 +85,7 @@ class tripleo::profile::base::pacemaker (
# Create an openstack-core dummy resource. See RHBZ 1290121
pacemaker::resource::ocf { 'openstack-core':
ocf_agent_name => 'heartbeat:Dummy',
- clone_params => true,
+ clone_params => 'interleave=true',
}
}
}
diff --git a/manifests/profile/base/sahara/engine.pp b/manifests/profile/base/sahara/engine.pp
index 8fa1f5f..f792a96 100644
--- a/manifests/profile/base/sahara/engine.pp
+++ b/manifests/profile/base/sahara/engine.pp
@@ -18,19 +18,25 @@
#
# === Parameters
#
-# [*sync_db*]
-# (Optional) Whether to run db sync
-# Defaults to true
+# [*bootstrap_node*]
+# (Optional) The hostname of the node responsible for bootstrapping tasks
+# Defaults to hiera('bootstrap_nodeid')
#
# [*step*]
# (Optional) The current step in deployment. See tripleo-heat-templates
# for more details.
# Defaults to hiera('step')
-#
+
class tripleo::profile::base::sahara::engine (
- $sync_db = true,
- $step = hiera('step'),
+ $bootstrap_node = hiera('bootstrap_nodeid', undef),
+ $step = hiera('step'),
) {
+ if $::hostname == downcase($bootstrap_node) {
+ $sync_db = true
+ } else {
+ $sync_db = false
+ }
+
if $step >= 3 and $sync_db {
include ::sahara::db::mysql
}
diff --git a/manifests/profile/base/trove/api.pp b/manifests/profile/base/trove/api.pp
index a98f114..06edf7f 100644
--- a/manifests/profile/base/trove/api.pp
+++ b/manifests/profile/base/trove/api.pp
@@ -18,19 +18,24 @@
#
# === Parameters
#
-# [*sync_db*]
-# (Optional) Whether to run db sync
-# Defaults to true
+# [*bootstrap_node*]
+# (Optional) The hostname of the node responsible for bootstrapping tasks
+# Defaults to hiera('bootstrap_nodeid')
#
# [*step*]
# (Optional) The current step in deployment. See tripleo-heat-templates
# for more details.
# Defaults to hiera('step')
-#
+
class tripleo::profile::base::trove::api (
- $sync_db = true,
- $step = hiera('step'),
+ $bootstrap_node = hiera('bootstrap_nodeid', undef),
+ $step = hiera('step'),
) {
+ if $::hostname == downcase($bootstrap_node) {
+ $sync_db = true
+ } else {
+ $sync_db = false
+ }
if $step >= 3 and $sync_db {
include ::trove::db::mysql
diff --git a/manifests/profile/pacemaker/apache.pp b/manifests/profile/pacemaker/apache.pp
new file mode 100644
index 0000000..f23d3e7
--- /dev/null
+++ b/manifests/profile/pacemaker/apache.pp
@@ -0,0 +1,48 @@
+# Copyright 2016 Red Hat, Inc.
+#
+# 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.
+#
+# == Class: tripleo::profile::pacemaker::apache
+#
+# Apache Pacemaker HA profile for tripleo
+#
+# === Parameters
+#
+# [*bootstrap_node*]
+# (Optional) The hostname of the node responsible for bootstrapping tasks
+# Defaults to hiera('bootstrap_nodeid')
+#
+# [*step*]
+# (Optional) The current step in deployment. See tripleo-heat-templates
+# for more details.
+# Defaults to hiera('step')
+#
+class tripleo::profile::pacemaker::apache (
+ $bootstrap_node = hiera('bootstrap_nodeid'),
+ $step = hiera('step'),
+) {
+
+ if $::hostname == downcase($bootstrap_node) {
+ $pacemaker_master = true
+ } else {
+ $pacemaker_master = false
+ }
+
+ if $step >= 5 and $pacemaker_master {
+ include ::apache::params
+ pacemaker::resource::service { $::apache::params::service_name:
+ clone_params => 'interleave=true',
+ verify_on_create => true,
+ }
+ }
+}
diff --git a/manifests/profile/pacemaker/ceilometer/collector.pp b/manifests/profile/pacemaker/ceilometer/collector.pp
index 2a838f2..6610a07 100644
--- a/manifests/profile/pacemaker/ceilometer/collector.pp
+++ b/manifests/profile/pacemaker/ceilometer/collector.pp
@@ -40,9 +40,7 @@ class tripleo::profile::pacemaker::ceilometer::collector (
include ::ceilometer::params
include ::tripleo::profile::pacemaker::ceilometer
- class { '::tripleo::profile::base::ceilometer::collector':
- sync_db => (downcase($::hostname) == $pacemaker_master),
- }
+ include ::tripleo::profile::base::ceilometer::collector
if $step >= 5 and downcase($::hostname) == $pacemaker_master {
$ceilometer_backend = downcase(hiera('ceilometer_backend', 'mongodb'))
diff --git a/manifests/profile/pacemaker/cinder/api.pp b/manifests/profile/pacemaker/cinder/api.pp
index 2c9cedf..6354244 100644
--- a/manifests/profile/pacemaker/cinder/api.pp
+++ b/manifests/profile/pacemaker/cinder/api.pp
@@ -45,9 +45,7 @@ class tripleo::profile::pacemaker::cinder::api (
$pacemaker_master = false
}
- class { '::tripleo::profile::base::cinder::api':
- sync_db => $pacemaker_master,
- }
+ include ::tripleo::profile::base::cinder::api
if $step >= 5 and $pacemaker_master {
pacemaker::resource::service { $::cinder::params::api_service :
diff --git a/manifests/profile/pacemaker/glance.pp b/manifests/profile/pacemaker/glance.pp
index 10f4f03..91fddf6 100644
--- a/manifests/profile/pacemaker/glance.pp
+++ b/manifests/profile/pacemaker/glance.pp
@@ -76,9 +76,7 @@ class tripleo::profile::pacemaker::glance (
}
include ::tripleo::profile::base::glance::api
- class { '::tripleo::profile::base::glance::registry':
- sync_db => $pacemaker_master,
- }
+ include ::tripleo::profile::base::glance::registry
if $step >= 4 {
if $glance_backend == 'file' and $glance_file_pcmk_manage {
diff --git a/manifests/profile/pacemaker/gnocchi.pp b/manifests/profile/pacemaker/gnocchi.pp
index a6d472c..98d1b36 100644
--- a/manifests/profile/pacemaker/gnocchi.pp
+++ b/manifests/profile/pacemaker/gnocchi.pp
@@ -31,16 +31,11 @@
# for more details.
# Defaults to hiera('step')
#
-# [*sync_db*]
-# (Optional) Whether to run db sync
-# Defaults to undef
-#
class tripleo::profile::pacemaker::gnocchi (
$gnocchi_indexer_backend = downcase(hiera('gnocchi_indexer_backend', 'mysql')),
$bootstrap_node = hiera('bootstrap_nodeid'),
$step = hiera('step'),
- $sync_db = true,
) {
Service <| tag == 'gnocchi-service' |> {
@@ -64,7 +59,7 @@ class tripleo::profile::pacemaker::gnocchi (
}
}
- if $step >= 3 and $sync_db {
+ if $step >= 3 and $pacemaker_master {
include ::gnocchi
include ::gnocchi::config
include ::gnocchi::client
diff --git a/manifests/profile/pacemaker/gnocchi/api.pp b/manifests/profile/pacemaker/gnocchi/api.pp
index 684527f..da65731 100644
--- a/manifests/profile/pacemaker/gnocchi/api.pp
+++ b/manifests/profile/pacemaker/gnocchi/api.pp
@@ -18,29 +18,18 @@
#
# === Parameters
#
-# [*pacemaker_master*]
-# (Optional) The hostname of the node responsible for bootstrapping tasks
-# Defaults to hiera('bootstrap_nodeid')
-#
# [*step*]
# (Optional) The current step in deployment. See tripleo-heat-templates
# for more details.
# Defaults to hiera('step')
-#
-# [*sync_db*]
-# (Optional) Whether to run db sync
-# Defaults to undef
class tripleo::profile::pacemaker::gnocchi::api (
- $pacemaker_master = hiera('bootstrap_nodeid'),
$step = hiera('step'),
- $sync_db = true,
) {
include ::tripleo::profile::pacemaker::gnocchi
class { '::tripleo::profile::base::gnocchi::api':
step => $step,
- sync_db => (downcase($::hostname) == $pacemaker_master),
}
}
diff --git a/manifests/profile/pacemaker/heat/engine.pp b/manifests/profile/pacemaker/heat/engine.pp
index 47b8a09..158c138 100644
--- a/manifests/profile/pacemaker/heat/engine.pp
+++ b/manifests/profile/pacemaker/heat/engine.pp
@@ -39,9 +39,7 @@ class tripleo::profile::pacemaker::heat::engine (
}
include ::tripleo::profile::pacemaker::heat
- class { '::tripleo::profile::base::heat::engine':
- sync_db => $pacemaker_master,
- }
+ include ::tripleo::profile::base::heat::engine
if $step >= 5 and $pacemaker_master {
pacemaker::resource::service { $::heat::params::engine_service_name :
diff --git a/manifests/profile/pacemaker/keystone.pp b/manifests/profile/pacemaker/keystone.pp
index 46a40db..e8e12a3 100644
--- a/manifests/profile/pacemaker/keystone.pp
+++ b/manifests/profile/pacemaker/keystone.pp
@@ -46,17 +46,11 @@ class tripleo::profile::pacemaker::keystone (
if $::hostname == downcase($bootstrap_node) {
$pacemaker_master = true
- $manage_roles = true
} else {
$pacemaker_master = false
- $manage_roles = false
}
- class { '::tripleo::profile::base::keystone':
- sync_db => $pacemaker_master,
- manage_roles => $manage_roles,
- manage_endpoint => $manage_roles
- }
+ include ::tripleo::profile::base::keystone
if $step >= 5 and $pacemaker_master and $enable_load_balancer {
pacemaker::constraint::base { 'haproxy-then-keystone-constraint':
@@ -82,6 +76,9 @@ class tripleo::profile::pacemaker::keystone (
require => [Pacemaker::Resource::Ocf['rabbitmq'],
Pacemaker::Resource::Ocf['openstack-core']],
}
+ File['/etc/keystone/ssl/certs/ca.pem'] -> Pacemaker::Resource::Service[$::apache::params::service_name]
+ File['/etc/keystone/ssl/private/signing_key.pem'] -> Pacemaker::Resource::Service[$::apache::params::service_name]
+ File['/etc/keystone/ssl/certs/signing_cert.pem'] -> Pacemaker::Resource::Service[$::apache::params::service_name]
}
}
diff --git a/manifests/profile/pacemaker/neutron/plugins/ml2.pp b/manifests/profile/pacemaker/neutron/plugins/ml2.pp
index 6c9d8b1..e5e13b7 100644
--- a/manifests/profile/pacemaker/neutron/plugins/ml2.pp
+++ b/manifests/profile/pacemaker/neutron/plugins/ml2.pp
@@ -18,19 +18,12 @@
#
# === Parameters
#
-# [*pacemaker_master*]
-# (Optional) The hostname of the pacemaker master
-# Defaults to hiera('bootstrap_nodeid', undef)
-#
-class tripleo::profile::pacemaker::neutron::plugins::ml2 (
- $pacemaker_master = hiera('bootstrap_nodeid', undef),
-) {
+class tripleo::profile::pacemaker::neutron::plugins::ml2
+{
include ::neutron::params
include ::tripleo::profile::pacemaker::neutron
- class { '::tripleo::profile::base::neutron::plugins::ml2':
- sync_db => ($::hostname == downcase($pacemaker_master))
- }
+ include ::tripleo::profile::base::neutron::plugins::ml2
}
diff --git a/manifests/profile/pacemaker/neutron/plugins/nuage.pp b/manifests/profile/pacemaker/neutron/plugins/nuage.pp
index ea40d38..de00761 100644
--- a/manifests/profile/pacemaker/neutron/plugins/nuage.pp
+++ b/manifests/profile/pacemaker/neutron/plugins/nuage.pp
@@ -18,16 +18,9 @@
#
# === Parameters
#
-# [*pacemaker_master*]
-# (Optional) The hostname of the pacemaker master
-# Defaults to hiera('bootstrap_nodeid', undef)
-#
-class tripleo::profile::pacemaker::neutron::plugins::nuage (
- $pacemaker_master = hiera('bootstrap_nodeid', undef),
-) {
+class tripleo::profile::pacemaker::neutron::plugins::nuage
+{
- class { '::tripleo::profile::base::neutron::plugins::nuage':
- sync_db => ($::hostname == downcase($pacemaker_master))
- }
+ include ::tripleo::profile::base::neutron::plugins::nuage
}
diff --git a/manifests/profile/pacemaker/neutron/plugins/opencontrail.pp b/manifests/profile/pacemaker/neutron/plugins/opencontrail.pp
index 8db3cb2..f1568e9 100644
--- a/manifests/profile/pacemaker/neutron/plugins/opencontrail.pp
+++ b/manifests/profile/pacemaker/neutron/plugins/opencontrail.pp
@@ -18,16 +18,9 @@
#
# === Parameters
#
-# [*pacemaker_master*]
-# (Optional) The hostname of the pacemaker master
-# Defaults to hiera('bootstrap_nodeid', undef)
-#
-class tripleo::profile::pacemaker::neutron::plugins::opencontrail (
- $pacemaker_master = hiera('bootstrap_nodeid', undef),
-) {
+class tripleo::profile::pacemaker::neutron::plugins::opencontrail
+{
- class { '::tripleo::profile::base::neutron::plugins::opencontrail':
- sync_db => ($::hostname == downcase($pacemaker_master))
- }
+ include ::tripleo::profile::base::neutron::plugins::opencontrail
}
diff --git a/manifests/profile/pacemaker/neutron/plugins/plumgrid.pp b/manifests/profile/pacemaker/neutron/plugins/plumgrid.pp
index 57f9e31..7313ef9 100644
--- a/manifests/profile/pacemaker/neutron/plugins/plumgrid.pp
+++ b/manifests/profile/pacemaker/neutron/plugins/plumgrid.pp
@@ -18,16 +18,9 @@
#
# === Parameters
#
-# [*pacemaker_master*]
-# (Optional) The hostname of the pacemaker master
-# Defaults to hiera('bootstrap_nodeid', undef)
-#
-class tripleo::profile::pacemaker::neutron::plugins::plumgrid (
- $pacemaker_master = hiera('bootstrap_nodeid', undef),
-) {
+class tripleo::profile::pacemaker::neutron::plugins::plumgrid
+{
- class { '::tripleo::profile::base::neutron::plugins::plumgrid':
- sync_db => ($::hostname == downcase($pacemaker_master))
- }
+ include ::tripleo::profile::base::neutron::plugins::plumgrid
}
diff --git a/manifests/profile/pacemaker/nova/api.pp b/manifests/profile/pacemaker/nova/api.pp
index 30ab733..8a6dc8d 100644
--- a/manifests/profile/pacemaker/nova/api.pp
+++ b/manifests/profile/pacemaker/nova/api.pp
@@ -42,9 +42,7 @@ class tripleo::profile::pacemaker::nova::api (
stop => '/bin/true',
}
- class { '::tripleo::profile::base::nova::api':
- sync_db => (downcase($::hostname) == $pacemaker_master),
- }
+ include ::tripleo::profile::base::nova::api
if $step >= 5 and downcase($::hostname) == $pacemaker_master {
pacemaker::resource::service { $::nova::params::api_service_name:
diff --git a/manifests/profile/pacemaker/nova/conductor.pp b/manifests/profile/pacemaker/nova/conductor.pp
index 495c92e..3d5e41e 100644
--- a/manifests/profile/pacemaker/nova/conductor.pp
+++ b/manifests/profile/pacemaker/nova/conductor.pp
@@ -47,6 +47,11 @@ class tripleo::profile::pacemaker::nova::conductor (
pacemaker::resource::service { $::nova::params::conductor_service_name:
clone_params => 'interleave=true',
}
+ # If Service['nova-compute'] is in catalog, make sure we start it after
+ # nova-conductor pcmk resource.
+ # Also make sure to restart nova-compute if nova-conductor pcmk resource changed
+ # the state, since nova-compute is deployed at a previous step.
+ Pacemaker::Resource::Service[$::nova::params::conductor_service_name] ~> Service<| title == 'nova-compute' |>
}
}
diff --git a/manifests/profile/pacemaker/sahara/engine.pp b/manifests/profile/pacemaker/sahara/engine.pp
index 6265e80..850c645 100644
--- a/manifests/profile/pacemaker/sahara/engine.pp
+++ b/manifests/profile/pacemaker/sahara/engine.pp
@@ -39,9 +39,7 @@ class tripleo::profile::pacemaker::sahara::engine (
}
include ::tripleo::profile::pacemaker::sahara
- class { '::tripleo::profile::base::sahara::engine':
- sync_db => $pacemaker_master
- }
+ include ::tripleo::profile::base::sahara::engine
if $step >= 5 and $pacemaker_master {
pacemaker::resource::service { $::sahara::params::engine_service_name :