X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fdebian-org%2Flib%2Ffacter%2Fcluster.rb;h=fea14355f152900c1a1b3dcda28424fa1f5de912;hb=a77fce81db66ea12cdb3cb4a33325f7d57ef63f3;hp=3588868c98a6e856cef7e77f9bb4cb421b2c7440;hpb=e6a9e094a8b2df1271c39f08472b788fe3e3d0c8;p=mirror%2Fdsa-puppet.git diff --git a/modules/debian-org/lib/facter/cluster.rb b/modules/debian-org/lib/facter/cluster.rb index 3588868c9..fea14355f 100644 --- a/modules/debian-org/lib/facter/cluster.rb +++ b/modules/debian-org/lib/facter/cluster.rb @@ -1,13 +1,19 @@ -Facter.add('cluster') do - setcode do - if system('/usr/sbin/gnt-cluster getmaster >/dev/null') - require 'json' - config = '/var/lib/ganeti/config.data' - if FileTest.exist?(config) - JSON.parse(File.read(config))['cluster']['cluster_name'] - else - '' - end - 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