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=f6bff1a5b5023a2c1fca0bc8ecd153f7b441c87b;hpb=02057a301766a68fc83e6753a99fa48a4d046062;p=mirror%2Fdsa-puppet.git diff --git a/modules/debian-org/lib/facter/cluster.rb b/modules/debian-org/lib/facter/cluster.rb index f6bff1a5b..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' - json = JSON.parse(File.read('/var/lib/ganeti/config.data')) - Facter.add('cluster') do - setcode do - json['cluster']['cluster_name'] - end - end - Facter.add('cluster_nodes') do - setcode do - json['nodes'].keys.join(' ') - 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