def test_instance_uuids_overlap(self): inst1 = objects.Instance(uuid=uuids.instance_1) inst2 = objects.Instance(uuid=uuids.instance_2) instances = [inst1, inst2] host_state = fakes.FakeHostState("host1", "node1", {}) host_state.instances = {instance.uuid: instance for instance in instances} self.assertTrue(utils.instance_uuids_overlap(host_state, [uuids.instance_1])) self.assertFalse(utils.instance_uuids_overlap(host_state, ["zz"]))
def test_instance_uuids_overlap(self): inst1 = objects.Instance(uuid='aa') inst2 = objects.Instance(uuid='bb') instances = [inst1, inst2] host_state = fakes.FakeHostState('host1', 'node1', {}) host_state.instances = {instance.uuid: instance for instance in instances} self.assertTrue(utils.instance_uuids_overlap(host_state, ['aa'])) self.assertFalse(utils.instance_uuids_overlap(host_state, ['zz']))
def host_passes(self, host_state, spec_obj): affinity_uuids = spec_obj.get_scheduler_hint('same_host') if affinity_uuids: overlap = utils.instance_uuids_overlap(host_state, affinity_uuids) return overlap # With no same_host key return True
def host_passes(self, host_state, spec_obj): affinity_uuids = spec_obj.get_scheduler_hint('same_host') if affinity_uuids and host_state.instances: overlap = utils.instance_uuids_overlap(host_state, affinity_uuids) return overlap # With no same_host key or no instances return True
def host_passes(self, host_state, spec_obj): affinity_uuids = spec_obj.get_scheduler_hint('different_host') if affinity_uuids: overlap = utils.instance_uuids_overlap(host_state, affinity_uuids) return not overlap # With no different_host key return True
def host_passes(self, host_state, filter_properties): scheduler_hints = filter_properties.get('scheduler_hints') or {} affinity_uuids = scheduler_hints.get('same_host', []) if affinity_uuids and host_state.instances: overlap = utils.instance_uuids_overlap(host_state, affinity_uuids) return overlap # With no same_host key or no instances return True
def host_passes(self, host_state, filter_properties): scheduler_hints = filter_properties.get('scheduler_hints') or {} affinity_uuids = scheduler_hints.get('different_host', []) if affinity_uuids: overlap = utils.instance_uuids_overlap(host_state, affinity_uuids) return not overlap # With no different_host key return True
def host_passes(self, host_state, filter_properties, filter_errors={}): scheduler_hints = filter_properties.get('scheduler_hints') or {} affinity_uuids = scheduler_hints.get('same_host', []) if affinity_uuids and host_state.instances: overlap = utils.instance_uuids_overlap(host_state, affinity_uuids) return overlap # With no same_host key or no instances return True
def host_passes(self, host_state, filter_properties, filter_errors={}): scheduler_hints = filter_properties.get('scheduler_hints') or {} affinity_uuids = scheduler_hints.get('different_host', []) if affinity_uuids: overlap = utils.instance_uuids_overlap(host_state, affinity_uuids) return not overlap # With no different_host key return True
def host_passes(self, host_state, spec_obj): affinity_uuids = spec_obj.get_scheduler_hint('same_host') if affinity_uuids: overlap = utils.instance_uuids_overlap(host_state, affinity_uuids) if not overlap: msg = ('not found in hosts: %(uuids)s' % { 'uuids': ','.join(map(str, affinity_uuids)) }) self.filter_reject(host_state, spec_obj, msg) return overlap # With no same_host key return True