vexxhost / vexxhost/migratekit

Migratekit fails to detect root disk for multi-disk VMS

Open
#137 0 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

I have VM with 2 disks in vCenter and when migrating I see 2disks copied but when using cutover vm is only attaching 2nd disk and failing to find root disk which is causing migration failover

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 by tracing the cutover flow that attaches copied disks and selects the disk passed to virt-v2v-in-place; the issue does not name a file or test. Reproduce with a VMware VM containing two disks and inspect which device is selected. Done means cutover attaches both disks and runs virt-v2v-in-place against the 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
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.