def test_nothing_is_filtered_if_skip_down_hosts_option_not_set(self): cfglib.init_config() cfglib.CONF.migrate.skip_down_hosts = False self.fake_instance_0.host = 'host1' self.fake_instance_1.host = 'host2' hosts_down = ['host1', 'host2', 'host3'] instances = [self.fake_instance_0, self.fake_instance_1] filtered = nova_compute.filter_down_hosts(hosts_down, instances) self.assertEqual(filtered, instances)
def test_down_hosts_are_filtered_if_config_option_is_set(self): def instance(hostname): inst = mock.Mock() setattr(inst, nova_compute.INSTANCE_HOST_ATTRIBUTE, hostname) return inst num_instances_up = 5 num_hosts_down = 10 hosts_down = ['downhost%d' % i for i in xrange(num_hosts_down)] instances = [instance('host%d' % i) for i in xrange(num_instances_up)] instances.extend([instance(host_down) for host_down in hosts_down]) cfglib.init_config() cfglib.CONF.migrate.skip_down_hosts = True filtered = nova_compute.filter_down_hosts( hosts_down=hosts_down, elements=instances, hostname_attribute=nova_compute.INSTANCE_HOST_ATTRIBUTE) self.assertEqual(len(filtered), num_instances_up)