aboutsummaryrefslogtreecommitdiffstats
path: root/manifests/profile/base/ceilometer
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/profile/base/ceilometer')
-rw-r--r--manifests/profile/base/ceilometer/api.pp13
-rw-r--r--manifests/profile/base/ceilometer/upgrade.pp12
2 files changed, 22 insertions, 3 deletions
diff --git a/manifests/profile/base/ceilometer/api.pp b/manifests/profile/base/ceilometer/api.pp
index 6a30a40..11c1da3 100644
--- a/manifests/profile/base/ceilometer/api.pp
+++ b/manifests/profile/base/ceilometer/api.pp
@@ -23,6 +23,10 @@
# This is set by t-h-t.
# Defaults to hiera('ceilometer_api_network', undef)
#
+# [*bootstrap_node*]
+# (Optional) The hostname of the node responsible for bootstrapping tasks
+# Defaults to hiera('bootstrap_nodeid')
+#
# [*certificates_specs*]
# (Optional) The specifications to give to certmonger for the certificate(s)
# it will create.
@@ -45,11 +49,18 @@
# Defaults to hiera('step')
#
class tripleo::profile::base::ceilometer::api (
+ $bootstrap_node = hiera('bootstrap_nodeid', undef),
$ceilometer_network = hiera('ceilometer_api_network', undef),
$certificates_specs = hiera('apache_certificates_specs', {}),
$enable_internal_tls = hiera('enable_internal_tls', false),
$step = Integer(hiera('step')),
) {
+ if $::hostname == downcase($bootstrap_node) {
+ $is_bootstrap = true
+ } else {
+ $is_bootstrap = false
+ }
+
include ::tripleo::profile::base::ceilometer
if $enable_internal_tls {
@@ -63,7 +74,7 @@ class tripleo::profile::base::ceilometer::api (
$tls_keyfile = undef
}
- if $step >= 3 {
+ if $step >= 4 or ( $step >= 3 and $is_bootstrap ) {
include ::ceilometer::api
include ::apache::mod::ssl
class { '::ceilometer::wsgi::apache':
diff --git a/manifests/profile/base/ceilometer/upgrade.pp b/manifests/profile/base/ceilometer/upgrade.pp
index f192b48..0031b79 100644
--- a/manifests/profile/base/ceilometer/upgrade.pp
+++ b/manifests/profile/base/ceilometer/upgrade.pp
@@ -42,8 +42,16 @@ class tripleo::profile::base::ceilometer::upgrade (
# are created safely.
if $step >= 5 and $sync_db {
exec {'ceilometer-db-upgrade':
- command => 'ceilometer-upgrade --skip-metering-database',
- path => ['/usr/bin', '/usr/sbin'],
+ command => 'ceilometer-upgrade --skip-metering-database',
+ path => ['/usr/bin', '/usr/sbin'],
+ # LP#1703444 - When this runs, it talks to gnocchi on all controllers
+ # which then reaches out to keystone via haproxy. Since the deployment
+ # may restart httpd on these other nodes it can result in an intermittent
+ # 503 which fails this command. We should retry the upgrade in case of
+ # error since we cannot ensure that there might not be some other deploy
+ # process running on the other nodes.
+ try_sleep => 5,
+ tries => 10
}
}
}