def sync_memory
current_state = {}
Open3.popen3("func '*' call virt freemem") do |stdin, stdout, stderr|
YAML.load(stdout.read).each do |host, value|
current_state[host] = { :memory => value }
end
end
Open3.popen3("func '*' call virt virttype") do |stdin, stdout, stderr|
YAML.load(stdout.read).each do |host, type|
current_state[host][:virttype] = type
end
end
Cloud.transaction do
Cloud.delete_all
current_state.each do |host, attrs|
Cloud.create :name => host, :memory => attrs[:memory], :virttype => attrs[:virttype], :added_date => DateTime.now()
end
end
end