]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/debian-org/lib/facter/cluster.rb
refactor fact
[dsa-puppet.git] / modules / debian-org / lib / facter / cluster.rb
index 84066de809f7391869253e3cb366171e169d6b28..f6bff1a5b5023a2c1fca0bc8ecd153f7b441c87b 100644 (file)
@@ -1,17 +1,16 @@
-Facter.add('cluster') do
-  setcode do
-    if FileTest.exist?('/usr/sbin/gnt-cluster')
-      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
+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
-    else
-      ''
     end
   end
 end