예제 #1
0
파일: test_utils.py 프로젝트: stgleb/nova
 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"]))
예제 #2
0
 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']))
예제 #3
0
 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
예제 #6
0
    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
예제 #7
0
    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
예제 #10
0
 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