50608d50e083080ca4f0c5eb619cd0503df0bf18
[apex-tripleo-heat-templates.git] / puppet / services / ceilometer-agent-central.yaml
1 heat_template_version: ocata
2
3 description: >
4   OpenStack Ceilometer Central Agent service configured with Puppet
5
6 parameters:
7   ServiceNetMap:
8     default: {}
9     description: Mapping of service_name -> network name. Typically set
10                  via parameter_defaults in the resource registry.  This
11                  mapping overrides those in ServiceNetMapDefaults.
12     type: json
13   DefaultPasswords:
14     default: {}
15     type: json
16   RoleName:
17     default: ''
18     description: Role name on which the service is applied
19     type: string
20   RoleParameters:
21     default: {}
22     description: Parameters specific to the role
23     type: json
24   EndpointMap:
25     default: {}
26     description: Mapping of service endpoint -> protocol. Typically set
27                  via parameter_defaults in the resource registry.
28     type: json
29   RedisPassword:
30     description: The password for the redis service account.
31     type: string
32     hidden: true
33   MonitoringSubscriptionCeilometerCentral:
34     default: 'overcloud-ceilometer-agent-central'
35     type: string
36   CeilometerAgentCentralLoggingSource:
37     type: json
38     default:
39       tag: openstack.ceilometer.agent.central
40       path: /var/log/ceilometer/central.log
41
42 resources:
43   CeilometerServiceBase:
44     type: ./ceilometer-base.yaml
45     properties:
46       ServiceNetMap: {get_param: ServiceNetMap}
47       DefaultPasswords: {get_param: DefaultPasswords}
48       EndpointMap: {get_param: EndpointMap}
49       RoleName: {get_param: RoleName}
50       RoleParameters: {get_param: RoleParameters}
51
52 outputs:
53   role_data:
54     description: Role data for the Ceilometer Central Agent role.
55     value:
56       service_name: ceilometer_agent_central
57       monitoring_subscription: {get_param: MonitoringSubscriptionCeilometerCentral}
58       logging_source: {get_param: CeilometerAgentCentralLoggingSource}
59       logging_groups:
60         - ceilometer
61       config_settings:
62         map_merge:
63           - get_attr: [CeilometerServiceBase, role_data, config_settings]
64           - ceilometer_redis_password: {get_param: RedisPassword}
65             central_namespace: true
66       service_config_settings:
67         get_attr: [CeilometerServiceBase, role_data, service_config_settings]
68       step_config: |
69         include ::tripleo::profile::base::ceilometer::agent::polling
70       upgrade_tasks:
71         - name: Check if ceilometer_agent_central is deployed
72           command: systemctl is-enabled openstack-ceilometer-central
73           tags: common
74           ignore_errors: True
75           register: ceilometer_agent_central_enabled
76         - name: "PreUpgrade step0,validation: Check service openstack-ceilometer-central is running"
77           shell: /usr/bin/systemctl show 'openstack-ceilometer-central' --property ActiveState | grep '\bactive\b'
78           when: ceilometer_agent_central_enabled.rc == 0
79           tags: step0,validation
80         - name: Stop ceilometer_agent_central service
81           tags: step1
82           when: ceilometer_agent_central_enabled.rc == 0
83           service: name=openstack-ceilometer-central state=stopped