aboutsummaryrefslogtreecommitdiffstats
path: root/puppet/controller-puppet.yaml
diff options
context:
space:
mode:
authorJiri Stransky <jistr@redhat.com>2015-06-04 16:20:52 +0200
committerJiri Stransky <jistr@redhat.com>2015-07-01 13:54:00 +0200
commit1787fbc7ca58f9965cd5d64b685c1f9beed4cb9b (patch)
tree3b535f75d170cab13208d8442f8bb2a09ef4cc91 /puppet/controller-puppet.yaml
parent5d1738f6e3fcdd73bb3fa1c64df9bb295bb42184 (diff)
Allow to enable fencing, pass through fencing config
Add two new parameters: EnableFencing and FencingConfig. FencingConfig is a json with an expected structure documented in the templates. It gets passed further to puppet-tripleo, which configures the fencing devices. Fencing is configured and enabled in the last step after all pacemaker resources and constraints have been created, which should be a more stable approach than the other way round. Change-Id: Ifd432bfd2443b6d13e7efa006d4120bb0eaa2554 Depends-On: I819fc8c126ec47cd207c59b3dcf92ff699649c5a Depends-On: I8b7adff6f05f864115071c51810b41efad887584
Diffstat (limited to 'puppet/controller-puppet.yaml')
-rw-r--r--puppet/controller-puppet.yaml40
1 files changed, 40 insertions, 0 deletions
diff --git a/puppet/controller-puppet.yaml b/puppet/controller-puppet.yaml
index 1e563331..5a356bcc 100644
--- a/puppet/controller-puppet.yaml
+++ b/puppet/controller-puppet.yaml
@@ -72,6 +72,10 @@ parameters:
default: ''
description: Set to True to enable debugging on all services.
type: string
+ EnableFencing:
+ default: false
+ description: Whether to enable fencing in Pacemaker or not.
+ type: boolean
EnableGalera:
default: true
description: Whether to use Galera instead of regular MariaDB.
@@ -122,6 +126,38 @@ parameters:
}
}
type: json
+ FencingConfig:
+ default: {}
+ description: |
+ Pacemaker fencing configuration. The JSON should have
+ the following structure:
+ {
+ "devices": [
+ {
+ "agent": "AGENT_NAME",
+ "host_mac": "HOST_MAC_ADDRESS",
+ "params": {"PARAM_NAME": "PARAM_VALUE"}
+ }
+ ]
+ }
+ For instance:
+ {
+ "devices": [
+ {
+ "agent": "fence_xvm",
+ "host_mac": "52:54:00:aa:bb:cc",
+ "params": {
+ "multicast_address": "225.0.0.12",
+ "port": "baremetal_0",
+ "manage_fw": true,
+ "manage_key_file": true,
+ "key_file": "/etc/fence_xvm.key",
+ "key_file_password": "abcdef"
+ }
+ }
+ ]
+ }
+ type: json
Flavor:
description: Flavor for control nodes to request when deploying.
type: string
@@ -634,6 +670,7 @@ resources:
- - 'http://'
- {get_param: KeystonePublicApiVirtualIP}
- ':5000/v2.0/'
+ enable_fencing: {get_param: EnableFencing}
enable_galera: {get_param: EnableGalera}
enable_ceph_storage: {get_param: EnableCephStorage}
enable_swift_storage: {get_param: EnableSwiftStorage}
@@ -714,6 +751,7 @@ resources:
- '@'
- {get_param: MysqlVirtualIP}
- '/nova'
+ fencing_config: {get_param: FencingConfig}
pcsd_password: {get_param: PcsdPassword}
rabbit_username: {get_param: RabbitUserName}
rabbit_password: {get_param: RabbitPassword}
@@ -803,7 +841,9 @@ resources:
bootstack_nodeid: {get_input: bootstack_nodeid}
# Pacemaker
+ enable_fencing: {get_input: enable_fencing}
hacluster_pwd: {get_input: pcsd_password}
+ tripleo::fencing::config: {get_input: fencing_config}
# Swift
swift::proxy::proxy_local_net_ip: {get_input: swift_proxy_network}