Merge "Containerize HAProxy for HA"
[apex-tripleo-heat-templates.git] / puppet / services / ceilometer-agent-ipmi.yaml
1 heat_template_version: pike
2
3 description: >
4   OpenStack Ceilometer Ipmi 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   MonitoringSubscriptionCeilometerIpmi:
34     default: 'overcloud-ceilometer-agent-ipmi'
35     type: string
36   CeilometerAgentIpmiLoggingSource:
37     type: json
38     default:
39       tag: openstack.ceilometer.agent.ipmi
40       path: /var/log/ceilometer/ipmi.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 Agent Ipmi role.
55     value:
56       service_name: ceilometer_agent_ipmi
57       monitoring_subscription: {get_param: MonitoringSubscriptionCeilometerIpmi}
58       logging_source: {get_param: CeilometerAgentIpmiLoggingSource}
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             ipmi_namespace: true
66       step_config: |
67         include ::tripleo::profile::base::ceilometer::agent::polling
68       upgrade_tasks:
69         - name: Check if ceilometer-agent-ipmi is deployed
70           command: systemctl is-enabled openstack-ceilometer-ipmi
71           tags: common
72           ignore_errors: True
73           register: ceilometer_ipmi_enabled
74         - name: "PreUpgrade step0,validation: Check if openstack-ceilometer-ipmi is running"
75           shell: >
76             /usr/bin/systemctl show 'openstack-ceilometer-ipmi' --property ActiveState |
77             grep '\bactive\b'
78           when: ceilometer_ipmi_enabled.rc == 0
79           tags: step0,validation
80         - name: Stop openstack-ceilometer-ipmi service
81           tags: step1
82           when: ceilometer_ipmi_enabled.rc == 0
83           service: name=openstack-ceilometer-ipmi state=stopped
84         - name: Install openstack-ceilometer-ipmi package if it was disabled
85           tags: step3
86           yum: name=openstack-ceilometer-ipmi state=latest
87           when: ceilometer_ipmi_enabled.rc != 0