Merge "Remove osd_pool_default_min_size to allow Ceph cluster to do the right thing...
[apex-tripleo-heat-templates.git] / puppet / services / ceilometer-collector.yaml
1 heat_template_version: pike
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   RoleName:
18     default: ''
19     description: Role name on which the service is applied
20     type: string
21   RoleParameters:
22     default: {}
23     description: Parameters specific to the role
24     type: json
25   EndpointMap:
26     default: {}
27     description: Mapping of service endpoint -> protocol. Typically set
28                  via parameter_defaults in the resource registry.
29     type: json
30   CeilometerBackend:
31     default: 'mongodb'
32     description: The ceilometer backend type.
33     type: string
34   CeilometerPassword:
35     description: The password for the ceilometer service account.
36     type: string
37     hidden: true
38   MonitoringSubscriptionCeilometerCollector:
39     default: 'overcloud-ceilometer-collector'
40     type: string
41   CeilometerCollectorLoggingSource:
42     type: json
43     default:
44       tag: openstack.ceilometer.collector
45       path: /var/log/ceilometer/collector.log
46   CeilometerMeterDispatcher:
47     default: ['gnocchi']
48     description: Comma-seperated list of Dispatcher to process meter 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: ['gnocchi', 'database']
54   CeilometerEventDispatcher:
55     default: ['panko', 'gnocchi']
56     description: Comma-separated list of Dispatchers to process events data
57                  Note that database option is deprecated and will not be
58                  supported in future.
59     type: comma_delimited_list
60     constraints:
61     - allowed_values: ['panko', 'gnocchi', 'database']
62   CeilometerEventTTL:
63     default: '86400'
64     description: Number of seconds that events are kept in the database for
65                  (<= 0 means forever)
66     type: string
67   CeilometerMeteringTTL:
68     default: '86400'
69     description: Number of seconds that samples are kept in the database for
70                  (<= 0 means forever)
71     type: string
72 resources:
73   CeilometerServiceBase:
74     type: ./ceilometer-base.yaml
75     properties:
76       ServiceNetMap: {get_param: ServiceNetMap}
77       DefaultPasswords: {get_param: DefaultPasswords}
78       EndpointMap: {get_param: EndpointMap}
79       RoleName: {get_param: RoleName}
80       RoleParameters: {get_param: RoleParameters}
81
82   MongoDbBase:
83     type: ./database/mongodb-base.yaml
84     properties:
85       ServiceNetMap: {get_param: ServiceNetMap}
86       DefaultPasswords: {get_param: DefaultPasswords}
87       EndpointMap: {get_param: EndpointMap}
88       RoleName: {get_param: RoleName}
89       RoleParameters: {get_param: RoleParameters}
90
91 outputs:
92   role_data:
93     description: Role data for the Ceilometer Collector role.
94     value:
95       service_name: ceilometer_collector
96       monitoring_subscription: {get_param: MonitoringSubscriptionCeilometerCollector}
97       logging_source: {get_param: CeilometerCollectorLoggingSource}
98       logging_groups:
99         - ceilometer
100       config_settings:
101         map_merge:
102           - get_attr: [MongoDbBase, role_data, config_settings]
103           - get_attr: [CeilometerServiceBase, role_data, config_settings]
104           - ceilometer::db::database_connection:
105               make_url:
106                 scheme: {get_param: [EndpointMap, MysqlInternal, protocol]}
107                 username: ceilometer
108                 password: {get_param: CeilometerPassword}
109                 host: {get_param: [EndpointMap, MysqlInternal, host]}
110                 path: /ceilometer
111                 query:
112                   read_default_file: /etc/my.cnf.d/tripleo.cnf
113                   read_default_group: tripleo
114             ceilometer_backend: {get_param: CeilometerBackend}
115             ceilometer::event_time_to_live: {get_param: CeilometerEventTTL}
116             ceilometer::metering_time_to_live: {get_param: CeilometerMeteringTTL}
117             # we include db_sync class in puppet-tripleo
118             ceilometer::db::sync_db: false
119             ceilometer::db::database_db_max_retries: -1
120             ceilometer::db::database_max_retries: -1
121             ceilometer::collector::meter_dispatcher: {get_param: CeilometerMeterDispatcher}
122             ceilometer::collector::event_dispatcher: {get_param: CeilometerEventDispatcher}
123       service_config_settings:
124         get_attr: [CeilometerServiceBase, role_data, service_config_settings]
125       step_config: |
126         include ::tripleo::profile::base::ceilometer::collector
127       upgrade_tasks:
128         - name: Check if ceilometer_collector is deployed
129           command: systemctl is-enabled openstack-ceilometer-collector
130           tags: common
131           ignore_errors: True
132           register: ceilometer_collector_enabled
133         - name: "PreUpgrade step0,validation: Check service openstack-ceilometer-collector is running"
134           shell: /usr/bin/systemctl show 'openstack-ceilometer-collector' --property ActiveState | grep '\bactive\b'
135           when: ceilometer_collector_enabled.rc == 0
136           tags: step0,validation
137         - name: Stop ceilometer_collector service
138           tags: step1
139           when: ceilometer_collector_enabled.rc == 0
140           service: name=openstack-ceilometer-collector state=stopped