summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorVishvananda Ishaya <vishvananda@gmail.com>2012-10-31 19:41:04 -0700
committerVishvananda Ishaya <vishvananda@gmail.com>2012-11-01 20:05:35 +0000
commit94560ab57d9fc23673f42017e6f2a78cb2b66b7a (patch)
tree40bac6b2f163893933a8f848107411aa9eeb6d36 /nova/tests
parent3ae5c861dc9e8c2fb2d46f83bfc475817626bf9c (diff)
Eliminates simultaneous schedule race.
Keeps host state in memory so multiple schedule attempts use the up-to-date values that may have been modified by another greenthread. Fixes bug 1073956 Change-Id: I69fdd9b46bde6b7408c501c42a6ef3b6dd92bbc2
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/scheduler/fakes.py8
-rw-r--r--nova/tests/scheduler/test_filter_scheduler.py2
-rw-r--r--nova/tests/scheduler/test_host_manager.py3
3 files changed, 7 insertions, 6 deletions
diff --git a/nova/tests/scheduler/fakes.py b/nova/tests/scheduler/fakes.py
index 29466fbe1..ba255c32c 100644
--- a/nova/tests/scheduler/fakes.py
+++ b/nova/tests/scheduler/fakes.py
@@ -28,19 +28,19 @@ from nova.scheduler import host_manager
COMPUTE_NODES = [
dict(id=1, local_gb=1024, memory_mb=1024, vcpus=1,
disk_available_least=512, free_ram_mb=512, vcpus_used=1,
- free_disk_mb=512, local_gb_used=0,
+ free_disk_mb=512, local_gb_used=0, updated_at=None,
service=dict(host='host1', disabled=False)),
dict(id=2, local_gb=2048, memory_mb=2048, vcpus=2,
disk_available_least=1024, free_ram_mb=1024, vcpus_used=2,
- free_disk_mb=1024, local_gb_used=0,
+ free_disk_mb=1024, local_gb_used=0, updated_at=None,
service=dict(host='host2', disabled=True)),
dict(id=3, local_gb=4096, memory_mb=4096, vcpus=4,
disk_available_least=3072, free_ram_mb=3072, vcpus_used=1,
- free_disk_mb=3072, local_gb_used=0,
+ free_disk_mb=3072, local_gb_used=0, updated_at=None,
service=dict(host='host3', disabled=False)),
dict(id=4, local_gb=8192, memory_mb=8192, vcpus=8,
disk_available_least=8192, free_ram_mb=8192, vcpus_used=0,
- free_disk_mb=8192, local_gb_used=0,
+ free_disk_mb=8192, local_gb_used=0, updated_at=None,
service=dict(host='host4', disabled=False)),
# Broken entry
dict(id=5, local_gb=1024, memory_mb=1024, vcpus=1, service=None),
diff --git a/nova/tests/scheduler/test_filter_scheduler.py b/nova/tests/scheduler/test_filter_scheduler.py
index 394b9b67f..f3b51b901 100644
--- a/nova/tests/scheduler/test_filter_scheduler.py
+++ b/nova/tests/scheduler/test_filter_scheduler.py
@@ -223,7 +223,7 @@ class FilterSchedulerTestCase(test_scheduler.SchedulerTestCase):
hostinfo.update_from_compute_node(dict(memory_mb=1000,
local_gb=0, vcpus=1, disk_available_least=1000,
free_disk_mb=1000, free_ram_mb=872, vcpus_used=0,
- local_gb_used=0))
+ local_gb_used=0, updated_at=None))
self.assertEquals(872, fn(hostinfo, {}))
def test_max_attempts(self):
diff --git a/nova/tests/scheduler/test_host_manager.py b/nova/tests/scheduler/test_host_manager.py
index 5074d188a..74c24d56b 100644
--- a/nova/tests/scheduler/test_host_manager.py
+++ b/nova/tests/scheduler/test_host_manager.py
@@ -264,7 +264,8 @@ class HostStateTestCase(test.TestCase):
dict(key='io_workload', value='42'),
]
compute = dict(stats=stats, memory_mb=0, free_disk_gb=0, local_gb=0,
- local_gb_used=0, free_ram_mb=0, vcpus=0, vcpus_used=0)
+ local_gb_used=0, free_ram_mb=0, vcpus=0, vcpus_used=0,
+ updated_at=None)
host = host_manager.HostState("fakehost", "faketopic")
host.update_from_compute_node(compute)