Get instance_properties from request_spec

In NUMATopologyFilter instance_properties should
be retrived from request_spec which is embedded in
filter_properties and not from filter_properties
directly

Closes-bug: #1370068

Change-Id: If8f9464c6eb5451d0e21ddd14b072be3d2946c50
This commit is contained in:
Przemyslaw Czesnowicz 2014-09-16 15:53:38 +01:00
parent 903ebc2b71
commit e517c884ef
2 changed files with 23 additions and 15 deletions

View File

@ -26,7 +26,8 @@ class NUMATopologyFilter(filters.BaseHostFilter):
def host_passes(self, host_state, filter_properties):
ram_ratio = CONF.ram_allocation_ratio
cpu_ratio = CONF.cpu_allocation_ratio
instance = filter_properties.get('instance_properties', {})
request_spec = filter_properties.get('request_spec', {})
instance = request_spec.get('instance_properties', {})
instance_topology = hardware.instance_topology_from_instance(instance)
host_topology, _fmt = hardware.host_topology_and_format_from_host(
host_state)

View File

@ -2053,8 +2053,9 @@ class HostFiltersTestCase(test.NoDBTestCase):
objects.InstanceNUMATopology.obj_from_topology(
instance_topology))
filter_properties = {
'instance_properties': jsonutils.to_primitive(
obj_base.obj_to_primitive(instance))}
'request_spec': {
'instance_properties': jsonutils.to_primitive(
obj_base.obj_to_primitive(instance))}}
host = fakes.FakeHostState('host1', 'node1',
{'numa_topology': fakes.NUMA_TOPOLOGY})
filt_cls = self.class_map['NUMATopologyFilter']()
@ -2070,8 +2071,9 @@ class HostFiltersTestCase(test.NoDBTestCase):
instance_topology))
filter_properties = {
'instance_properties': jsonutils.to_primitive(
obj_base.obj_to_primitive(instance))}
'request_spec': {
'instance_properties': jsonutils.to_primitive(
obj_base.obj_to_primitive(instance))}}
host = fakes.FakeHostState('host1', 'node1', {})
filt_cls = self.class_map['NUMATopologyFilter']()
self.assertFalse(filt_cls.host_passes(host, filter_properties))
@ -2080,8 +2082,9 @@ class HostFiltersTestCase(test.NoDBTestCase):
instance = fake_instance.fake_instance_obj(self.context)
instance.numa_topology = None
filter_properties = {
'instance_properties': jsonutils.to_primitive(
obj_base.obj_to_primitive(instance))}
'request_spec': {
'instance_properties': jsonutils.to_primitive(
obj_base.obj_to_primitive(instance))}}
host = fakes.FakeHostState('host1', 'node1',
{'numa_topology': fakes.NUMA_TOPOLOGY})
filt_cls = self.class_map['NUMATopologyFilter']()
@ -2097,8 +2100,9 @@ class HostFiltersTestCase(test.NoDBTestCase):
objects.InstanceNUMATopology.obj_from_topology(
instance_topology))
filter_properties = {
'instance_properties': jsonutils.to_primitive(
obj_base.obj_to_primitive(instance))}
'request_spec': {
'instance_properties': jsonutils.to_primitive(
obj_base.obj_to_primitive(instance))}}
host = fakes.FakeHostState('host1', 'node1',
{'numa_topology': fakes.NUMA_TOPOLOGY})
filt_cls = self.class_map['NUMATopologyFilter']()
@ -2115,8 +2119,9 @@ class HostFiltersTestCase(test.NoDBTestCase):
objects.InstanceNUMATopology.obj_from_topology(
instance_topology))
filter_properties = {
'instance_properties': jsonutils.to_primitive(
obj_base.obj_to_primitive(instance))}
'request_spec': {
'instance_properties': jsonutils.to_primitive(
obj_base.obj_to_primitive(instance))}}
host = fakes.FakeHostState('host1', 'node1',
{'numa_topology': fakes.NUMA_TOPOLOGY})
filt_cls = self.class_map['NUMATopologyFilter']()
@ -2133,8 +2138,9 @@ class HostFiltersTestCase(test.NoDBTestCase):
objects.InstanceNUMATopology.obj_from_topology(
instance_topology))
filter_properties = {
'instance_properties': jsonutils.to_primitive(
obj_base.obj_to_primitive(instance))}
'request_spec': {
'instance_properties': jsonutils.to_primitive(
obj_base.obj_to_primitive(instance))}}
host = fakes.FakeHostState('host1', 'node1',
{'numa_topology': fakes.NUMA_TOPOLOGY})
filt_cls = self.class_map['NUMATopologyFilter']()
@ -2152,8 +2158,9 @@ class HostFiltersTestCase(test.NoDBTestCase):
objects.InstanceNUMATopology.obj_from_topology(
instance_topology))
filter_properties = {
'instance_properties': jsonutils.to_primitive(
obj_base.obj_to_primitive(instance))}
'request_spec': {
'instance_properties': jsonutils.to_primitive(
obj_base.obj_to_primitive(instance))}}
host = fakes.FakeHostState('host1', 'node1',
{'numa_topology': fakes.NUMA_TOPOLOGY})
filt_cls = self.class_map['NUMATopologyFilter']()