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