]> 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 3588868c98a6e856cef7e77f9bb4cb421b2c7440..f6bff1a5b5023a2c1fca0bc8ecd153f7b441c87b 100644 (file)
@@ -1,12 +1,15 @@
-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
-        ''
+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