summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorint32bit <krystism@gmail.com>2018-01-22 20:15:21 +0800
committerZhang Hua <joshua.zhang@canonical.com>2019-01-25 11:22:56 +0800
commit0b0030ea2273840bd428070b2f23e755a30d2a35 (patch)
treee4c0aef450934a7d889109d35879ea3f7e5612fc
parente2d2c3e8b14a5461c95014be3accb1e40f3d1a0b (diff)
downloadnova-0b0030ea2273840bd428070b2f23e755a30d2a35.tar.gz
Refix disk size during live migration with disk over-commit
Currently available disk of targer host is calculated based on local_gb, not available disk(free_disk_gb). This check can be negative if the target host has no free disk. Change-Id: Iec50269ef31dfe090f0cd4db95a37909661bd910 closes-bug: 1744079 (cherry picked from commit e2cc275063658b23ed88824100919a6dfccb760d) Signed-off-by: Zhang Hua <joshua.zhang@canonical.com>
-rwxr-xr-xnova/tests/unit/virt/libvirt/test_driver.py4
-rw-r--r--nova/virt/libvirt/driver.py2
2 files changed, 3 insertions, 3 deletions
diff --git a/nova/tests/unit/virt/libvirt/test_driver.py b/nova/tests/unit/virt/libvirt/test_driver.py
index 7cf98cf830..9b4b8773b1 100755
--- a/nova/tests/unit/virt/libvirt/test_driver.py
+++ b/nova/tests/unit/virt/libvirt/test_driver.py
@@ -7303,7 +7303,7 @@ class LibvirtConnTestCase(test.NoDBTestCase):
instance_ref.vcpu_model = test_vcpu_model.fake_vcpumodel
drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)
compute_info = {'disk_available_least': -1000,
- 'local_gb': 100,
+ 'free_disk_gb': 50,
'cpu_info': 'asdf',
}
filename = "file"
@@ -7320,7 +7320,7 @@ class LibvirtConnTestCase(test.NoDBTestCase):
return_value.is_volume_backed = False
self.assertThat({"filename": "file",
'image_type': 'default',
- 'disk_available_mb': 102400,
+ 'disk_available_mb': 51200,
"disk_over_commit": True,
"block_migration": True,
"is_volume_backed": False},
diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py
index da14d71d40..41c398d439 100644
--- a/nova/virt/libvirt/driver.py
+++ b/nova/virt/libvirt/driver.py
@@ -5844,7 +5844,7 @@ class LibvirtDriver(driver.ComputeDriver):
:returns: a LibvirtLiveMigrateData object
"""
if disk_over_commit:
- disk_available_gb = dst_compute_info['local_gb']
+ disk_available_gb = dst_compute_info['free_disk_gb']
else:
disk_available_gb = dst_compute_info['disk_available_least']
disk_available_mb = (