diff options
-rw-r--r-- | controller-puppet.yaml | 14 | ||||
-rw-r--r-- | puppet/hieradata/common.yaml | 6 | ||||
-rw-r--r-- | puppet/hieradata/controller.yaml | 2 | ||||
-rw-r--r-- | puppet/hieradata/object.yaml | 5 | ||||
-rw-r--r-- | puppet/loadbalancer.pp | 2 | ||||
-rw-r--r-- | puppet/overcloud_controller.pp | 25 |
6 files changed, 49 insertions, 5 deletions
diff --git a/controller-puppet.yaml b/controller-puppet.yaml index c5462ff7..8b8a4eff 100644 --- a/controller-puppet.yaml +++ b/controller-puppet.yaml @@ -535,7 +535,6 @@ resources: swift_min_part_hours: {get_param: SwiftMinPartHours} swift_mount_check: {get_param: SwiftMountCheck} - # Map heat metadata into hiera datafiles ControllerConfig: type: OS::Heat::StructuredConfig @@ -658,9 +657,15 @@ resources: 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 @@ -699,6 +704,7 @@ resources: 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 diff --git a/puppet/hieradata/common.yaml b/puppet/hieradata/common.yaml index 76cde950..a75bbe39 100644 --- a/puppet/hieradata/common.yaml +++ b/puppet/hieradata/common.yaml @@ -1,2 +1,8 @@ # 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' diff --git a/puppet/hieradata/controller.yaml b/puppet/hieradata/controller.yaml index b13f8234..5f326ef4 100644 --- a/puppet/hieradata/controller.yaml +++ b/puppet/hieradata/controller.yaml @@ -19,6 +19,7 @@ neutron::server::auth_tenant: 'service' 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: @@ -29,6 +30,7 @@ swift::proxy::pipeline: - 'tempurl' - 'formpost' - 'staticweb' + - 'ceilometer' - 'authtoken' - 'keystone' - 'proxy-logging' diff --git a/puppet/hieradata/object.yaml b/puppet/hieradata/object.yaml index 759a7ba9..59a8b1cf 100644 --- a/puppet/hieradata/object.yaml +++ b/puppet/hieradata/object.yaml @@ -9,3 +9,8 @@ swift::storage::all::container_pipeline: swift::storage::all::account_pipeline: - healthcheck - account-server + +swift::proxy::keystone::operator_roles: + - admin + - swiftoperator + - ResellerAdmin diff --git a/puppet/loadbalancer.pp b/puppet/loadbalancer.pp index ea834c5e..84598da6 100644 --- a/puppet/loadbalancer.pp +++ b/puppet/loadbalancer.pp @@ -261,7 +261,7 @@ class tripleo::loadbalancer ( listening_service => 'ceilometer', ports => '8777', ipaddresses => hiera('controller_host'), - options => ['check', 'inter 2000', 'rise 2', 'fall 5'], + options => [], } } diff --git a/puppet/overcloud_controller.pp b/puppet/overcloud_controller.pp index 20413cc6..90f69eb1 100644 --- a/puppet/overcloud_controller.pp +++ b/puppet/overcloud_controller.pp @@ -76,6 +76,14 @@ if hiera('step') >= 1 { 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' @@ -221,6 +229,7 @@ if hiera('step') >= 2 { 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 @@ -242,4 +251,20 @@ if hiera('step') >= 2 { 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 |