From c93ba28a895a24c8cf14e6475a367152b35f35c4 Mon Sep 17 00:00:00 2001 From: Dan Prince Date: Thu, 23 Jun 2016 14:38:16 -0400 Subject: [PATCH] Revert "Ceilometer composable roles for controller" This reverts commit c48410a05ec0ffd11c717bcf350badc9e5f0e910. We've discovered this patch never had passing CI due to a DLRN build failure. Change-Id: I546cb3e340d20701662affda7e28b586c58ba6de --- environments/puppet-pacemaker.yaml | 4 - overcloud-resource-registry-puppet.yaml | 5 - overcloud.yaml | 29 +++- puppet/controller.yaml | 66 +++++++++ puppet/manifests/overcloud_controller.pp | 47 ++++++ .../overcloud_controller_pacemaker.pp | 140 ++++++++++++++++++ puppet/services/ceilometer-agent-central.yaml | 27 ---- .../ceilometer-agent-notification.yaml | 27 ---- puppet/services/ceilometer-api.yaml | 27 ---- puppet/services/ceilometer-base.yaml | 115 -------------- puppet/services/ceilometer-collector.yaml | 27 ---- puppet/services/ceilometer-expirer.yaml | 27 ---- .../pacemaker/ceilometer-agent-central.yaml | 29 ---- .../ceilometer-agent-notification.yaml | 29 ---- puppet/services/pacemaker/ceilometer-api.yaml | 29 ---- .../pacemaker/ceilometer-collector.yaml | 29 ---- 16 files changed, 277 insertions(+), 380 deletions(-) delete mode 100644 puppet/services/ceilometer-agent-central.yaml delete mode 100644 puppet/services/ceilometer-agent-notification.yaml delete mode 100644 puppet/services/ceilometer-api.yaml delete mode 100644 puppet/services/ceilometer-base.yaml delete mode 100644 puppet/services/ceilometer-collector.yaml delete mode 100644 puppet/services/ceilometer-expirer.yaml delete mode 100644 puppet/services/pacemaker/ceilometer-agent-central.yaml delete mode 100644 puppet/services/pacemaker/ceilometer-agent-notification.yaml delete mode 100644 puppet/services/pacemaker/ceilometer-api.yaml delete mode 100644 puppet/services/pacemaker/ceilometer-collector.yaml diff --git a/environments/puppet-pacemaker.yaml b/environments/puppet-pacemaker.yaml index 1df02f383a..d1df6c419a 100644 --- a/environments/puppet-pacemaker.yaml +++ b/environments/puppet-pacemaker.yaml @@ -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 diff --git a/overcloud-resource-registry-puppet.yaml b/overcloud-resource-registry-puppet.yaml index efcf86ffcf..e1d957282a 100644 --- a/overcloud-resource-registry-puppet.yaml +++ b/overcloud-resource-registry-puppet.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 diff --git a/overcloud.yaml b/overcloud.yaml index 145fedacc8..0af6ee48a5 100644 --- a/overcloud.yaml +++ b/overcloud.yaml @@ -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} diff --git a/puppet/controller.yaml b/puppet/controller.yaml index cfac1f9475..ae1ef49ab1 100644 --- a/puppet/controller.yaml +++ b/puppet/controller.yaml @@ -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} diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp index 63c59826cb..628856e6c7 100644 --- a/puppet/manifests/overcloud_controller.pp +++ b/puppet/manifests/overcloud_controller.pp @@ -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'), diff --git a/puppet/manifests/overcloud_controller_pacemaker.pp b/puppet/manifests/overcloud_controller_pacemaker.pp index 835d5689f1..9bb40fca80 100644 --- a/puppet/manifests/overcloud_controller_pacemaker.pp +++ b/puppet/manifests/overcloud_controller_pacemaker.pp @@ -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 : diff --git a/puppet/services/ceilometer-agent-central.yaml b/puppet/services/ceilometer-agent-central.yaml deleted file mode 100644 index 6312a047f6..0000000000 --- a/puppet/services/ceilometer-agent-central.yaml +++ /dev/null @@ -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 diff --git a/puppet/services/ceilometer-agent-notification.yaml b/puppet/services/ceilometer-agent-notification.yaml deleted file mode 100644 index 523dabb994..0000000000 --- a/puppet/services/ceilometer-agent-notification.yaml +++ /dev/null @@ -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 diff --git a/puppet/services/ceilometer-api.yaml b/puppet/services/ceilometer-api.yaml deleted file mode 100644 index 06c2ed1283..0000000000 --- a/puppet/services/ceilometer-api.yaml +++ /dev/null @@ -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 diff --git a/puppet/services/ceilometer-base.yaml b/puppet/services/ceilometer-base.yaml deleted file mode 100644 index caf8e17b82..0000000000 --- a/puppet/services/ceilometer-base.yaml +++ /dev/null @@ -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} diff --git a/puppet/services/ceilometer-collector.yaml b/puppet/services/ceilometer-collector.yaml deleted file mode 100644 index 8df4478aa2..0000000000 --- a/puppet/services/ceilometer-collector.yaml +++ /dev/null @@ -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 diff --git a/puppet/services/ceilometer-expirer.yaml b/puppet/services/ceilometer-expirer.yaml deleted file mode 100644 index 06c2ed1283..0000000000 --- a/puppet/services/ceilometer-expirer.yaml +++ /dev/null @@ -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 diff --git a/puppet/services/pacemaker/ceilometer-agent-central.yaml b/puppet/services/pacemaker/ceilometer-agent-central.yaml deleted file mode 100644 index 7f2fb5cae6..0000000000 --- a/puppet/services/pacemaker/ceilometer-agent-central.yaml +++ /dev/null @@ -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 diff --git a/puppet/services/pacemaker/ceilometer-agent-notification.yaml b/puppet/services/pacemaker/ceilometer-agent-notification.yaml deleted file mode 100644 index 3ad1a1ed0e..0000000000 --- a/puppet/services/pacemaker/ceilometer-agent-notification.yaml +++ /dev/null @@ -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 diff --git a/puppet/services/pacemaker/ceilometer-api.yaml b/puppet/services/pacemaker/ceilometer-api.yaml deleted file mode 100644 index de361de7a3..0000000000 --- a/puppet/services/pacemaker/ceilometer-api.yaml +++ /dev/null @@ -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 diff --git a/puppet/services/pacemaker/ceilometer-collector.yaml b/puppet/services/pacemaker/ceilometer-collector.yaml deleted file mode 100644 index 53fb47168d..0000000000 --- a/puppet/services/pacemaker/ceilometer-collector.yaml +++ /dev/null @@ -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