Fix parseyaml and nodes hash lookup

Parseyaml now returns undef instead of false if it cannot parse
any values. Now it also accepts a default value, which has been
set to {}.

Nodes hash is now located inside network_metadata.

Change-Id: Iebfa75777bd4a8fb6b74a3995eca5bec43a90e84
Partial-Bug: #1582228
Partial-Bug: #1582230
This commit is contained in:
Matthew Mosesohn 2016-05-16 17:27:31 +03:00
parent d11b825b91
commit 16a7431e25
1 changed files with 3 additions and 10 deletions

View File

@ -11,18 +11,11 @@ if $detach_database_plugin {
fail('Database VIP is not defined')
}
$yaml_additional_config = pick($detach_database_plugin['yaml_additional_config'], {})
#TODO (holser): Redesign parseyaml and is_bool once [MODULES-2462] applied
$settings_hash = parseyaml($detach_database_plugin['yaml_additional_config'])
$settings_hash = parseyaml($detach_database_plugin['yaml_additional_config'], {})
if is_bool($settings_hash) {
$settings_hash_real = {}
} else {
$settings_hash_real = $settings_hash
}
$nodes_hash = hiera('nodes')
$nodes_hash = $network_metadata['nodes']
$management_vip = hiera('management_vip')
$database_vip = pick($settings_hash_real['remote_database'],$network_metadata['vips']['database']['ipaddr'])
$database_vip = pick($settings_hash['remote_database'],$network_metadata['vips']['database']['ipaddr'])
#Set database_nodes values
$database_roles = [ 'primary-standalone-database', 'standalone-database' ]