class Bosh::Director::DeploymentPlan::PlacementPlanner::BruteForceIpAllocation::PreviousAssignment

Public Class Methods

new(network_to_static_ips) click to toggle source
# File lib/bosh/director/deployment_plan/placement_planner/bruteforce_ip_allocation.rb, line 101
def initialize(network_to_static_ips)
  @previous_assignment = Hash.new {|h,k| h[k] = 0 }
  network_to_static_ips.each do |previous_assignment_ip|
    @previous_assignment[previous_assignment_ip.az_names.first] += 1
  end
end

Public Instance Methods

has_same_distribution?(static_ips_to_azs) click to toggle source
# File lib/bosh/director/deployment_plan/placement_planner/bruteforce_ip_allocation.rb, line 108
def has_same_distribution?(static_ips_to_azs)
  @previous_assignment.each do |az_name, required_number_of_ips_in_az|
    ips_in_az = static_ips_to_azs.select { |static_ip_to_azs| static_ip_to_azs.az_names.include?(az_name) }
    if ips_in_az.size < required_number_of_ips_in_az
      return false
    end
  end

  return true
end