tripleo-heat-templates/extraconfig/tasks/mitaka_to_newton_ceilometer_wsgi_upgrade.pp
Pradeep Kilambi 4e0e4a5cdf Explicitly set rabbit hosts so its not overridden during upgrade
During ceilometer pre upgrade, rabbit host config gets overridden in
ceilometer conf as its setting to defaults. This explicitly sets the
host info in standalone manifest.

Closes-Bug: #1644278

Change-Id: I862ea7165c5d42ba1f9a19111a8be8934c0ef883
2016-11-23 10:49:54 -05:00

104 lines
3.0 KiB
Puppet

# Copyright 2015 Red Hat, Inc.
# All Rights Reserved.
#
# 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.
# This puppet manifest is to be used only during a Mitaka->Newton upgrade
# It configures ceilometer to be run under httpd but it makes sure to not
# restart any services. This snippet needs to be called before init as a
# pre upgrade migration.
Service <|
tag == 'ceilometer-service'
|> {
hasrestart => true,
restart => '/bin/true',
start => '/bin/true',
stop => '/bin/true',
}
if $::hostname == downcase(hiera('bootstrap_nodeid')) {
$pacemaker_master = true
$sync_db = true
} else {
$pacemaker_master = false
$sync_db = false
}
include ::tripleo::packages
if str2bool(hiera('mongodb::server::ipv6', false)) {
$mongo_node_ips_with_port_prefixed = prefix(hiera('mongodb_node_ips'), '[')
$mongo_node_ips_with_port = suffix($mongo_node_ips_with_port_prefixed, ']:27017')
} else {
$mongo_node_ips_with_port = suffix(hiera('mongodb_node_ips'), ':27017')
}
$mongodb_replset = hiera('mongodb::server::replset')
$mongo_node_string = join($mongo_node_ips_with_port, ',')
$database_connection = "mongodb://${mongo_node_string}/ceilometer?replicaSet=${mongodb_replset}"
$rabbit_hosts = hiera('rabbitmq_node_ips', undef)
$rabbit_port = hiera('ceilometer::rabbit_port', 5672)
$rabbit_endpoints = suffix(any2array(normalize_ip_for_uri($rabbit_hosts)), ":${rabbit_port}")
class { '::ceilometer' :
rabbit_hosts => $rabbit_endpoints,
}
class {'::ceilometer::db':
database_connection => $database_connection,
}
if $sync_db {
include ::ceilometer::db::sync
}
include ::ceilometer::config
class { '::ceilometer::api':
enabled => true,
service_name => 'httpd',
keystone_password => hiera('ceilometer::keystone::auth::password'),
identity_uri => hiera('ceilometer::keystone::authtoken::auth_url'),
auth_uri => hiera('ceilometer::keystone::authtoken::auth_uri'),
keystone_tenant => hiera('ceilometer::keystone::authtoken::project_name'),
}
class { '::apache' :
service_enable => false,
service_manage => true,
service_restart => '/bin/true',
purge_configs => false,
purge_vhost_dir => false,
}
# To ensure existing ports are not overridden
class { '::aodh::wsgi::apache':
servername => $::hostname,
ssl => false,
}
class { '::gnocchi::wsgi::apache':
servername => $::hostname,
ssl => false,
}
class { '::keystone::wsgi::apache':
servername => $::hostname,
ssl => false,
}
class { '::ceilometer::wsgi::apache':
servername => $::hostname,
ssl => false,
}