def next_pool_range
      # Fetch the list of pools under management. Return nil if no pools exist.
      pools = @pool_storage.fetch('pools', nil)

      if pools.empty?
        # If no pools have been created, use the default range.
        AutoNetwork.default_pool
      else
        # Look up the highest "XX.XX.YY.XX/24" range in use.
        last_pool_range = IPAddr.new(pools.values.map{|v| v.network_range}.sort.last)
        # Increment "YY" by one to generate a new "/24" range.
        ((last_pool_range >> 8).succ << 8).to_s + '/24'
      end
    end
def next_pool_range
      # Fetch the list of pools under management. Return nil if no pools exist.
      pools = @pool_storage.fetch('pools', nil)

      if pools.empty?
        # If no pools have been created, use the default range.
        AutoNetwork.default_pool
      else
        # Look up the highest "XX.XX.YY.XX/24" range in use.
        last_pool_range = IPAddr.new(pools.values.map{|v| v.network_range}.sort.last)
        # Increment "YY" by one to generate a new "/24" range.
        ((last_pool_range >> 8).succ << 8).to_s + '/24'
      end
    end
Scan the list of allocated pools and determine the next usable address
 range. Assumes all Pools use a "/24" address range and share the same
 "/16" range.

 @note This must be executed within a transaction.
 @api private

 @return [String] an IP range ending in "/24".