Class: Bosh::Director::ArpFlusher

Inherits:
Object
  • Object
show all
Defined in:
lib/bosh/director/arp_flusher.rb

Instance Method Summary collapse

Instance Method Details

#delete_arp_entries(vm_cid_to_exclude, ip_addresses) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
# File 'lib/bosh/director/arp_flusher.rb', line 3

def delete_arp_entries(vm_cid_to_exclude, ip_addresses)
  filtered_instances = filter_instances(vm_cid_to_exclude)

  ThreadPool.new(:max_threads => Config.max_threads).wrap do |pool|
    filtered_instances.each do |instance|
      pool.process do
        agent = AgentClient.with_vm_credentials_and_agent_id(instance.credentials, instance.agent_id)
        agent.delete_arp_entries(ips: ip_addresses)
      end
    end
  end
end

#filter_instances(vm_cid_to_exclude) ⇒ Object



16
17
18
19
20
21
# File 'lib/bosh/director/arp_flusher.rb', line 16

def filter_instances(vm_cid_to_exclude)
  Models::Instance
    .exclude(vm_cid: nil)
    .exclude(vm_cid: vm_cid_to_exclude)
    .exclude(compilation: true).all
end