diff options
| author | Vishvananda Ishaya <vishvananda@gmail.com> | 2012-10-31 19:41:04 -0700 |
|---|---|---|
| committer | Vishvananda Ishaya <vishvananda@gmail.com> | 2012-11-01 20:05:35 +0000 |
| commit | 94560ab57d9fc23673f42017e6f2a78cb2b66b7a (patch) | |
| tree | 40bac6b2f163893933a8f848107411aa9eeb6d36 /nova/tests | |
| parent | 3ae5c861dc9e8c2fb2d46f83bfc475817626bf9c (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.py | 8 | ||||
| -rw-r--r-- | nova/tests/scheduler/test_filter_scheduler.py | 2 | ||||
| -rw-r--r-- | nova/tests/scheduler/test_host_manager.py | 3 |
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) |
