# profiles::proxmox::clusterinit class profiles::proxmox::clusterinit { # include params class include profiles::proxmox::params # localise some vars $clusterinit_master = $profiles::proxmox::params::pve_clusterinit_master $clustername = $profiles::proxmox::params::pve_cluster $membersrole = $profiles::proxmox::params::pve_members_role # if this is the cluster master if $clusterinit_master { # and its not a member of a cluster yet if ! $facts['pve_cluster_member'] { # initialise a cluster exec {'pve_init_cluster': command => "/usr/bin/pvecm create ${clustername}", unless => 'pvecm status', timeout => 60, } } } $servers_array = sort(puppetdb_query( "nodes[certname] { facts.enc_role = '${membersrole}' and facts.country = '${facts['country']}' and facts.region = '${facts['region']}' }" ).map |$node| { $node['certname'] }) if ! $profiles::proxmox::params::pve_clusterinit_master { if !empty($servers_array) { notify { "Cluster ${profiles::proxmox::params::pve_cluster} detected, proceeding to join...": } } else { notify { "No cluster flag found for ${profiles::proxmox::params::pve_cluster}, not attempting to join": } } } }