diff options
| author | Jenkins <jenkins@review.openstack.org> | 2012-08-30 16:47:40 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-08-30 16:47:40 +0000 |
| commit | b6f5d60f52eb0045ca074826971d9e4529e1eb3c (patch) | |
| tree | c7cd70755d6bedc987bad7e61cd4980f8f9491b4 | |
| parent | 4adbb96b5530184e3f42047a7416d6f315a14150 (diff) | |
| parent | b4ac6c0958d12184e1355e47d4af5b80fdc2e5a9 (diff) | |
Merge "Assume virt disk size is consumed by instances."
| -rw-r--r-- | nova/scheduler/host_manager.py | 5 | ||||
| -rw-r--r-- | nova/tests/scheduler/fakes.py | 16 | ||||
| -rw-r--r-- | nova/tests/scheduler/test_filter_scheduler.py | 4 |
3 files changed, 14 insertions, 11 deletions
diff --git a/nova/scheduler/host_manager.py b/nova/scheduler/host_manager.py index 33ba2c160..695189881 100644 --- a/nova/scheduler/host_manager.py +++ b/nova/scheduler/host_manager.py @@ -122,7 +122,10 @@ class HostState(object): all_disk_mb = compute['local_gb'] * 1024 all_ram_mb = compute['memory_mb'] - free_disk_mb = compute['free_disk_gb'] * 1024 + # Assume virtual size is all consumed by instances if use qcow2 disk. + least = compute.get('disk_available_least') + free_disk_mb = least if least is not None else compute['free_disk_gb'] + free_disk_mb *= 1024 free_ram_mb = compute['free_ram_mb'] if FLAGS.reserved_host_disk_mb > 0: diff --git a/nova/tests/scheduler/fakes.py b/nova/tests/scheduler/fakes.py index e48e987a4..27341a62c 100644 --- a/nova/tests/scheduler/fakes.py +++ b/nova/tests/scheduler/fakes.py @@ -27,17 +27,17 @@ from nova.scheduler import host_manager COMPUTE_NODES = [ dict(id=1, local_gb=1024, memory_mb=1024, vcpus=1, - free_disk_gb=512, free_ram_mb=512, vcpus_used=1, - service=dict(host='host1', disabled=False)), + disk_available_least=512, free_ram_mb=512, vcpus_used=1, + free_disk_mb=512, service=dict(host='host1', disabled=False)), dict(id=2, local_gb=2048, memory_mb=2048, vcpus=2, - free_disk_gb=1024, free_ram_mb=1024, vcpus_used=2, - service=dict(host='host2', disabled=True)), + disk_available_least=1024, free_ram_mb=1024, vcpus_used=2, + free_disk_mb=1024, service=dict(host='host2', disabled=True)), dict(id=3, local_gb=4096, memory_mb=4096, vcpus=4, - free_disk_gb=3072, free_ram_mb=3072, vcpus_used=1, - service=dict(host='host3', disabled=False)), + disk_available_least=3072, free_ram_mb=3072, vcpus_used=1, + free_disk_mb=3072, service=dict(host='host3', disabled=False)), dict(id=4, local_gb=8192, memory_mb=8192, vcpus=8, - free_disk_gb=8192, free_ram_mb=8192, vcpus_used=0, - service=dict(host='host4', disabled=False)), + disk_available_least=8192, free_ram_mb=8192, vcpus_used=0, + free_disk_mb=8192, 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 1cab6ebbf..a18c0e678 100644 --- a/nova/tests/scheduler/test_filter_scheduler.py +++ b/nova/tests/scheduler/test_filter_scheduler.py @@ -203,8 +203,8 @@ class FilterSchedulerTestCase(test_scheduler.SchedulerTestCase): self.assertEquals(weight, -1.0) hostinfo = host_manager.HostState('host', 'compute') hostinfo.update_from_compute_node(dict(memory_mb=1000, - local_gb=0, vcpus=1, free_disk_gb=1000, free_ram_mb=1000, - vcpus_used=0)) + local_gb=0, vcpus=1, disk_available_least=1000, + free_disk_mb=1000, free_ram_mb=1000, vcpus_used=0)) self.assertEquals(1000 - 128, fn(hostinfo, {})) def test_max_attempts(self): |
