Deprecate ceilometer collector

Ceilometer collector is deprecated in Pike release.
Do not deploy by default. Instead use the pipeline
yaml to configure the publisher directly.

Closes-bug: #1676961

Change-Id: Ic71360c6307086d5393cd37d38ab921de186a2e0
This commit is contained in:
Pradeep Kilambi 2017-03-28 12:49:04 -04:00
parent 4b874376ce
commit 2cb2d8d77b
8 changed files with 89 additions and 37 deletions

View File

@ -62,8 +62,6 @@ parameter_defaults:
- OS::TripleO::Services::AodhEvaluator
- OS::TripleO::Services::AodhNotifier
- OS::TripleO::Services::AodhListener
- OS::TripleO::Services::CeilometerApi
- OS::TripleO::Services::CeilometerCollector
- OS::TripleO::Services::CeilometerExpirer
- OS::TripleO::Services::CeilometerAgentCentral
- OS::TripleO::Services::CeilometerAgentIpmi

View File

@ -0,0 +1,2 @@
resource_registry:
OS::TripleO::Services::CeilometerCollector: ../../puppet/services/ceilometer-collector.yaml

View File

@ -188,7 +188,7 @@ resource_registry:
OS::TripleO::Services::Tacker: OS::Heat::None
OS::TripleO::Services::Timezone: puppet/services/time/timezone.yaml
OS::TripleO::Services::CeilometerApi: puppet/services/ceilometer-api.yaml
OS::TripleO::Services::CeilometerCollector: puppet/services/ceilometer-collector.yaml
OS::TripleO::Services::CeilometerCollector: puppet/services/disabled/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

View File

@ -18,10 +18,6 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
CeilometerBackend:
default: 'mongodb'
description: The ceilometer backend type.
type: string
CeilometerMeteringSecret:
description: Secret shared by the ceilometer services.
type: string
@ -30,18 +26,6 @@ parameters:
description: The password for the ceilometer service account.
type: string
hidden: true
CeilometerMeterDispatcher:
default: ['gnocchi']
description: Comma-seperated list of Dispatcher to process meter data
type: comma_delimited_list
constraints:
- allowed_values: ['gnocchi', 'database']
CeilometerEventDispatcher:
default: ['panko', 'gnocchi']
description: Comma-separated list of Dispatchers to process events data
type: comma_delimited_list
constraints:
- allowed_values: ['panko', 'gnocchi', 'database']
CeilometerWorkers:
default: 0
description: Number of workers for Ceilometer service.
@ -89,19 +73,6 @@ outputs:
service_name: ceilometer_base
config_settings:
ceilometer::debug: {get_param: Debug}
ceilometer::db::database_connection:
list_join:
- ''
- - {get_param: [EndpointMap, MysqlInternal, protocol]}
- - '://ceilometer:'
- {get_param: CeilometerPassword}
- '@'
- {get_param: [EndpointMap, MysqlInternal, host]}
- '/ceilometer'
- '?read_default_file=/etc/my.cnf.d/tripleo.cnf&read_default_group=tripleo'
ceilometer_backend: {get_param: CeilometerBackend}
# we include db_sync class in puppet-tripleo
ceilometer::db::sync_db: false
ceilometer::keystone::authtoken::project_name: 'service'
ceilometer::keystone::authtoken::user_domain_name: 'Default'
ceilometer::keystone::authtoken::project_domain_name: 'Default'
@ -116,8 +87,6 @@ outputs:
ceilometer::agent::auth::auth_user_domain_name: 'Default'
ceilometer::agent::auth::auth_project_domain_name: 'Default'
ceilometer::agent::auth::auth_endpoint_type: 'internalURL'
ceilometer::collector::meter_dispatcher: {get_param: CeilometerMeterDispatcher}
ceilometer::collector::event_dispatcher: {get_param: CeilometerEventDispatcher}
ceilometer::dispatcher::gnocchi::url: {get_param: [EndpointMap, GnocchiInternal, uri]}
ceilometer::dispatcher::gnocchi::filter_project: 'service'
ceilometer::dispatcher::gnocchi::archive_policy: 'low'
@ -127,8 +96,6 @@ outputs:
ceilometer::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
ceilometer::rabbit_port: {get_param: RabbitClientPort}
ceilometer::rabbit_heartbeat_timeout_threshold: 60
ceilometer::db::database_db_max_retries: -1
ceilometer::db::database_max_retries: -1
ceilometer::telemetry_secret: {get_param: CeilometerMeteringSecret}
service_config_settings:
keystone:

View File

@ -2,6 +2,7 @@ heat_template_version: ocata
description: >
OpenStack Ceilometer Collector service configured with Puppet
This service is deprecated and will be removed in future releases.
parameters:
ServiceNetMap:
@ -18,6 +19,14 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
CeilometerBackend:
default: 'mongodb'
description: The ceilometer backend type.
type: string
CeilometerPassword:
description: The password for the ceilometer service account.
type: string
hidden: true
MonitoringSubscriptionCeilometerCollector:
default: 'overcloud-ceilometer-collector'
type: string
@ -26,6 +35,22 @@ parameters:
default:
tag: openstack.ceilometer.collector
path: /var/log/ceilometer/collector.log
CeilometerMeterDispatcher:
default: ['gnocchi']
description: Comma-seperated list of Dispatcher to process meter data
Note that database option is deprecated and will not be
supported in future.
type: comma_delimited_list
constraints:
- allowed_values: ['gnocchi', 'database']
CeilometerEventDispatcher:
default: ['panko', 'gnocchi']
description: Comma-separated list of Dispatchers to process events data
Note that database option is deprecated and will not be
supported in future.
type: comma_delimited_list
constraints:
- allowed_values: ['panko', 'gnocchi', 'database']
resources:
CeilometerServiceBase:
@ -55,6 +80,23 @@ outputs:
map_merge:
- get_attr: [MongoDbBase, role_data, config_settings]
- get_attr: [CeilometerServiceBase, role_data, config_settings]
- ceilometer::db::database_connection:
list_join:
- ''
- - {get_param: [EndpointMap, MysqlInternal, protocol]}
- - '://ceilometer:'
- {get_param: CeilometerPassword}
- '@'
- {get_param: [EndpointMap, MysqlInternal, host]}
- '/ceilometer'
- '?read_default_file=/etc/my.cnf.d/tripleo.cnf&read_default_group=tripleo'
ceilometer_backend: {get_param: CeilometerBackend}
# we include db_sync class in puppet-tripleo
ceilometer::db::sync_db: false
ceilometer::db::database_db_max_retries: -1
ceilometer::db::database_max_retries: -1
ceilometer::collector::meter_dispatcher: {get_param: CeilometerMeterDispatcher}
ceilometer::collector::event_dispatcher: {get_param: CeilometerEventDispatcher}
service_config_settings:
get_attr: [CeilometerServiceBase, role_data, service_config_settings]
step_config: |

View File

@ -0,0 +1,30 @@
heat_template_version: pike
description: >
OpenStack Ceilometer Collector service, disabled since pike
parameters:
ServiceNetMap:
default: {}
description: Mapping of service_name -> network name. Typically set
via parameter_defaults in the resource registry. This
mapping overrides those in ServiceNetMapDefaults.
type: json
DefaultPasswords:
default: {}
type: json
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
outputs:
role_data:
description: Role data for the disabled Ceilometer Collector role.
value:
service_name: ceilometer_collector
upgrade_tasks:
- name: Stop and disable ceilometer_collector service on upgrade
tags: step1
service: name=openstack-ceilometer-collector state=stopped enabled=no

View File

@ -0,0 +1,14 @@
---
upgrade:
- With collector deprecated and disabled by default, there is an upgrade
impact here. If you had collector enabled in ocata and you upgrade to
pike the collector will not be enabled anymore. If you wish to use
collector, ensure you include the ceilometer-collector.yaml
to your upgrade deploy command. We recommend switching to using the
new pipeline approach with publisher instead.
deprecations:
- Deprecate and disable ceilometer collector service by default. Instead
use the publisher directly in the pipeline to push data where appropriate.
This can be manually enabled by passing the environment file to deploy
command which is included in environment dir as ceilometer-collector.yaml.
By default, the pipeline publisher pushes data automatically to gnocchi.

View File

@ -98,7 +98,6 @@
- OS::TripleO::Services::Sshd
- OS::TripleO::Services::Securetty
- OS::TripleO::Services::Timezone
- OS::TripleO::Services::CeilometerCollector
- OS::TripleO::Services::CeilometerExpirer
- OS::TripleO::Services::CeilometerAgentCentral
- OS::TripleO::Services::CeilometerAgentNotification