swift_min_part_hours: {get_param: SwiftMinPartHours}
swift_mount_check: {get_param: SwiftMountCheck}
-
# Map heat metadata into hiera datafiles
ControllerConfig:
type: OS::Heat::StructuredConfig
neutron_dnsmasq_options: {get_input: neutron_dnsmasq_options}
neutron_dsn: {get_input: neutron_dsn}
# Ceilometer
- ceilometer_metering_secret: {get_input: ceilometer_metering_secret}
- ceilometer_password: {get_input: ceilometer_password}
- ceilometer_dsn: {get_input: ceilometer_dsn}
+ ceilometer::metering_secret: {get_input: ceilometer_metering_secret}
+ ceilometer::rabbit_userid: {get_input: rabbit_username}
+ ceilometer::rabbit_password: {get_input: rabbit_password}
+ ceilometer::rabbit_host: {get_input: controller_virtual_ip}
+ ceilometer::api::host: {get_input: controller_host}
+ ceilometer::api::keystone_password: {get_input: ceilometer_password}
+ ceilometer::api::keystone_host: {get_input: controller_virtual_ip}
+ ceilometer::db::database_connection: {get_input: ceilometer_dsn}
+ ceilometer::agent::auth::auth_password: {get_input: ceilometer_password}
snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
# Nova
tripleo::loadbalancer::mysql: true
tripleo::loadbalancer::rabbitmq: true
tripleo::loadbalancer::swift_proxy_server: true
+ tripleo::loadbalancer::ceilometer: true
# NOTE(dprince): this example uses a composition class
# on the puppet side (loadbalancer.pp). This seemed like the
# Common Hiera data gets applied to all nodes
ssh::server::storeconfigs_enabled: false
+
+# ceilometer settings used by compute and controller ceilo auth settings
+ceilometer::agent::auth::auth_region: 'regionOne'
+# FIXME: Might be better to use 'service' tenant here but this requires
+# changes in the tripleo-incubator keystone role setup
+ceilometer::agent::auth::auth_tenant_name: 'admin'
neutron::agents::metadata::auth_tenant: 'service'
cinder::api::keystone_tenant: 'service'
swift::proxy::authtoken::admin_tenant_name: 'service'
+ceilometer::api::keystone_tenant: 'service'
#swift
swift::proxy::pipeline:
- 'tempurl'
- 'formpost'
- 'staticweb'
+ - 'ceilometer'
- 'authtoken'
- 'keystone'
- 'proxy-logging'
swift::storage::all::account_pipeline:
- healthcheck
- account-server
+
+swift::proxy::keystone::operator_roles:
+ - admin
+ - swiftoperator
+ - ResellerAdmin
listening_service => 'ceilometer',
ports => '8777',
ipaddresses => hiera('controller_host'),
- options => ['check', 'inter 2000', 'rise 2', 'fall 5'],
+ options => [],
}
}
dbname => $heat_dsn[6],
allowed_hosts => $allowed_hosts,
}
+ $ceilometer_dsn = split(hiera('ceilometer::db::database_connection'), '[@:/?]')
+ class { 'ceilometer::db::mysql':
+ user => $ceilometer_dsn[3],
+ password => $ceilometer_dsn[4],
+ host => $ceilometer_dsn[5],
+ dbname => $ceilometer_dsn[6],
+ allowed_hosts => $allowed_hosts,
+ }
if $::osfamily == 'RedHat' {
$rabbit_provider = 'yum'
include ::swift::proxy::keystone
include ::swift::proxy::authtoken
include ::swift::proxy::staticweb
+ include ::swift::proxy::ceilometer
include ::swift::proxy::ratelimit
include ::swift::proxy::catch_errors
include ::swift::proxy::tempurl
swift::storage::filter::recon { $swift_components : }
swift::storage::filter::healthcheck { $swift_components : }
+ # Ceilometer
+ include ::ceilometer
+ include ::ceilometer::api
+ include ::ceilometer::db
+ include ::ceilometer::agent::notification
+ include ::ceilometer::agent::central
+ include ::ceilometer::alarm::notifier
+ include ::ceilometer::alarm::evaluator
+ include ::ceilometer::expirer
+ include ::ceilometer::collector
+ class { 'ceilometer::agent::auth':
+ auth_url => join(['http://', hiera('controller_virtual_ip'), ':5000/v2.0']),
+ }
+
+ Cron <| title == 'ceilometer-expirer' |> { command => "sleep $((\$(od -A n -t d -N 3 /dev/urandom) % 86400)) && ${::ceilometer::params::expirer_command}" }
+
} #END STEP 2