# File lib/cloudmasterd/syncer.rb, line 70
  def sync_memory
    current_state = {}
    Open3.popen3("func '*' call virt freemem") do |stdin, stdout, stderr|
      YAML.load(stdout.read).each do |host, value|
        # HACK: This handles the cases where the virt host is unnreachable
        next if value.class == Array
        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|
        # HACK: This handles the cases where the virt host is unnreachable
        next if type.class == Array 
        current_state[host][:virttype] = type
      end
    end

    Cloud.transaction do
      # Sync up the DB state - delete everything first
      Cloud.delete_all

      # Create the current entries
      current_state.each do |host, attrs|
        Cloud.create :name => host, :memory => attrs[:memory], :virttype => attrs[:virttype], :added_date => DateTime.now()
      end
    end
  end