Merge "Ceilometer composable roles for controller"
This commit is contained in:
commit
e8fdaf13de
|
@ -39,3 +39,7 @@ resource_registry:
|
||||||
OS::TripleO::Services::NovaScheduler: ../puppet/services/pacemaker/nova-scheduler.yaml
|
OS::TripleO::Services::NovaScheduler: ../puppet/services/pacemaker/nova-scheduler.yaml
|
||||||
OS::TripleO::Services::NovaConsoleauth: ../puppet/services/pacemaker/nova-consoleauth.yaml
|
OS::TripleO::Services::NovaConsoleauth: ../puppet/services/pacemaker/nova-consoleauth.yaml
|
||||||
OS::TripleO::Services::NovaVncproxy: ../puppet/services/pacemaker/nova-vncproxy.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,6 +158,11 @@ resource_registry:
|
||||||
OS::TripleO::Services::NovaVncproxy: puppet/services/nova-vncproxy.yaml
|
OS::TripleO::Services::NovaVncproxy: puppet/services/nova-vncproxy.yaml
|
||||||
OS::TripleO::Services::NovaCompute: puppet/services/nova-compute.yaml
|
OS::TripleO::Services::NovaCompute: puppet/services/nova-compute.yaml
|
||||||
OS::TripleO::Services::Ntp: puppet/services/time/ntp.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:
|
parameter_defaults:
|
||||||
EnablePackageInstall: false
|
EnablePackageInstall: false
|
||||||
|
|
|
@ -20,24 +20,6 @@ parameters:
|
||||||
description: The password for the aodh services.
|
description: The password for the aodh services.
|
||||||
type: string
|
type: string
|
||||||
hidden: true
|
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
|
# This has to be an UUID so for now we generate it outside the template
|
||||||
CephClusterFSID:
|
CephClusterFSID:
|
||||||
default: ''
|
default: ''
|
||||||
|
@ -596,6 +578,11 @@ parameters:
|
||||||
- OS::TripleO::Services::NovaConsoleauth
|
- OS::TripleO::Services::NovaConsoleauth
|
||||||
- OS::TripleO::Services::NovaVncproxy
|
- OS::TripleO::Services::NovaVncproxy
|
||||||
- OS::TripleO::Services::Ntp
|
- 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
|
description: A list of service resources (configured in the Heat
|
||||||
resource_registry) which represent nested stacks
|
resource_registry) which represent nested stacks
|
||||||
for each service that should get installed on the Controllers.
|
for each service that should get installed on the Controllers.
|
||||||
|
@ -832,10 +819,6 @@ resources:
|
||||||
properties:
|
properties:
|
||||||
AdminPassword: {get_param: AdminPassword}
|
AdminPassword: {get_param: AdminPassword}
|
||||||
AodhPassword: {get_param: AodhPassword}
|
AodhPassword: {get_param: AodhPassword}
|
||||||
CeilometerBackend: {get_param: CeilometerBackend}
|
|
||||||
CeilometerMeteringSecret: {get_param: CeilometerMeteringSecret}
|
|
||||||
CeilometerPassword: {get_param: CeilometerPassword}
|
|
||||||
CeilometerMeterDispatcher: {get_param: CeilometerMeterDispatcher}
|
|
||||||
CloudDomain: {get_param: CloudDomain}
|
CloudDomain: {get_param: CloudDomain}
|
||||||
ControlVirtualInterface: {get_param: ControlVirtualInterface}
|
ControlVirtualInterface: {get_param: ControlVirtualInterface}
|
||||||
controllerExtraConfig: {get_param: controllerExtraConfig}
|
controllerExtraConfig: {get_param: controllerExtraConfig}
|
||||||
|
@ -934,8 +917,6 @@ resources:
|
||||||
properties:
|
properties:
|
||||||
AdminPassword: {get_param: AdminPassword}
|
AdminPassword: {get_param: AdminPassword}
|
||||||
CeilometerComputeAgent: {get_param: CeilometerComputeAgent}
|
CeilometerComputeAgent: {get_param: CeilometerComputeAgent}
|
||||||
CeilometerMeteringSecret: {get_param: CeilometerMeteringSecret}
|
|
||||||
CeilometerPassword: {get_param: CeilometerPassword}
|
|
||||||
CinderEnableNfsBackend: {get_param: CinderEnableNfsBackend}
|
CinderEnableNfsBackend: {get_param: CinderEnableNfsBackend}
|
||||||
CinderEnableRbdBackend: {get_param: CinderEnableRbdBackend}
|
CinderEnableRbdBackend: {get_param: CinderEnableRbdBackend}
|
||||||
Debug: {get_param: Debug}
|
Debug: {get_param: Debug}
|
||||||
|
|
|
@ -20,34 +20,9 @@ parameters:
|
||||||
CeilometerApiVirtualIP:
|
CeilometerApiVirtualIP:
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
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:
|
CinderApiVirtualIP:
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
CeilometerWorkers:
|
|
||||||
default: 0
|
|
||||||
description: Number of workers for Ceilometer service.
|
|
||||||
type: number
|
type: number
|
||||||
controllerExtraConfig:
|
controllerExtraConfig:
|
||||||
default: {}
|
default: {}
|
||||||
|
@ -610,7 +585,6 @@ resources:
|
||||||
server: {get_resource: Controller}
|
server: {get_resource: Controller}
|
||||||
input_values:
|
input_values:
|
||||||
bootstack_nodeid: {get_attr: [Controller, name]}
|
bootstack_nodeid: {get_attr: [Controller, name]}
|
||||||
ceilometer_workers: {get_param: CeilometerWorkers}
|
|
||||||
haproxy_log_address: {get_param: HAProxySyslogAddress}
|
haproxy_log_address: {get_param: HAProxySyslogAddress}
|
||||||
haproxy_stats_password: {get_param: HAProxyStatsPassword}
|
haproxy_stats_password: {get_param: HAProxyStatsPassword}
|
||||||
haproxy_stats_user: {get_param: HAProxyStatsUser}
|
haproxy_stats_user: {get_param: HAProxyStatsUser}
|
||||||
|
@ -652,15 +626,10 @@ resources:
|
||||||
neutron_admin_url: { get_param: [ EndpointMap, NeutronAdmin, uri ] }
|
neutron_admin_url: { get_param: [ EndpointMap, NeutronAdmin, uri ] }
|
||||||
neutron_auth_url: { get_param: [ EndpointMap, KeystoneV3Admin, uri ] }
|
neutron_auth_url: { get_param: [ EndpointMap, KeystoneV3Admin, uri ] }
|
||||||
nova_internal_url: { get_param: [ EndpointMap, NovaInternal, 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_password: {get_param: AodhPassword}
|
||||||
aodh_internal_url: { get_param: [ EndpointMap, AodhInternal, uri ] }
|
aodh_internal_url: { get_param: [ EndpointMap, AodhInternal, uri ] }
|
||||||
aodh_public_url: { get_param: [ EndpointMap, AodhPublic, uri ] }
|
aodh_public_url: { get_param: [ EndpointMap, AodhPublic, uri ] }
|
||||||
aodh_admin_url: { get_param: [ EndpointMap, AodhAdmin, uri ] }
|
aodh_admin_url: { get_param: [ EndpointMap, AodhAdmin, uri ] }
|
||||||
ceilometer_meter_dispatcher: {get_param: CeilometerMeterDispatcher}
|
|
||||||
gnocchi_password: {get_param: GnocchiPassword}
|
gnocchi_password: {get_param: GnocchiPassword}
|
||||||
gnocchi_backend: {get_param: GnocchiBackend}
|
gnocchi_backend: {get_param: GnocchiBackend}
|
||||||
gnocchi_indexer_backend: {get_param: GnocchiIndexerBackend}
|
gnocchi_indexer_backend: {get_param: GnocchiIndexerBackend}
|
||||||
|
@ -672,15 +641,6 @@ resources:
|
||||||
- '@'
|
- '@'
|
||||||
- {get_param: RedisVirtualIPUri}
|
- {get_param: RedisVirtualIPUri}
|
||||||
- ':6379/'
|
- ':6379/'
|
||||||
ceilometer_dsn:
|
|
||||||
list_join:
|
|
||||||
- ''
|
|
||||||
- - {get_param: [EndpointMap, MysqlInternal, protocol]}
|
|
||||||
- '://ceilometer:'
|
|
||||||
- {get_param: CeilometerPassword}
|
|
||||||
- '@'
|
|
||||||
- {get_param: [EndpointMap, MysqlInternal, host]}
|
|
||||||
- '/ceilometer'
|
|
||||||
gnocchi_dsn:
|
gnocchi_dsn:
|
||||||
list_join:
|
list_join:
|
||||||
- ''
|
- ''
|
||||||
|
@ -933,33 +893,7 @@ resources:
|
||||||
neutron::keystone::auth::region: {get_input: keystone_region}
|
neutron::keystone::auth::region: {get_input: keystone_region}
|
||||||
|
|
||||||
# Ceilometer
|
# 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::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_name: {get_input: snmpd_readonly_user_name}
|
||||||
snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
|
snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
|
||||||
|
|
||||||
|
|
|
@ -30,25 +30,6 @@ if hiera('step') >= 2 {
|
||||||
|
|
||||||
include ::timezone
|
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)) {
|
if str2bool(hiera('enable_galera', true)) {
|
||||||
$mysql_config_file = '/etc/my.cnf.d/galera.cnf'
|
$mysql_config_file = '/etc/my.cnf.d/galera.cnf'
|
||||||
} else {
|
} else {
|
||||||
|
@ -76,9 +57,6 @@ if hiera('step') >= 2 {
|
||||||
if downcase(hiera('gnocchi_indexer_backend')) == 'mysql' {
|
if downcase(hiera('gnocchi_indexer_backend')) == 'mysql' {
|
||||||
include ::gnocchi::db::mysql
|
include ::gnocchi::db::mysql
|
||||||
}
|
}
|
||||||
if downcase(hiera('ceilometer_backend')) == 'mysql' {
|
|
||||||
include ::ceilometer::db::mysql
|
|
||||||
}
|
|
||||||
include ::aodh::db::mysql
|
include ::aodh::db::mysql
|
||||||
|
|
||||||
$enable_ceph = hiera('ceph_storage_count', 0) > 0 or hiera('enable_ceph_storage', false)
|
$enable_ceph = hiera('ceph_storage_count', 0) > 0 or hiera('enable_ceph_storage', false)
|
||||||
|
@ -233,31 +211,6 @@ if hiera('step') >= 4 {
|
||||||
swift::storage::filter::healthcheck { $swift_components : }
|
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
|
# Aodh
|
||||||
class { '::aodh' :
|
class { '::aodh' :
|
||||||
database_connection => hiera('aodh_mysql_conn_string'),
|
database_connection => hiera('aodh_mysql_conn_string'),
|
||||||
|
|
|
@ -21,7 +21,6 @@ Pcmk_resource <| |> {
|
||||||
# TODO(jistr): use pcs resource provider instead of just no-ops
|
# TODO(jistr): use pcs resource provider instead of just no-ops
|
||||||
Service <|
|
Service <|
|
||||||
tag == 'aodh-service' or
|
tag == 'aodh-service' or
|
||||||
tag == 'ceilometer-service' or
|
|
||||||
tag == 'gnocchi-service' or
|
tag == 'gnocchi-service' or
|
||||||
tag == 'neutron-service' or
|
tag == 'neutron-service' or
|
||||||
tag == 'nova-service'
|
tag == 'nova-service'
|
||||||
|
@ -95,10 +94,6 @@ if hiera('step') >= 1 {
|
||||||
op_params => 'start timeout=200s stop timeout=200s',
|
op_params => 'start timeout=200s stop timeout=200s',
|
||||||
}
|
}
|
||||||
|
|
||||||
if downcase(hiera('ceilometer_backend')) == 'mongodb' {
|
|
||||||
include ::mongodb::params
|
|
||||||
}
|
|
||||||
|
|
||||||
# Galera
|
# Galera
|
||||||
if str2bool(hiera('enable_galera', true)) {
|
if str2bool(hiera('enable_galera', true)) {
|
||||||
$mysql_config_file = '/etc/my.cnf.d/galera.cnf'
|
$mysql_config_file = '/etc/my.cnf.d/galera.cnf'
|
||||||
|
@ -247,12 +242,6 @@ if hiera('step') >= 2 {
|
||||||
|
|
||||||
# Create all the database schemas
|
# Create all the database schemas
|
||||||
if $sync_db {
|
if $sync_db {
|
||||||
if downcase(hiera('ceilometer_backend')) == 'mysql' {
|
|
||||||
class { '::ceilometer::db::mysql':
|
|
||||||
require => Exec['galera-ready'],
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if downcase(hiera('gnocchi_indexer_backend')) == 'mysql' {
|
if downcase(hiera('gnocchi_indexer_backend')) == 'mysql' {
|
||||||
class { '::gnocchi::db::mysql':
|
class { '::gnocchi::db::mysql':
|
||||||
require => Exec['galera-ready'],
|
require => Exec['galera-ready'],
|
||||||
|
@ -439,44 +428,6 @@ MYSQL_HOST=localhost\n",
|
||||||
swift::storage::filter::healthcheck { $swift_components : }
|
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
|
# httpd/apache and horizon
|
||||||
# NOTE(gfidente): server-status can be consumed by the pacemaker resource agent
|
# NOTE(gfidente): server-status can be consumed by the pacemaker resource agent
|
||||||
class { '::apache' :
|
class { '::apache' :
|
||||||
|
@ -754,49 +705,12 @@ password=\"${mysql_root_password}\"",
|
||||||
Pacemaker::Resource::Service[$::nova::params::conductor_service_name]],
|
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
|
# Fedora doesn't know `require-all` parameter for constraints yet
|
||||||
if $::operatingsystem == 'Fedora' {
|
if $::operatingsystem == 'Fedora' {
|
||||||
$redis_ceilometer_constraint_params = undef
|
|
||||||
$redis_aodh_constraint_params = undef
|
$redis_aodh_constraint_params = undef
|
||||||
} else {
|
} else {
|
||||||
$redis_ceilometer_constraint_params = 'require-all=false'
|
|
||||||
$redis_aodh_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':
|
pacemaker::constraint::base { 'redis-then-aodh-evaluator-constraint':
|
||||||
constraint_type => 'order',
|
constraint_type => 'order',
|
||||||
first_resource => 'redis-master',
|
first_resource => 'redis-master',
|
||||||
|
@ -807,49 +721,6 @@ password=\"${mysql_root_password}\"",
|
||||||
require => [Pacemaker::Resource::Ocf['redis'],
|
require => [Pacemaker::Resource::Ocf['redis'],
|
||||||
Pacemaker::Resource::Service[$::aodh::params::evaluator_service_name]],
|
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
|
# Aodh
|
||||||
pacemaker::resource::service { $::aodh::params::evaluator_service_name :
|
pacemaker::resource::service { $::aodh::params::evaluator_service_name :
|
||||||
clone_params => 'interleave=true',
|
clone_params => 'interleave=true',
|
||||||
|
@ -892,17 +763,6 @@ password=\"${mysql_root_password}\"",
|
||||||
require => [Pacemaker::Resource::Service[$::aodh::params::evaluator_service_name],
|
require => [Pacemaker::Resource::Service[$::aodh::params::evaluator_service_name],
|
||||||
Pacemaker::Resource::Service[$::aodh::params::listener_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
|
# gnocchi
|
||||||
pacemaker::resource::service { $::gnocchi::params::metricd_service_name :
|
pacemaker::resource::service { $::gnocchi::params::metricd_service_name :
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
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
|
|
@ -0,0 +1,27 @@
|
||||||
|
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
|
|
@ -0,0 +1,27 @@
|
||||||
|
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
|
|
@ -0,0 +1,115 @@
|
||||||
|
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}
|
|
@ -0,0 +1,27 @@
|
||||||
|
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
|
|
@ -0,0 +1,27 @@
|
||||||
|
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
|
|
@ -0,0 +1,29 @@
|
||||||
|
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
|
|
@ -0,0 +1,29 @@
|
||||||
|
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
|
|
@ -0,0 +1,29 @@
|
||||||
|
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
|
|
@ -0,0 +1,29 @@
|
||||||
|
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