Merge "Initial VIP ipv6 minor update code"
[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   CeilometerEventTTL:
55     default: '86400'
56     description: Number of seconds that events are kept in the database for
57                  (<= 0 means forever)
58     type: string
59   CeilometerMeteringTTL:
60     default: '86400'
61     description: Number of seconds that samples are kept in the database for
62                  (<= 0 means forever)
63     type: string
64 resources:
65   CeilometerServiceBase:
66     type: ./ceilometer-base.yaml
67     properties:
68       ServiceNetMap: {get_param: ServiceNetMap}
69       DefaultPasswords: {get_param: DefaultPasswords}
70       EndpointMap: {get_param: EndpointMap}
71
72   MongoDbBase:
73     type: ./database/mongodb-base.yaml
74     properties:
75       ServiceNetMap: {get_param: ServiceNetMap}
76       DefaultPasswords: {get_param: DefaultPasswords}
77       EndpointMap: {get_param: EndpointMap}
78
79 outputs:
80   role_data:
81     description: Role data for the Ceilometer Collector role.
82     value:
83       service_name: ceilometer_collector
84       monitoring_subscription: {get_param: MonitoringSubscriptionCeilometerCollector}
85       logging_source: {get_param: CeilometerCollectorLoggingSource}
86       logging_groups:
87         - ceilometer
88       config_settings:
89         map_merge:
90           - get_attr: [MongoDbBase, role_data, config_settings]
91           - get_attr: [CeilometerServiceBase, role_data, config_settings]
92           - ceilometer::db::database_connection:
93               list_join:
94                 - ''
95                 - - {get_param: [EndpointMap, MysqlInternal, protocol]}
96                 - - '://ceilometer:'
97                   - {get_param: CeilometerPassword}
98                   - '@'
99                   - {get_param: [EndpointMap, MysqlInternal, host]}
100                   - '/ceilometer'
101                   - '?read_default_file=/etc/my.cnf.d/tripleo.cnf&read_default_group=tripleo'
102             ceilometer_backend: {get_param: CeilometerBackend}
103             ceilometer::event_time_to_live: {get_param: CeilometerEventTTL}
104             ceilometer::metering_time_to_live: {get_param: CeilometerMeteringTTL}
105             # we include db_sync class in puppet-tripleo
106             ceilometer::db::sync_db: false
107             ceilometer::db::database_db_max_retries: -1
108             ceilometer::db::database_max_retries: -1
109             ceilometer::collector::meter_dispatcher: {get_param: CeilometerMeterDispatcher}
110             ceilometer::collector::event_dispatcher: {get_param: CeilometerEventDispatcher}
111       service_config_settings:
112         get_attr: [CeilometerServiceBase, role_data, service_config_settings]
113       step_config: |
114         include ::tripleo::profile::base::ceilometer::collector
115       upgrade_tasks:
116         - name: Check if ceilometer_collector is deployed
117           command: systemctl is-enabled openstack-ceilometer-collector
118           tags: common
119           ignore_errors: True
120           register: ceilometer_collector_enabled
121         - name: "PreUpgrade step0,validation: Check service openstack-ceilometer-collector is running"
122           shell: /usr/bin/systemctl show 'openstack-ceilometer-collector' --property ActiveState | grep '\bactive\b'
123           when: ceilometer_collector_enabled.rc == 0
124           tags: step0,validation
125         - name: Stop ceilometer_collector service
126           tags: step1
127           when: ceilometer_collector_enabled.rc == 0
128           service: name=openstack-ceilometer-collector state=stopped