Puppet Class: scaleio::mdm::cluster_setup
- Defined in:
- manifests/mdm/cluster_setup.pp
Overview
setup a MDM cluster
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'manifests/mdm/cluster_setup.pp', line 2
class scaleio::mdm::cluster_setup {
$primary_mdm_ips = join(any2array($::scaleio::mdms[$::scaleio::bootstrap_mdm_name]['ips']), ',')
$primary_mdm_mgmt_ips = join(any2array($::scaleio::mdms[$::scaleio::bootstrap_mdm_name]['mgmt_ips']), ',')
exec{ 'scaleio::mdm::cluster_setup::create_cluster':
command => "scli --create_mdm_cluster --master_mdm_ip ${primary_mdm_ips} --master_mdm_name ${::scaleio::bootstrap_mdm_name} --use_nonsecure_communication --accept_license; sleep 5",
onlyif => 'scli --query_cluster --approve_certificate 2>&1 |grep -qE "Error: MDM failed command. Status: The MDM cluster state is incorrect"',
require => Exec['scaleio::mdm::installation::restart_mdm'],
}->
exec{ 'scaleio::mdm::cluster_setup::login_default':
command => "scli --login --username admin --password ${::scaleio::old_password}",
unless => "scli --login --username admin --password ${::scaleio::password} && scli --logout",
} ~>
exec{ 'scaleio::mdm::cluster_setup::primary_change_pwd':
command => "scli --set_password --old_password ${::scaleio::old_password} --new_password ${scaleio::password}",
refreshonly => true,
}
# wait until the MDM/TBs have been setup
if $scaleio::use_consul{
$mdm_tb_consul_keys = prefix(concat(
scaleio_get_first_mdm_ips($::scaleio::mdms, 'ips'),
scaleio_get_first_mdm_ips($::scaleio::tiebreakers, 'ips')
),
"scaleio/${scaleio::system_name}/cluster_setup/")
consul_kv_blocker{ $mdm_tb_consul_keys:
tries => 120,
try_sleep => 30,
require => Consul_kv["scaleio/${::scaleio::system_name}/cluster_setup/${::scaleio::current_mdm_ip}"],
} -> Scaleio_mdm<| |>
}
# create the MDMs as standby MDMs
create_resources('scaleio_mdm', $scaleio::mdms, {
ensure => present,
is_tiebreaker => false,
require => Exec['scaleio::mdm::cluster_setup::primary_change_pwd']
})
create_resources('scaleio_mdm', $scaleio::tiebreakers, {
ensure => present,
is_tiebreaker => true,
require => Exec['scaleio::mdm::cluster_setup::primary_change_pwd']
})
Scaleio_mdm<||> -> Scaleio_mdm_cluster<||>
scaleio_mdm_cluster{ 'mdm_cluster':
mdm_names => keys($::scaleio::mdms),
tb_names => keys($::scaleio::tiebreakers),
}
}
|