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=c6b00f6b1f3c1ba146ebe78705139a4deaba43d8;hpb=a2fbbfd82aa339ef029a12e273009e9ac7690c81;p=mirror%2Fdsa-puppet.git diff --git a/modules/debian-org/lib/facter/cluster.rb b/modules/debian-org/lib/facter/cluster.rb index c6b00f6b1..543eeba7b 100644 --- a/modules/debian-org/lib/facter/cluster.rb +++ b/modules/debian-org/lib/facter/cluster.rb @@ -1,16 +1,24 @@ -if FileTest.exist?('/usr/sbin/gnt-cluster') - if system('/usr/sbin/gnt-cluster getmaster >/dev/null') - require 'json' - config = '/var/lib/ganeti/config.data' - Facter.add('cluster') do - setcode do - JSON.parse(File.read(config))['cluster']['cluster_name'] - end - end - Facter.add('cluster_nodes') do - setcode do - JSON.parse(File.read(config))['nodes'].keys - 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