X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fdebian-org%2Flib%2Ffacter%2Fcluster.rb;h=fea14355f152900c1a1b3dcda28424fa1f5de912;hb=607a96558892b2c1c8406f1b095908327d63ce33;hp=6dee99f87dbecd762a462e3e1a55a01595d21a8a;hpb=5f7c97946997b63e32b009b11578159e826229ad;p=mirror%2Fdsa-puppet.git diff --git a/modules/debian-org/lib/facter/cluster.rb b/modules/debian-org/lib/facter/cluster.rb index 6dee99f87..fea14355f 100644 --- a/modules/debian-org/lib/facter/cluster.rb +++ b/modules/debian-org/lib/facter/cluster.rb @@ -1,12 +1,19 @@ -Facter.add('cluster') do - setcode do - if system('/usr/sbin/gnt-cluster getmaster') - require 'json' - config = '/var/lib/ganeti/config.data' - if FileTest.exist?(config) - JSON.parse(File.read(config))['cluster']['cluster_name'] - else - '' - end - end +if FileTest.exist?('/usr/sbin/gnt-cluster') and FileTest.exist?('/var/lib/ganeti/config.data') + begin + if system('/usr/sbin/gnt-cluster getmaster >/dev/null') + require 'yaml' + yaml = YAML.load_file('/var/lib/ganeti/config.data') + Facter.add('cluster') do + setcode do + yaml['cluster']['cluster_name'] + end + end + Facter.add('cluster_nodes') do + setcode do + yaml['nodes'].keys.join(' ') + end + end + end + rescue Exception => e + end end