Merge "Add a new role for ComputeOvsDpdk and clean-up parameters"
[apex-tripleo-heat-templates.git] / puppet / services / pacemaker_remote.yaml
1 heat_template_version: pike
2
3 description: >
4   Pacemaker remote service configured with Puppet
5
6 parameters:
7   ServiceData:
8     default: {}
9     description: Dictionary packing service data
10     type: json
11   ServiceNetMap:
12     default: {}
13     description: Mapping of service_name -> network name. Typically set
14                  via parameter_defaults in the resource registry.  This
15                  mapping overrides those in ServiceNetMapDefaults.
16     type: json
17   DefaultPasswords:
18     default: {}
19     type: json
20   RoleName:
21     default: ''
22     description: Role name on which the service is applied
23     type: string
24   RoleParameters:
25     default: {}
26     description: Parameters specific to the role
27     type: json
28   EndpointMap:
29     default: {}
30     description: Mapping of service endpoint -> protocol. Typically set
31                  via parameter_defaults in the resource registry.
32     type: json
33   PacemakerRemoteAuthkey:
34     type: string
35     description: The authkey for the pacemaker remote service.
36     hidden: true
37     default: ''
38   MonitoringSubscriptionPacemakerRemote:
39     default: 'overcloud-pacemaker_remote'
40     type: string
41   EnableFencing:
42     default: false
43     description: Whether to enable fencing in Pacemaker or not.
44     type: boolean
45   FencingConfig:
46     default: {}
47     description: |
48       Pacemaker fencing configuration. The JSON should have
49       the following structure:
50         {
51           "devices": [
52             {
53               "agent": "AGENT_NAME",
54               "host_mac": "HOST_MAC_ADDRESS",
55               "params": {"PARAM_NAME": "PARAM_VALUE"}
56             }
57           ]
58         }
59       For instance:
60         {
61           "devices": [
62             {
63               "agent": "fence_xvm",
64               "host_mac": "52:54:00:aa:bb:cc",
65               "params": {
66                 "multicast_address": "225.0.0.12",
67                 "port": "baremetal_0",
68                 "manage_fw": true,
69                 "manage_key_file": true,
70                 "key_file": "/etc/fence_xvm.key",
71                 "key_file_password": "abcdef"
72               }
73             }
74           ]
75         }
76     type: json
77   PacemakerRemoteLoggingSource:
78     type: json
79     default:
80       tag: system.pacemaker_remote
81       path: /var/log/pacemaker.log
82       format: >-
83         /^(?<time>[^ ]*\s*[^ ]* [^ ]*)
84         \[(?<pid>[^ ]*)\]
85         (?<host>[^ ]*)
86         (?<message>.*)$/
87
88 outputs:
89   role_data:
90     description: Role data for the Pacemaker remote role.
91     value:
92       service_name: pacemaker_remote
93       monitoring_subscription: {get_param: MonitoringSubscriptionPacemakerRemote}
94       logging_groups:
95         - haclient
96       logging_source: {get_param: PacemakerRemoteLoggingSource}
97       config_settings:
98         tripleo.pacemaker_remote.firewall_rules:
99           '130 pacemaker_remote tcp':
100             proto: 'tcp'
101             dport:
102               - 3121
103         tripleo::fencing::config: {get_param: FencingConfig}
104         enable_fencing: {get_param: EnableFencing}
105         tripleo::profile::base::pacemaker_remote::remote_authkey: {get_param: PacemakerRemoteAuthkey}
106       step_config: |
107         include ::tripleo::profile::base::pacemaker_remote