Merge "xenapi: fix spawn servers with ephemeral disks"
This commit is contained in:
@@ -850,6 +850,14 @@ class ResizeVdisTestCase(VMOpsTestBase):
|
||||
self.vmops._resize_up_vdis(instance, {"root": {}})
|
||||
self.assertFalse(mock_resize.called)
|
||||
|
||||
def test_resize_up_vdis_no_vdis_like_initial_spawn(self, mock_resize):
|
||||
instance = {"root_gb": 0, "ephemeral_gb": 3000}
|
||||
vdis = {}
|
||||
|
||||
self.vmops._resize_up_vdis(instance, vdis)
|
||||
|
||||
self.assertFalse(mock_resize.called)
|
||||
|
||||
@mock.patch.object(vm_utils, 'get_ephemeral_disk_sizes')
|
||||
def test_resize_up_vdis_ephemeral(self, mock_sizes, mock_resize):
|
||||
mock_sizes.return_value = [2000, 1000]
|
||||
|
@@ -1080,10 +1080,18 @@ class VMOps(object):
|
||||
vm_utils.update_vdi_virtual_size(self._session, instance,
|
||||
vdi_ref, new_root_gb)
|
||||
|
||||
ephemeral_vdis = vdis.get('ephemerals')
|
||||
if not ephemeral_vdis:
|
||||
# NOTE(johngarbutt) no existing (migrated) ephemeral disks
|
||||
# to resize, so nothing more to do here.
|
||||
return
|
||||
|
||||
total_ephemeral_gb = instance['ephemeral_gb']
|
||||
if total_ephemeral_gb:
|
||||
sizes = vm_utils.get_ephemeral_disk_sizes(total_ephemeral_gb)
|
||||
ephemeral_vdis = vdis.get('ephemerals')
|
||||
# resize existing (migrated) ephemeral disks,
|
||||
# and add any extra disks if required due to a
|
||||
# larger total_ephemeral_gb (resize down is not supported).
|
||||
for userdevice, new_size in enumerate(sizes,
|
||||
start=int(DEVICE_EPHEMERAL)):
|
||||
vdi = ephemeral_vdis.get(str(userdevice))
|
||||
|
Reference in New Issue
Block a user