# 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( "facts[certname] { name = 'enc_role' and value = '${membersrole}' and certname in facts[certname] { name = 'country' and value = '${facts['country']}' } and certname in facts[certname] { name = 'region' and value = '${facts['region']}' } }" ).map |$fact| { $fact['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": } } } }