Deprecate ceilometer collector
authorPradeep Kilambi <pkilambi@redhat.com>
Tue, 28 Mar 2017 16:49:04 +0000 (12:49 -0400)
committerPradeep Kilambi <pkilambi@redhat.com>
Tue, 25 Apr 2017 20:38:01 +0000 (16:38 -0400)
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

ci/environments/scenario001-multinode.yaml
environments/services/ceilometer-collector.yaml [new file with mode: 0644]
overcloud-resource-registry-puppet.j2.yaml
puppet/services/ceilometer-base.yaml
puppet/services/ceilometer-collector.yaml
puppet/services/disabled/ceilometer-collector.yaml [new file with mode: 0644]
releasenotes/notes/deprecate-collector-a16e5d58ae00806d.yaml [new file with mode: 0644]
roles_data.yaml

index 6995dea..45e7eb2 100644 (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
diff --git a/environments/services/ceilometer-collector.yaml b/environments/services/ceilometer-collector.yaml
new file mode 100644 (file)
index 0000000..4cc765f
--- /dev/null
@@ -0,0 +1,2 @@
+resource_registry:
+  OS::TripleO::Services::CeilometerCollector: ../../puppet/services/ceilometer-collector.yaml
index 79ac7cc..4956bfc 100644 (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
index d524e61..761e6bd 100644 (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:
index b0ec971..dfc844b 100644 (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: |
diff --git a/puppet/services/disabled/ceilometer-collector.yaml b/puppet/services/disabled/ceilometer-collector.yaml
new file mode 100644 (file)
index 0000000..25c7920
--- /dev/null
@@ -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
diff --git a/releasenotes/notes/deprecate-collector-a16e5d58ae00806d.yaml b/releasenotes/notes/deprecate-collector-a16e5d58ae00806d.yaml
new file mode 100644 (file)
index 0000000..b9546a9
--- /dev/null
@@ -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.
index 8d3b507..5c9aa13 100644 (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