Moved vmstat exec to Facter::Memory::Util so it can used to retrieve free memory in the same way on Solaris.
Signed-off-by: Dominic Cleal <dcl...@redhat.com> --- Local-branch: tickets/master/1423 lib/facter/memory.rb | 8 +------- lib/facter/util/memory.rb | 10 ++++++++++ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/lib/facter/memory.rb b/lib/facter/memory.rb index 06640e6..8eab377 100644 --- a/lib/facter/memory.rb +++ b/lib/facter/memory.rb @@ -69,13 +69,7 @@ if Facter.value(:kernel) == "OpenBSD" end end - Facter.add("MemoryFree") do - confine :kernel => :openbsd - memfree = Facter::Util::Resolution.exec("vmstat | tail -n 1 | awk '{ print $5 }'") - setcode do - Facter::Memory.scale_number(memfree.to_f,"kB") - end - end + Facter::Memory.vmstat_find_free_memory() Facter.add("MemoryTotal") do confine :kernel => :openbsd diff --git a/lib/facter/util/memory.rb b/lib/facter/util/memory.rb index 2004491..5687ff2 100644 --- a/lib/facter/util/memory.rb +++ b/lib/facter/util/memory.rb @@ -50,5 +50,15 @@ module Facter::Memory return "%.2f %s" % [size, s] end + + def self.vmstat_find_free_memory() + row = Facter::Util::Resolution.exec("vmstat").split("\n")[-1] + Facter.add("MemoryFree") do + memfree = row.split[4] + setcode do + Facter::Memory.scale_number(memfree.to_f, "kB") + end + end + end end -- 1.7.3.2 -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to puppet-...@googlegroups.com. To unsubscribe from this group, send email to puppet-dev+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en.