Merge "Fix for the resource ControllerPostPuppetMaintenanceModeDeployment"
[apex-tripleo-heat-templates.git] / puppet / services / ceilometer-collector.yaml
1 heat_template_version: ocata
2
3 description: >
4   OpenStack Ceilometer Collector service configured with Puppet
5   This service is deprecated and will be removed in future releases.
6
7 parameters:
8   ServiceNetMap:
9     default: {}
10     description: Mapping of service_name -> network name. Typically set
11                  via parameter_defaults in the resource registry.  This
12                  mapping overrides those in ServiceNetMapDefaults.
13     type: json
14   DefaultPasswords:
15     default: {}
16     type: json
17   EndpointMap:
18     default: {}
19     description: Mapping of service endpoint -> protocol. Typically set
20                  via parameter_defaults in the resource registry.
21     type: json
22   CeilometerBackend:
23     default: 'mongodb'
24     description: The ceilometer backend type.
25     type: string
26   CeilometerPassword:
27     description: The password for the ceilometer service account.
28     type: string
29     hidden: true
30   MonitoringSubscriptionCeilometerCollector:
31     default: 'overcloud-ceilometer-collector'
32     type: string
33   CeilometerCollectorLoggingSource:
34     type: json
35     default:
36       tag: openstack.ceilometer.collector
37       path: /var/log/ceilometer/collector.log
38   CeilometerMeterDispatcher:
39     default: ['gnocchi']
40     description: Comma-seperated list of Dispatcher to process meter data
41                  Note that database option is deprecated and will not be
42                  supported in future.
43     type: comma_delimited_list
44     constraints:
45     - allowed_values: ['gnocchi', 'database']
46   CeilometerEventDispatcher:
47     default: ['panko', 'gnocchi']
48     description: Comma-separated list of Dispatchers to process events data
49                  Note that database option is deprecated and will not be
50                  supported in future.
51     type: comma_delimited_list
52     constraints:
53     - allowed_values: ['panko', 'gnocchi', 'database']
54
55 resources:
56   CeilometerServiceBase:
57     type: ./ceilometer-base.yaml
58     properties:
59       ServiceNetMap: {get_param: ServiceNetMap}
60       DefaultPasswords: {get_param: DefaultPasswords}
61       EndpointMap: {get_param: EndpointMap}
62
63   MongoDbBase:
64     type: ./database/mongodb-base.yaml
65     properties:
66       ServiceNetMap: {get_param: ServiceNetMap}
67       DefaultPasswords: {get_param: DefaultPasswords}
68       EndpointMap: {get_param: EndpointMap}
69
70 outputs:
71   role_data:
72     description: Role data for the Ceilometer Collector role.
73     value:
74       service_name: ceilometer_collector
75       monitoring_subscription: {get_param: MonitoringSubscriptionCeilometerCollector}
76       logging_source: {get_param: CeilometerCollectorLoggingSource}
77       logging_groups:
78         - ceilometer
79       config_settings:
80         map_merge:
81           - get_attr: [MongoDbBase, role_data, config_settings]
82           - get_attr: [CeilometerServiceBase, role_data, config_settings]
83           - ceilometer::db::database_connection:
84               list_join:
85                 - ''
86                 - - {get_param: [EndpointMap, MysqlInternal, protocol]}
87                 - - '://ceilometer:'
88                   - {get_param: CeilometerPassword}
89                   - '@'
90                   - {get_param: [EndpointMap, MysqlInternal, host]}
91                   - '/ceilometer'
92                   - '?read_default_file=/etc/my.cnf.d/tripleo.cnf&read_default_group=tripleo'
93             ceilometer_backend: {get_param: CeilometerBackend}
94             # we include db_sync class in puppet-tripleo
95             ceilometer::db::sync_db: false
96             ceilometer::db::database_db_max_retries: -1
97             ceilometer::db::database_max_retries: -1
98             ceilometer::collector::meter_dispatcher: {get_param: CeilometerMeterDispatcher}
99             ceilometer::collector::event_dispatcher: {get_param: CeilometerEventDispatcher}
100       service_config_settings:
101         get_attr: [CeilometerServiceBase, role_data, service_config_settings]
102       step_config: |
103         include ::tripleo::profile::base::ceilometer::collector
104       upgrade_tasks:
105         - name: Check if ceilometer_collector is deployed
106           command: systemctl is-enabled openstack-ceilometer-collector
107           tags: common
108           ignore_errors: True
109           register: ceilometer_collector_enabled
110         - name: "PreUpgrade step0,validation: Check service openstack-ceilometer-collector is running"
111           shell: /usr/bin/systemctl show 'openstack-ceilometer-collector' --property ActiveState | grep '\bactive\b'
112           when: ceilometer_collector_enabled.rc == 0
113           tags: step0,validation
114         - name: Stop ceilometer_collector service
115           tags: step1
116           when: ceilometer_collector_enabled.rc == 0
117           service: name=openstack-ceilometer-collector state=stopped