From 8407fb28cbf731bfbbf13b8166f344ba6077e134 Mon Sep 17 00:00:00 2001 From: Brian Cain Date: Fri, 17 Jan 2020 15:22:46 -0800 Subject: [PATCH] Add more code comments for configuring disk class --- plugins/providers/virtualbox/cap/configure_disks.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/plugins/providers/virtualbox/cap/configure_disks.rb b/plugins/providers/virtualbox/cap/configure_disks.rb index 0646047a4..386e7bd5d 100644 --- a/plugins/providers/virtualbox/cap/configure_disks.rb +++ b/plugins/providers/virtualbox/cap/configure_disks.rb @@ -171,9 +171,10 @@ module VagrantPlugins if defined_disk["Storage format"] == "VMDK" LOGGER.warn("Disk type VMDK cannot be resized in VirtualBox. Vagrant will convert disk to VDI format to resize first, and then convert resized disk back to VMDK format") - # grab disks port and device number + # grab disk to be resized port and device number vm_info = machine.provider.driver.show_vm_info disk_info = get_port_and_device(vm_info, defined_disk) + # clone disk to vdi formatted disk vdi_disk_file = vmdk_to_vdi(machine.provider.driver, defined_disk["Location"]) # resize vdi @@ -183,13 +184,14 @@ module VagrantPlugins machine.provider.driver.remove_disk(disk_info[:port], disk_info[:device]) machine.provider.driver.close_medium(defined_disk["UUID"]) + # clone back to original vmdk format and attach resized disk vmdk_disk_file = vdi_to_vmdk(machine.provider.driver, vdi_disk_file) machine.provider.driver.attach_disk(disk_info[:port], disk_info[:device], vmdk_disk_file, "hdd") # close cloned volume format machine.provider.driver.close_medium(vdi_disk_file) - # Get new disk UUID for vagrant disk_meta file + # Get new updated disk UUID for vagrant disk_meta file new_disk_info = machine.provider.driver.list_hdds.select { |h| h["Location"] == defined_disk["Location"] }.first defined_disk = new_disk_info @@ -206,6 +208,8 @@ module VagrantPlugins return disk_metadata end + # TODO: Maybe these should be virtualbox driver methods? + # @param [VagrantPlugins::VirtualboxProvider::Driver] driver # @param [String] defined_disk_path # @return [String] destination - The cloned disk