Default IP agent will lookup addresses from XML files stored in config directory. You can overide default directory using { :file => 'path' }
# File lib/deltacloud/drivers/condor/ip_agents/default.rb, line 80 def addresses (@mappings/'/addresses/address').collect { |a| CondorAddress.new(:ip => a.text.strip, :mac => a[:mac]) } end
# File lib/deltacloud/drivers/condor/ip_agents/default.rb, line 47 def find_free_mac addr_hash = {} DefaultExecutor::new do |executor| addresses = (@mappings/'/addresses/address').collect { |a| CondorAddress.new(:ip => a.text.strip, :mac => a[:mac]) } # Make an address hash to speed up the inner loop. addresses.each do |address| addr_hash[address.mac] = address.ip end executor.instances.each do |instance| instance.public_addresses.each do |public_address| if addr_hash.key?(public_address.mac) addr_hash.delete(public_address.mac) end end end end raise "No available MACs to assign to instance." if addr_hash.empty? return addr_hash.keys.first end
Generated with the Darkfish Rdoc Generator 2.