Revert "Ceilometer composable roles for controller"
This reverts commit c48410a05e
.
We've discovered this patch never had passing CI due to a DLRN
build failure.
Change-Id: I546cb3e340d20701662affda7e28b586c58ba6de
This commit is contained in:
parent
a778a97d28
commit
c93ba28a89
|
@ -39,7 +39,3 @@ resource_registry:
|
|||
OS::TripleO::Services::NovaScheduler: ../puppet/services/pacemaker/nova-scheduler.yaml
|
||||
OS::TripleO::Services::NovaConsoleauth: ../puppet/services/pacemaker/nova-consoleauth.yaml
|
||||
OS::TripleO::Services::NovaVncproxy: ../puppet/services/pacemaker/nova-vncproxy.yaml
|
||||
OS::TripleO::Services::CeilometerApi: ../puppet/services/pacemaker/ceilometer-api.yaml
|
||||
OS::TripleO::Services::CeilometerCollector: ../puppet/services/pacemaker/ceilometer-collector.yaml
|
||||
OS::TripleO::Services::CeilometerAgentCentral: ../puppet/services/pacemaker/ceilometer-agent-central.yaml
|
||||
OS::TripleO::Services::CeilometerAgentNotification: ../puppet/services/pacemaker/ceilometer-agent-notification.yaml
|
||||
|
|
|
@ -158,11 +158,6 @@ resource_registry:
|
|||
OS::TripleO::Services::NovaVncproxy: puppet/services/nova-vncproxy.yaml
|
||||
OS::TripleO::Services::NovaCompute: puppet/services/nova-compute.yaml
|
||||
OS::TripleO::Services::Ntp: puppet/services/time/ntp.yaml
|
||||
OS::TripleO::Services::CeilometerApi: puppet/services/ceilometer-api.yaml
|
||||
OS::TripleO::Services::CeilometerCollector: puppet/services/ceilometer-collector.yaml
|
||||
OS::TripleO::Services::CeilometerExpirer: puppet/services/ceilometer-expirer.yaml
|
||||
OS::TripleO::Services::CeilometerAgentCentral: puppet/services/ceilometer-agent-central.yaml
|
||||
OS::TripleO::Services::CeilometerAgentNotification: puppet/services/ceilometer-agent-notification.yaml
|
||||
|
||||
parameter_defaults:
|
||||
EnablePackageInstall: false
|
||||
|
|
|
@ -20,6 +20,24 @@ parameters:
|
|||
description: The password for the aodh services.
|
||||
type: string
|
||||
hidden: true
|
||||
CeilometerBackend:
|
||||
default: 'mongodb'
|
||||
description: The ceilometer backend type.
|
||||
type: string
|
||||
CeilometerMeteringSecret:
|
||||
description: Secret shared by the ceilometer services.
|
||||
type: string
|
||||
hidden: true
|
||||
CeilometerPassword:
|
||||
description: The password for the ceilometer service account.
|
||||
type: string
|
||||
hidden: true
|
||||
CeilometerMeterDispatcher:
|
||||
default: 'database'
|
||||
description: Dispatcher to process meter data
|
||||
type: string
|
||||
constraints:
|
||||
- allowed_values: ['gnocchi', 'database']
|
||||
# This has to be an UUID so for now we generate it outside the template
|
||||
CephClusterFSID:
|
||||
default: ''
|
||||
|
@ -578,11 +596,6 @@ parameters:
|
|||
- OS::TripleO::Services::NovaConsoleauth
|
||||
- OS::TripleO::Services::NovaVncproxy
|
||||
- OS::TripleO::Services::Ntp
|
||||
- OS::TripleO::Services::CeilometerApi
|
||||
- OS::TripleO::Services::CeilometerCollector
|
||||
- OS::TripleO::Services::CeilometerExpirer
|
||||
- OS::TripleO::Services::CeilometerAgentCentral
|
||||
- OS::TripleO::Services::CeilometerAgentNotification
|
||||
description: A list of service resources (configured in the Heat
|
||||
resource_registry) which represent nested stacks
|
||||
for each service that should get installed on the Controllers.
|
||||
|
@ -819,6 +832,10 @@ resources:
|
|||
properties:
|
||||
AdminPassword: {get_param: AdminPassword}
|
||||
AodhPassword: {get_param: AodhPassword}
|
||||
CeilometerBackend: {get_param: CeilometerBackend}
|
||||
CeilometerMeteringSecret: {get_param: CeilometerMeteringSecret}
|
||||
CeilometerPassword: {get_param: CeilometerPassword}
|
||||
CeilometerMeterDispatcher: {get_param: CeilometerMeterDispatcher}
|
||||
CloudDomain: {get_param: CloudDomain}
|
||||
ControlVirtualInterface: {get_param: ControlVirtualInterface}
|
||||
controllerExtraConfig: {get_param: controllerExtraConfig}
|
||||
|
@ -917,6 +934,8 @@ resources:
|
|||
properties:
|
||||
AdminPassword: {get_param: AdminPassword}
|
||||
CeilometerComputeAgent: {get_param: CeilometerComputeAgent}
|
||||
CeilometerMeteringSecret: {get_param: CeilometerMeteringSecret}
|
||||
CeilometerPassword: {get_param: CeilometerPassword}
|
||||
CinderEnableNfsBackend: {get_param: CinderEnableNfsBackend}
|
||||
CinderEnableRbdBackend: {get_param: CinderEnableRbdBackend}
|
||||
Debug: {get_param: Debug}
|
||||
|
|
|
@ -20,9 +20,34 @@ parameters:
|
|||
CeilometerApiVirtualIP:
|
||||
type: string
|
||||
default: ''
|
||||
CeilometerBackend:
|
||||
default: 'mongodb'
|
||||
description: The ceilometer backend type.
|
||||
type: string
|
||||
CeilometerMeteringSecret:
|
||||
description: Secret shared by the ceilometer services.
|
||||
type: string
|
||||
hidden: true
|
||||
CeilometerPassword:
|
||||
description: The password for the ceilometer service and db account.
|
||||
type: string
|
||||
hidden: true
|
||||
CeilometerStoreEvents:
|
||||
default: false
|
||||
description: Whether to store events in ceilometer.
|
||||
type: boolean
|
||||
CeilometerMeterDispatcher:
|
||||
default: 'database'
|
||||
description: Dispatcher to process meter data
|
||||
type: string
|
||||
constraints:
|
||||
- allowed_values: ['gnocchi', 'database']
|
||||
CinderApiVirtualIP:
|
||||
type: string
|
||||
default: ''
|
||||
CeilometerWorkers:
|
||||
default: 0
|
||||
description: Number of workers for Ceilometer service.
|
||||
type: number
|
||||
controllerExtraConfig:
|
||||
default: {}
|
||||
|
@ -585,6 +610,7 @@ resources:
|
|||
server: {get_resource: Controller}
|
||||
input_values:
|
||||
bootstack_nodeid: {get_attr: [Controller, name]}
|
||||
ceilometer_workers: {get_param: CeilometerWorkers}
|
||||
haproxy_log_address: {get_param: HAProxySyslogAddress}
|
||||
haproxy_stats_password: {get_param: HAProxyStatsPassword}
|
||||
haproxy_stats_user: {get_param: HAProxyStatsUser}
|
||||
|
@ -626,10 +652,15 @@ resources:
|
|||
neutron_admin_url: { get_param: [ EndpointMap, NeutronAdmin, uri ] }
|
||||
neutron_auth_url: { get_param: [ EndpointMap, KeystoneV3Admin, uri ] }
|
||||
nova_internal_url: { get_param: [ EndpointMap, NovaInternal, uri ] }
|
||||
ceilometer_backend: {get_param: CeilometerBackend}
|
||||
ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
|
||||
ceilometer_password: {get_param: CeilometerPassword}
|
||||
ceilometer_store_events: {get_param: CeilometerStoreEvents}
|
||||
aodh_password: {get_param: AodhPassword}
|
||||
aodh_internal_url: { get_param: [ EndpointMap, AodhInternal, uri ] }
|
||||
aodh_public_url: { get_param: [ EndpointMap, AodhPublic, uri ] }
|
||||
aodh_admin_url: { get_param: [ EndpointMap, AodhAdmin, uri ] }
|
||||
ceilometer_meter_dispatcher: {get_param: CeilometerMeterDispatcher}
|
||||
gnocchi_password: {get_param: GnocchiPassword}
|
||||
gnocchi_backend: {get_param: GnocchiBackend}
|
||||
gnocchi_indexer_backend: {get_param: GnocchiIndexerBackend}
|
||||
|
@ -641,6 +672,15 @@ resources:
|
|||
- '@'
|
||||
- {get_param: RedisVirtualIPUri}
|
||||
- ':6379/'
|
||||
ceilometer_dsn:
|
||||
list_join:
|
||||
- ''
|
||||
- - {get_param: [EndpointMap, MysqlInternal, protocol]}
|
||||
- '://ceilometer:'
|
||||
- {get_param: CeilometerPassword}
|
||||
- '@'
|
||||
- {get_param: [EndpointMap, MysqlInternal, host]}
|
||||
- '/ceilometer'
|
||||
gnocchi_dsn:
|
||||
list_join:
|
||||
- ''
|
||||
|
@ -893,7 +933,33 @@ resources:
|
|||
neutron::keystone::auth::region: {get_input: keystone_region}
|
||||
|
||||
# Ceilometer
|
||||
ceilometer_backend: {get_input: ceilometer_backend}
|
||||
ceilometer_mysql_conn_string: {get_input: ceilometer_dsn}
|
||||
ceilometer::telemetry_secret: {get_input: ceilometer_metering_secret}
|
||||
ceilometer::rabbit_userid: {get_input: rabbit_username}
|
||||
ceilometer::rabbit_password: {get_input: rabbit_password}
|
||||
ceilometer::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
|
||||
ceilometer::rabbit_port: {get_input: rabbit_client_port}
|
||||
ceilometer::debug: {get_input: debug}
|
||||
ceilometer::api::host: {get_input: ceilometer_api_network}
|
||||
ceilometer::api::keystone_password: {get_input: ceilometer_password}
|
||||
ceilometer::api::auth_uri: {get_input: keystone_auth_uri}
|
||||
ceilometer::api::identity_uri: {get_input: keystone_identity_uri}
|
||||
ceilometer::agent::auth::auth_password: {get_input: ceilometer_password}
|
||||
ceilometer::agent::auth::auth_url: {get_input: keystone_auth_uri}
|
||||
ceilometer::agent::central::coordination_url: {get_input: ceilometer_coordination_url}
|
||||
ceilometer::agent::notification::store_events: {get_input: ceilometer_store_events}
|
||||
ceilometer::db::mysql::password: {get_input: ceilometer_password}
|
||||
ceilometer::collector::meter_dispatcher: {get_input: ceilometer_meter_dispatcher}
|
||||
ceilometer::dispatcher::gnocchi::url: {get_input: gnocchi_internal_url }
|
||||
ceilometer::dispatcher::gnocchi::filter_project: 'service'
|
||||
ceilometer::dispatcher::gnocchi::archive_policy: 'low'
|
||||
ceilometer::dispatcher::gnocchi::resources_definition_file: 'gnocchi_resources.yaml'
|
||||
ceilometer::keystone::auth::public_url: {get_input: ceilometer_public_url }
|
||||
ceilometer::keystone::auth::internal_url: {get_input: ceilometer_internal_url }
|
||||
ceilometer::keystone::auth::admin_url: {get_input: ceilometer_admin_url }
|
||||
ceilometer::keystone::auth::password: {get_input: ceilometer_password }
|
||||
ceilometer::keystone::auth::region: {get_input: keystone_region}
|
||||
snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
|
||||
snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
|
||||
|
||||
|
|
|
@ -30,6 +30,25 @@ if hiera('step') >= 2 {
|
|||
|
||||
include ::timezone
|
||||
|
||||
# MongoDB
|
||||
if downcase(hiera('ceilometer_backend')) == 'mongodb' {
|
||||
# NOTE(gfidente): We need to pass the list of IPv6 addresses *with* port and
|
||||
# without the brackets as 'members' argument for the 'mongodb_replset'
|
||||
# resource.
|
||||
if str2bool(hiera('mongodb::server::ipv6', false)) {
|
||||
$mongo_node_ips_with_port_prefixed = prefix(hiera('mongo_node_ips'), '[')
|
||||
$mongo_node_ips_with_port = suffix($mongo_node_ips_with_port_prefixed, ']:27017')
|
||||
$mongo_node_ips_with_port_nobr = suffix(hiera('mongo_node_ips'), ':27017')
|
||||
} else {
|
||||
$mongo_node_ips_with_port = suffix(hiera('mongo_node_ips'), ':27017')
|
||||
$mongo_node_ips_with_port_nobr = suffix(hiera('mongo_node_ips'), ':27017')
|
||||
}
|
||||
$mongo_node_string = join($mongo_node_ips_with_port, ',')
|
||||
|
||||
$mongodb_replset = hiera('mongodb::server::replset')
|
||||
$ceilometer_mongodb_conn_string = "mongodb://${mongo_node_string}/ceilometer?replicaSet=${mongodb_replset}"
|
||||
}
|
||||
|
||||
if str2bool(hiera('enable_galera', true)) {
|
||||
$mysql_config_file = '/etc/my.cnf.d/galera.cnf'
|
||||
} else {
|
||||
|
@ -57,6 +76,9 @@ if hiera('step') >= 2 {
|
|||
if downcase(hiera('gnocchi_indexer_backend')) == 'mysql' {
|
||||
include ::gnocchi::db::mysql
|
||||
}
|
||||
if downcase(hiera('ceilometer_backend')) == 'mysql' {
|
||||
include ::ceilometer::db::mysql
|
||||
}
|
||||
include ::aodh::db::mysql
|
||||
|
||||
$enable_ceph = hiera('ceph_storage_count', 0) > 0 or hiera('enable_ceph_storage', false)
|
||||
|
@ -211,6 +233,31 @@ if hiera('step') >= 4 {
|
|||
swift::storage::filter::healthcheck { $swift_components : }
|
||||
}
|
||||
|
||||
# Ceilometer
|
||||
$ceilometer_backend = downcase(hiera('ceilometer_backend'))
|
||||
case $ceilometer_backend {
|
||||
/mysql/ : {
|
||||
$ceilometer_database_connection = hiera('ceilometer_mysql_conn_string')
|
||||
}
|
||||
default : {
|
||||
$ceilometer_database_connection = $ceilometer_mongodb_conn_string
|
||||
}
|
||||
}
|
||||
include ::ceilometer
|
||||
include ::ceilometer::config
|
||||
include ::ceilometer::api
|
||||
include ::ceilometer::agent::notification
|
||||
include ::ceilometer::agent::central
|
||||
include ::ceilometer::expirer
|
||||
include ::ceilometer::collector
|
||||
include ::ceilometer::agent::auth
|
||||
include ::ceilometer::dispatcher::gnocchi
|
||||
class { '::ceilometer::db' :
|
||||
database_connection => $ceilometer_database_connection,
|
||||
}
|
||||
|
||||
Cron <| title == 'ceilometer-expirer' |> { command => "sleep $((\$(od -A n -t d -N 3 /dev/urandom) % 86400)) && ${::ceilometer::params::expirer_command}" }
|
||||
|
||||
# Aodh
|
||||
class { '::aodh' :
|
||||
database_connection => hiera('aodh_mysql_conn_string'),
|
||||
|
|
|
@ -21,6 +21,7 @@ Pcmk_resource <| |> {
|
|||
# TODO(jistr): use pcs resource provider instead of just no-ops
|
||||
Service <|
|
||||
tag == 'aodh-service' or
|
||||
tag == 'ceilometer-service' or
|
||||
tag == 'gnocchi-service' or
|
||||
tag == 'neutron-service' or
|
||||
tag == 'nova-service'
|
||||
|
@ -94,6 +95,10 @@ if hiera('step') >= 1 {
|
|||
op_params => 'start timeout=200s stop timeout=200s',
|
||||
}
|
||||
|
||||
if downcase(hiera('ceilometer_backend')) == 'mongodb' {
|
||||
include ::mongodb::params
|
||||
}
|
||||
|
||||
# Galera
|
||||
if str2bool(hiera('enable_galera', true)) {
|
||||
$mysql_config_file = '/etc/my.cnf.d/galera.cnf'
|
||||
|
@ -242,6 +247,12 @@ if hiera('step') >= 2 {
|
|||
|
||||
# Create all the database schemas
|
||||
if $sync_db {
|
||||
if downcase(hiera('ceilometer_backend')) == 'mysql' {
|
||||
class { '::ceilometer::db::mysql':
|
||||
require => Exec['galera-ready'],
|
||||
}
|
||||
}
|
||||
|
||||
if downcase(hiera('gnocchi_indexer_backend')) == 'mysql' {
|
||||
class { '::gnocchi::db::mysql':
|
||||
require => Exec['galera-ready'],
|
||||
|
@ -428,6 +439,44 @@ MYSQL_HOST=localhost\n",
|
|||
swift::storage::filter::healthcheck { $swift_components : }
|
||||
}
|
||||
|
||||
# Ceilometer
|
||||
case downcase(hiera('ceilometer_backend')) {
|
||||
/mysql/: {
|
||||
$ceilometer_database_connection = hiera('ceilometer_mysql_conn_string')
|
||||
}
|
||||
default: {
|
||||
$mongo_node_string = join($mongo_node_ips_with_port, ',')
|
||||
$ceilometer_database_connection = "mongodb://${mongo_node_string}/ceilometer?replicaSet=${mongodb_replset}"
|
||||
}
|
||||
}
|
||||
include ::ceilometer
|
||||
include ::ceilometer::config
|
||||
class { '::ceilometer::api' :
|
||||
manage_service => false,
|
||||
enabled => false,
|
||||
}
|
||||
class { '::ceilometer::agent::notification' :
|
||||
manage_service => false,
|
||||
enabled => false,
|
||||
}
|
||||
class { '::ceilometer::agent::central' :
|
||||
manage_service => false,
|
||||
enabled => false,
|
||||
}
|
||||
class { '::ceilometer::collector' :
|
||||
manage_service => false,
|
||||
enabled => false,
|
||||
}
|
||||
include ::ceilometer::expirer
|
||||
class { '::ceilometer::db' :
|
||||
database_connection => $ceilometer_database_connection,
|
||||
sync_db => $sync_db,
|
||||
}
|
||||
include ::ceilometer::agent::auth
|
||||
include ::ceilometer::dispatcher::gnocchi
|
||||
|
||||
Cron <| title == 'ceilometer-expirer' |> { command => "sleep $((\$(od -A n -t d -N 3 /dev/urandom) % 86400)) && ${::ceilometer::params::expirer_command}" }
|
||||
|
||||
# httpd/apache and horizon
|
||||
# NOTE(gfidente): server-status can be consumed by the pacemaker resource agent
|
||||
class { '::apache' :
|
||||
|
@ -705,12 +754,49 @@ password=\"${mysql_root_password}\"",
|
|||
Pacemaker::Resource::Service[$::nova::params::conductor_service_name]],
|
||||
}
|
||||
|
||||
# Ceilometer and Aodh
|
||||
case downcase(hiera('ceilometer_backend')) {
|
||||
/mysql/: {
|
||||
pacemaker::resource::service { $::ceilometer::params::agent_central_service_name:
|
||||
clone_params => 'interleave=true',
|
||||
require => Pacemaker::Resource::Ocf['openstack-core'],
|
||||
}
|
||||
}
|
||||
default: {
|
||||
pacemaker::resource::service { $::ceilometer::params::agent_central_service_name:
|
||||
clone_params => 'interleave=true',
|
||||
require => [Pacemaker::Resource::Ocf['openstack-core'],
|
||||
Pacemaker::Resource::Service[$::mongodb::params::service_name]],
|
||||
}
|
||||
}
|
||||
}
|
||||
pacemaker::resource::service { $::ceilometer::params::collector_service_name :
|
||||
clone_params => 'interleave=true',
|
||||
}
|
||||
pacemaker::resource::service { $::ceilometer::params::api_service_name :
|
||||
clone_params => 'interleave=true',
|
||||
}
|
||||
pacemaker::resource::service { $::ceilometer::params::agent_notification_service_name :
|
||||
clone_params => 'interleave=true',
|
||||
}
|
||||
# Fedora doesn't know `require-all` parameter for constraints yet
|
||||
if $::operatingsystem == 'Fedora' {
|
||||
$redis_ceilometer_constraint_params = undef
|
||||
$redis_aodh_constraint_params = undef
|
||||
} else {
|
||||
$redis_ceilometer_constraint_params = 'require-all=false'
|
||||
$redis_aodh_constraint_params = 'require-all=false'
|
||||
}
|
||||
pacemaker::constraint::base { 'redis-then-ceilometer-central-constraint':
|
||||
constraint_type => 'order',
|
||||
first_resource => 'redis-master',
|
||||
second_resource => "${::ceilometer::params::agent_central_service_name}-clone",
|
||||
first_action => 'promote',
|
||||
second_action => 'start',
|
||||
constraint_params => $redis_ceilometer_constraint_params,
|
||||
require => [Pacemaker::Resource::Ocf['redis'],
|
||||
Pacemaker::Resource::Service[$::ceilometer::params::agent_central_service_name]],
|
||||
}
|
||||
pacemaker::constraint::base { 'redis-then-aodh-evaluator-constraint':
|
||||
constraint_type => 'order',
|
||||
first_resource => 'redis-master',
|
||||
|
@ -721,6 +807,49 @@ password=\"${mysql_root_password}\"",
|
|||
require => [Pacemaker::Resource::Ocf['redis'],
|
||||
Pacemaker::Resource::Service[$::aodh::params::evaluator_service_name]],
|
||||
}
|
||||
pacemaker::constraint::base { 'keystone-then-ceilometer-central-constraint':
|
||||
constraint_type => 'order',
|
||||
first_resource => 'openstack-core-clone',
|
||||
second_resource => "${::ceilometer::params::agent_central_service_name}-clone",
|
||||
first_action => 'start',
|
||||
second_action => 'start',
|
||||
require => [Pacemaker::Resource::Service[$::ceilometer::params::agent_central_service_name],
|
||||
Pacemaker::Resource::Ocf['openstack-core']],
|
||||
}
|
||||
pacemaker::constraint::base { 'keystone-then-ceilometer-notification-constraint':
|
||||
constraint_type => 'order',
|
||||
first_resource => 'openstack-core-clone',
|
||||
second_resource => "${::ceilometer::params::agent_notification_service_name}-clone",
|
||||
first_action => 'start',
|
||||
second_action => 'start',
|
||||
require => [Pacemaker::Resource::Service[$::ceilometer::params::agent_central_service_name],
|
||||
Pacemaker::Resource::Ocf['openstack-core']],
|
||||
}
|
||||
pacemaker::constraint::base { 'ceilometer-central-then-ceilometer-collector-constraint':
|
||||
constraint_type => 'order',
|
||||
first_resource => "${::ceilometer::params::agent_central_service_name}-clone",
|
||||
second_resource => "${::ceilometer::params::collector_service_name}-clone",
|
||||
first_action => 'start',
|
||||
second_action => 'start',
|
||||
require => [Pacemaker::Resource::Service[$::ceilometer::params::agent_central_service_name],
|
||||
Pacemaker::Resource::Service[$::ceilometer::params::collector_service_name]],
|
||||
}
|
||||
pacemaker::constraint::base { 'ceilometer-collector-then-ceilometer-api-constraint':
|
||||
constraint_type => 'order',
|
||||
first_resource => "${::ceilometer::params::collector_service_name}-clone",
|
||||
second_resource => "${::ceilometer::params::api_service_name}-clone",
|
||||
first_action => 'start',
|
||||
second_action => 'start',
|
||||
require => [Pacemaker::Resource::Service[$::ceilometer::params::collector_service_name],
|
||||
Pacemaker::Resource::Service[$::ceilometer::params::api_service_name]],
|
||||
}
|
||||
pacemaker::constraint::colocation { 'ceilometer-api-with-ceilometer-collector-colocation':
|
||||
source => "${::ceilometer::params::api_service_name}-clone",
|
||||
target => "${::ceilometer::params::collector_service_name}-clone",
|
||||
score => 'INFINITY',
|
||||
require => [Pacemaker::Resource::Service[$::ceilometer::params::api_service_name],
|
||||
Pacemaker::Resource::Service[$::ceilometer::params::collector_service_name]],
|
||||
}
|
||||
# Aodh
|
||||
pacemaker::resource::service { $::aodh::params::evaluator_service_name :
|
||||
clone_params => 'interleave=true',
|
||||
|
@ -763,6 +892,17 @@ password=\"${mysql_root_password}\"",
|
|||
require => [Pacemaker::Resource::Service[$::aodh::params::evaluator_service_name],
|
||||
Pacemaker::Resource::Service[$::aodh::params::listener_service_name]],
|
||||
}
|
||||
if downcase(hiera('ceilometer_backend')) == 'mongodb' {
|
||||
pacemaker::constraint::base { 'mongodb-then-ceilometer-central-constraint':
|
||||
constraint_type => 'order',
|
||||
first_resource => "${::mongodb::params::service_name}-clone",
|
||||
second_resource => "${::ceilometer::params::agent_central_service_name}-clone",
|
||||
first_action => 'start',
|
||||
second_action => 'start',
|
||||
require => [Pacemaker::Resource::Service[$::ceilometer::params::agent_central_service_name],
|
||||
Pacemaker::Resource::Service[$::mongodb::params::service_name]],
|
||||
}
|
||||
}
|
||||
|
||||
# gnocchi
|
||||
pacemaker::resource::service { $::gnocchi::params::metricd_service_name :
|
||||
|
|
|
@ -1,27 +0,0 @@
|
|||
heat_template_version: 2016-04-08
|
||||
|
||||
description: >
|
||||
OpenStack Ceilometer Central Agent service configured with Puppet
|
||||
|
||||
parameters:
|
||||
EndpointMap:
|
||||
default: {}
|
||||
description: Mapping of service endpoint -> protocol. Typically set
|
||||
via parameter_defaults in the resource registry.
|
||||
type: json
|
||||
|
||||
|
||||
resources:
|
||||
CeilometerServiceBase:
|
||||
type: ./ceilometer-base.yaml
|
||||
properties:
|
||||
EndpointMap: {get_param: EndpointMap}
|
||||
|
||||
outputs:
|
||||
role_data:
|
||||
description: Role data for the Ceilometer Central Agent role.
|
||||
value:
|
||||
config_settings:
|
||||
get_attr: [CeilometerServiceBase, role_data, config_settings]
|
||||
step_config: |
|
||||
include ::tripleo::profile::base::ceilometer::agent::central
|
|
@ -1,27 +0,0 @@
|
|||
heat_template_version: 2016-04-08
|
||||
|
||||
description: >
|
||||
OpenStack Ceilometer Notification Agent service configured with Puppet
|
||||
|
||||
parameters:
|
||||
EndpointMap:
|
||||
default: {}
|
||||
description: Mapping of service endpoint -> protocol. Typically set
|
||||
via parameter_defaults in the resource registry.
|
||||
type: json
|
||||
|
||||
|
||||
resources:
|
||||
CeilometerServiceBase:
|
||||
type: ./ceilometer-base.yaml
|
||||
properties:
|
||||
EndpointMap: {get_param: EndpointMap}
|
||||
|
||||
outputs:
|
||||
role_data:
|
||||
description: Role data for the Ceilometer Notification Agent role.
|
||||
value:
|
||||
config_settings:
|
||||
get_attr: [CeilometerServiceBase, role_data, config_settings]
|
||||
step_config: |
|
||||
include ::tripleo::profile::base::ceilometer::agent::notification
|
|
@ -1,27 +0,0 @@
|
|||
heat_template_version: 2016-04-08
|
||||
|
||||
description: >
|
||||
OpenStack Ceilometer API service configured with Puppet
|
||||
|
||||
parameters:
|
||||
EndpointMap:
|
||||
default: {}
|
||||
description: Mapping of service endpoint -> protocol. Typically set
|
||||
via parameter_defaults in the resource registry.
|
||||
type: json
|
||||
|
||||
|
||||
resources:
|
||||
CeilometerServiceBase:
|
||||
type: ./ceilometer-base.yaml
|
||||
properties:
|
||||
EndpointMap: {get_param: EndpointMap}
|
||||
|
||||
outputs:
|
||||
role_data:
|
||||
description: Role data for the Ceilometer API role.
|
||||
value:
|
||||
config_settings:
|
||||
get_attr: [CeilometerServiceBase, role_data, config_settings]
|
||||
step_config: |
|
||||
include ::tripleo::profile::base::ceilometer::api
|
|
@ -1,115 +0,0 @@
|
|||
heat_template_version: 2016-04-08
|
||||
|
||||
description: >
|
||||
OpenStack Ceilometer service configured with Puppet
|
||||
|
||||
parameters:
|
||||
EndpointMap:
|
||||
default: {}
|
||||
description: Mapping of service endpoint -> protocol. Typically set
|
||||
via parameter_defaults in the resource registry.
|
||||
type: json
|
||||
RedisVirtualIPUri:
|
||||
type: string
|
||||
default: ''
|
||||
CeilometerBackend:
|
||||
default: 'mongodb'
|
||||
description: The ceilometer backend type.
|
||||
type: string
|
||||
CeilometerMeteringSecret:
|
||||
description: Secret shared by the ceilometer services.
|
||||
type: string
|
||||
hidden: true
|
||||
CeilometerPassword:
|
||||
description: The password for the ceilometer service account.
|
||||
type: string
|
||||
hidden: true
|
||||
CeilometerMeterDispatcher:
|
||||
default: 'gnocchi'
|
||||
description: Dispatcher to process meter data
|
||||
type: string
|
||||
constraints:
|
||||
- allowed_values: ['gnocchi', 'database']
|
||||
CeilometerWorkers:
|
||||
default: 0
|
||||
description: Number of workers for Ceilometer service.
|
||||
type: number
|
||||
CeilometerStoreEvents:
|
||||
default: false
|
||||
description: Whether to store events in ceilometer.
|
||||
type: boolean
|
||||
RedisPassword:
|
||||
description: The password for the redis service account.
|
||||
type: string
|
||||
hidden: true
|
||||
KeystoneRegion:
|
||||
type: string
|
||||
default: 'regionOne'
|
||||
description: Keystone region for endpoint
|
||||
RabbitPassword:
|
||||
description: The password for RabbitMQ
|
||||
type: string
|
||||
hidden: true
|
||||
RabbitUserName:
|
||||
default: guest
|
||||
description: The username for RabbitMQ
|
||||
type: string
|
||||
RabbitClientUseSSL:
|
||||
default: false
|
||||
description: >
|
||||
Rabbit client subscriber parameter to specify
|
||||
an SSL connection to the RabbitMQ host.
|
||||
type: string
|
||||
RabbitClientPort:
|
||||
default: 5672
|
||||
description: Set rabbit subscriber port, change this if using SSL
|
||||
type: number
|
||||
|
||||
outputs:
|
||||
role_data:
|
||||
description: Role data for the Ceilometer role.
|
||||
value:
|
||||
config_settings:
|
||||
ceilometer_coordination_url:
|
||||
list_join:
|
||||
- ''
|
||||
- - 'redis://:'
|
||||
- {get_param: RedisPassword}
|
||||
- '@'
|
||||
- {get_param: RedisVirtualIPUri}
|
||||
- ':6379/'
|
||||
ceilometer_dsn: &ceilometer_dsn
|
||||
list_join:
|
||||
- ''
|
||||
- - {get_param: [EndpointMap, MysqlInternal, protocol]}
|
||||
- - '://ceilometer:'
|
||||
- {get_param: CeilometerPassword}
|
||||
- '@'
|
||||
- {get_param: [EndpointMap, MysqlInternal, host]}
|
||||
- '/ceilometer'
|
||||
ceilometer_password: {get_param: CeilometerPassword}
|
||||
ceilometer_backend: {get_param: CeilometerBackend}
|
||||
ceilometer::metering_secret: {get_param: CeilometerMeteringSecret}
|
||||
ceilometer::db::database_connection: *ceilometer_dsn
|
||||
ceilometer::api::keystone_password: {get_param: ceilometer_password}
|
||||
ceilometer::api::keystone_auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri] }
|
||||
ceilometer::api::keystone_identity_uri: { get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix] }
|
||||
ceilometer::agent::auth::auth_password: {get_param: ceilometer_password}
|
||||
ceilometer::agent::auth::auth_url: {get_param: [EndpointMap, KeystoneInternal, uri] }
|
||||
ceilometer::agent::central::coordination_url: {get_param: ceilometer_coordination_url}
|
||||
ceilometer::agent::notification::store_events: {get_param: CeilometerStoreEvents}
|
||||
ceilometer::db::mysql::password: {get_param: ceilometer_password}
|
||||
ceilometer::collector::meter_dispatcher: {get_param: CeilometerMeterDispatcher}
|
||||
ceilometer::dispatcher::gnocchi::url: {get_param: [EndpointMap, GnocchiInternal, uri]}
|
||||
ceilometer::dispatcher::gnocchi::filter_project: 'service'
|
||||
ceilometer::dispatcher::gnocchi::archive_policy: 'low'
|
||||
ceilometer::dispatcher::gnocchi::resources_definition_file: 'gnocchi_resources.yaml'
|
||||
ceilometer::keystone::auth::public_url: {get_param: [EndpointMap, CeilometerPublic, uri]}
|
||||
ceilometer::keystone::auth::internal_url: {get_param: [EndpointMap, CeilometerInternal, uri]}
|
||||
ceilometer::keystone::auth::admin_url: {get_param: [EndpointMap, CeilometerAdmin, uri]}
|
||||
ceilometer::keystone::auth::password: {get_param: ceilometer_password}
|
||||
ceilometer::keystone::auth::region: {get_param: KeystoneRegion}
|
||||
ceilometer::rabbit_userid: {get_param: RabbitUserName}
|
||||
ceilometer::rabbit_password: {get_param: RabbitPassword}
|
||||
ceilometer::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
|
||||
ceilometer::rabbit_port: {get_param: RabbitClientPort}
|
|
@ -1,27 +0,0 @@
|
|||
heat_template_version: 2016-04-08
|
||||
|
||||
description: >
|
||||
OpenStack Ceilometer Collector service configured with Puppet
|
||||
|
||||
parameters:
|
||||
EndpointMap:
|
||||
default: {}
|
||||
description: Mapping of service endpoint -> protocol. Typically set
|
||||
via parameter_defaults in the resource registry.
|
||||
type: json
|
||||
|
||||
|
||||
resources:
|
||||
CeilometerServiceBase:
|
||||
type: ./ceilometer-base.yaml
|
||||
properties:
|
||||
EndpointMap: {get_param: EndpointMap}
|
||||
|
||||
outputs:
|
||||
role_data:
|
||||
description: Role data for the Ceilometer Collector role.
|
||||
value:
|
||||
config_settings:
|
||||
get_attr: [CeilometerServiceBase, role_data, config_settings]
|
||||
step_config: |
|
||||
include ::tripleo::profile::base::ceilometer::collector
|
|
@ -1,27 +0,0 @@
|
|||
heat_template_version: 2016-04-08
|
||||
|
||||
description: >
|
||||
OpenStack Ceilometer API service configured with Puppet
|
||||
|
||||
parameters:
|
||||
EndpointMap:
|
||||
default: {}
|
||||
description: Mapping of service endpoint -> protocol. Typically set
|
||||
via parameter_defaults in the resource registry.
|
||||
type: json
|
||||
|
||||
|
||||
resources:
|
||||
CeilometerServiceBase:
|
||||
type: ./ceilometer-base.yaml
|
||||
properties:
|
||||
EndpointMap: {get_param: EndpointMap}
|
||||
|
||||
outputs:
|
||||
role_data:
|
||||
description: Role data for the Ceilometer API role.
|
||||
value:
|
||||
config_settings:
|
||||
get_attr: [CeilometerServiceBase, role_data, config_settings]
|
||||
step_config: |
|
||||
include ::tripleo::profile::base::ceilometer::api
|
|
@ -1,29 +0,0 @@
|
|||
heat_template_version: 2016-04-08
|
||||
|
||||
description: >
|
||||
OpenStack Ceilometer Central Agent service with Pacemaker configured with Puppet
|
||||
|
||||
parameters:
|
||||
EndpointMap:
|
||||
default: {}
|
||||
description: Mapping of service endpoint -> protocol. Typically set
|
||||
via parameter_defaults in the resource registry.
|
||||
type: json
|
||||
|
||||
resources:
|
||||
CeilometerServiceBase:
|
||||
type: ../ceilometer-base.yaml
|
||||
properties:
|
||||
EndpointMap: {get_param: EndpointMap}
|
||||
|
||||
outputs:
|
||||
role_data:
|
||||
description: Role data for the Ceilometer Central Agent pacemaker role.
|
||||
value:
|
||||
config_settings:
|
||||
map_merge:
|
||||
- get_attr: [CeilometerServiceBase, role_data, config_settings]
|
||||
- ceilometer::agent::central::manage_service: false
|
||||
- ceilometer::agent::central::enabled: false
|
||||
step_config: |
|
||||
include ::tripleo::profile::pacemaker::ceilometer::agent::central
|
|
@ -1,29 +0,0 @@
|
|||
heat_template_version: 2016-04-08
|
||||
|
||||
description: >
|
||||
OpenStack Ceilometer Notification Agent service with Pacemaker configured with Puppet
|
||||
|
||||
parameters:
|
||||
EndpointMap:
|
||||
default: {}
|
||||
description: Mapping of service endpoint -> protocol. Typically set
|
||||
via parameter_defaults in the resource registry.
|
||||
type: json
|
||||
|
||||
resources:
|
||||
CeilometerServiceBase:
|
||||
type: ../ceilometer-base.yaml
|
||||
properties:
|
||||
EndpointMap: {get_param: EndpointMap}
|
||||
|
||||
outputs:
|
||||
role_data:
|
||||
description: Role data for the Ceilometer Notification Agent pacemaker role.
|
||||
value:
|
||||
config_settings:
|
||||
map_merge:
|
||||
- get_attr: [CeilometerServiceBase, role_data, config_settings]
|
||||
- ceilometer::agent::notification::manage_service: false
|
||||
- ceilometer::agent::notification::enabled: false
|
||||
step_config: |
|
||||
include ::tripleo::profile::pacemaker::ceilometer::agent::notification
|
|
@ -1,29 +0,0 @@
|
|||
heat_template_version: 2016-04-08
|
||||
|
||||
description: >
|
||||
OpenStack Ceilometer API service with Pacemaker configured with Puppet
|
||||
|
||||
parameters:
|
||||
EndpointMap:
|
||||
default: {}
|
||||
description: Mapping of service endpoint -> protocol. Typically set
|
||||
via parameter_defaults in the resource registry.
|
||||
type: json
|
||||
|
||||
resources:
|
||||
CeilometerServiceBase:
|
||||
type: ../ceilometer-base.yaml
|
||||
properties:
|
||||
EndpointMap: {get_param: EndpointMap}
|
||||
|
||||
outputs:
|
||||
role_data:
|
||||
description: Role data for the Ceilometer API pacemaker role.
|
||||
value:
|
||||
config_settings:
|
||||
map_merge:
|
||||
- get_attr: [CeilometerServiceBase, role_data, config_settings]
|
||||
- ceilometer::api::manage_service: false
|
||||
- ceilometer::api::enabled: false
|
||||
step_config: |
|
||||
include ::tripleo::profile::pacemaker::ceilometer::api
|
|
@ -1,29 +0,0 @@
|
|||
heat_template_version: 2016-04-08
|
||||
|
||||
description: >
|
||||
OpenStack Ceilometer Collector service with Pacemaker configured with Puppet
|
||||
|
||||
parameters:
|
||||
EndpointMap:
|
||||
default: {}
|
||||
description: Mapping of service endpoint -> protocol. Typically set
|
||||
via parameter_defaults in the resource registry.
|
||||
type: json
|
||||
|
||||
resources:
|
||||
CeilometerServiceBase:
|
||||
type: ../ceilometer-base.yaml
|
||||
properties:
|
||||
EndpointMap: {get_param: EndpointMap}
|
||||
|
||||
outputs:
|
||||
role_data:
|
||||
description: Role data for the Ceilometer Collector pacemaker role.
|
||||
value:
|
||||
config_settings:
|
||||
map_merge:
|
||||
- get_attr: [CeilometerServiceBase, role_data, config_settings]
|
||||
- ceilometer::collector::manage_service: false
|
||||
- ceilometer::collector::enabled: false
|
||||
step_config: |
|
||||
include ::tripleo::profile::pacemaker::ceilometer::collector
|
Loading…
Reference in New Issue