]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/debian-org/lib/facter/cluster.rb
Try new factor that also works on non-master-candiate nodes
[dsa-puppet.git] / modules / debian-org / lib / facter / cluster.rb
index fda38f98b541d274aec67a02033ca1e466e549eb..c9b22ac639bcac043b3bbd5d0bcd6015b988863c 100644 (file)
@@ -1,11 +1,17 @@
-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
-  end
+if FileTest.exist?('/usr/sbin/gnt-cluster') and FileTest.exist?('/var/lib/ganeti/ssconf_cluster_name')
+       begin
+               if system('/usr/sbin/gnt-cluster getmaster >/dev/null')
+                       Facter.add('cluster') do
+                               setcode do
+                                       open('/var/lib/ganeti/ssconf_cluster_name').read().chomp()
+                               end
+                       end
+                       Facter.add('cluster_nodes') do
+                               setcode do
+                                       open('/var/lib/ganeti/ssconf_node_list').read().split()
+                               end
+                       end
+               end
+       rescue Exception => e
+       end
 end