X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fdebian-org%2Flib%2Ffacter%2Fcluster.rb;h=543eeba7b76f7cfe2b83b4e99559cb13250888c2;hb=6326fbc9ca5caff07ba662c331922205b3a77716;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..543eeba7b 100644 --- a/modules/debian-org/lib/facter/cluster.rb +++ b/modules/debian-org/lib/facter/cluster.rb @@ -1,13 +1,24 @@ -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 + Facter.add('cluster_nodes') do + nodename = [] + yaml["nodes"].each do |uuid,value| + nodename << value["name"] + end + ret = nodename.join(" ") + setcode do + ret + end + end + end + end + rescue Exception => e + end end