Import an existing VM disk image.
Initial test day setup, a pre-existing VM image.
How to test
Ready your disk image
Personal pre-existing disk image
For this test we want to be sure that all sorts of disk images will import and run correctly, so please consider using any existing disk image you have.
Fedora cloud image
If you don't have an existing disk image, but still want to run the test, you can use a Fedora cloud image
- Install virt-customize with:
dnf install libguestfs-tools-c
- Set the root password to '123456' with:
virt-customize --add Fedora-Cloud-Base-29-20180910.n.0.x86_64.qcow2 --root-password password:123456
- This is not secure, but should be fine for test purposes.
- Disable cloud-init, since it hangs waiting for input:
virt-customize --add Fedora-Cloud-Base-29-20180910.n.0.x86_64.qcow2 --run-command "systemctl mask cloud-init.service"
virt-builder pre-installed image
virt-builder is a new tool that can download pre-installed minimal images for a variety of distros.
- Install virt-builder with:
yum install libguestfs-tools-c
virt-builder --listto see the available distro images. We will use fedora-28
- Download the image and set the root password to '123456':
virt-builder fedora-28 --root-password password:123456
- Run virt-manager (should autoconnect to qemu)
- Launch the 'New VM' wizard
- Choose the 'Import' option
- Browse to the existing VM image.
- Make sure to enter a valid OS type, it's important for performance defaults.
- Proceed with through the wizard, using the default suggested values.
- On the final page, use the VM name: test-day-vm
- Finish the install, verify your VM boots as expected. Depending on the OS and content of the image, additional devices may need to be configured in the 'customize before install' step.
An example virt-install invocation looks like
sudo virt-install --name test-day-vm --ram 2048 \ --disk /path/to/my/existing/vm/disk.img \ --os-variant fedora28 \ --import
Guest installations start and perform without any issues. Guest is bootable after install completes.