vexxhost / vexxhost/migratekit

Migratekit fails to detect root disk for multi-disk VMS

Open
#135 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
138
Forks
40
Avg merge
1m
Merged PRs (30d)
1

Description

When migrating a vm with multiple disks migratekit fails during cutover becasue virt-v2v executed against non-os disk
resulting

Incremental copy 100% [===================================================================================================================================] (20/20 GiB, 15 PiB/s)
INFO[0029] Running virt-v2v-in-place
[ 0.0] Setting up the source: -i disk /dev/vdd
[ 1.1] Opening the source
[ 11.5] Checking filesystem integrity before conversion
[ 13.2] Detecting if this guest uses BIOS or UEFI to boot
[ 13.4] Inspecting the source
virt-v2v-in-place: error: inspection could not detect the source guest (or
physical machine) operating system.

Assuming that you are running virt-v2v/virt-p2v on a source which is
supported (and not, for example, a blank disk), then this should not
happen.

No root device found in this operating system image.

If reporting bugs, run virt-v2v-in-place with debugging enabled and include
the complete output:

virt-v2v-in-place -v -x [...]
Removing snapshot 100% [==============================================================================================================================================] (100/100) [0s:0s]
Error: exit status 1
Usage:
migratekit cutover [flags]

Flags:
--availability-zone string OpenStack availability zone for blockdevice & server
--flavor string OpenStack Flavor ID
-h, --help help for cutover
--network-mapping networkMapping Network mapping (e.g. 'mac=00:11:22:33:44:55,network-id=6bafb3d3-9d4d-4df1-86bb-bb7403403d24,subnet-id=47ed1da7-82d4-4e67-9bdd-5cb4993e06ff[,ip=1.2.3.4]')
--run-v2v Run virt2v-inplace on destination VM (default true)
--security-groups strings Openstack security groups, comma separated (e.g. '42c5a89e-4034-4f2a-adea-b33adc9614f4,6647122c-2d46-42f1-bb26-f38007730fdc')

Global Flags:
--compression-method compression-method Specifies the compression method to use for the disk (default skipz)
--debug Enable debug logging
--disk-bus-type disk-bus-type Specifies the type of disk controller to attach disk devices to. (default virtio)
--enable-qemu-guest-agent Sets the hw_qemu_guest_agent metadata parameter to yes
--os-type string Set os_type in the volume (image) metadata, (if set to "auto", it tries to detect the type from VMware GuestId)
--vmware-endpoint string VMware endpoint (hostname or IP only)
--vmware-password string VMware password
--vmware-path string VMware VM path (e.g. '/Datacenter/vm/VM')
--vmware-username string VMware username
--volume-type string Openstack volume type
--vz-unsafe-volume-by-name Only use the name to find a volume - workaround for virtuozzu - dangerous option

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the migratekit cutover entry point and trace how disks are selected before virt-v2v-in-place runs. Reproduce the multi-disk case from the reported output, then verify that the OS/root disk is selected and cutover no longer runs virt-v2v against a non-OS disk.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cloud, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.