Skip to content

conversion of VMware to KVM of Windows VMs fails #11561

@ingox

Description

@ingox

problem

The migration of a Windows VM from VMware to KVM by using the "Import-Export Instances" functionality fails.

Image

The agent.log file states that a different version of virt-v2v should be used.

Here is the log output of the agent.log:

2025-09-02 10:23:50,393 WARN [resource.wrapper.LibvirtConvertInstanceCommandWrapper] (AgentRequest-Handler-2:[]) (logid:) Exception [Stream closed] occurred when attempting to run command [virt-v2v --root first -i ova /mnt/f16f10e2-5272-3087-b0e3-bf664ec5b296/12aca5b3-739a-44f4-b9af-50d67007007f/i-2-20-VM/ -o local -os /mnt/f16f10e2-5272-3087-b0e3-bf664ec5b296 -of qcow2 -on e34c9a09-d5ea-4191-890b-a04f6a8c9b48 -v ]. java.io.IOException: Stream closed
at java.base/java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:168)
at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:334)
at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:287)
at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:330)
at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:190)
at java.base/java.io.InputStreamReader.read(InputStreamReader.java:177)
at java.base/java.io.BufferedReader.fill(BufferedReader.java:162)
at java.base/java.io.BufferedReader.readLine(BufferedReader.java:329)
at java.base/java.io.BufferedReader.readLine(BufferedReader.java:396)
at com.cloud.utils.script.OutputInterpreter.processError(OutputInterpreter.java:41)
at com.cloud.utils.script.Script.execute(Script.java:305)
at com.cloud.hypervisor.kvm.resource.wrapper.LibvirtConvertInstanceCommandWrapper.performInstanceConversion(LibvirtConvertInstanceCommandWrapper.java:410)
at com.cloud.hypervisor.kvm.resource.wrapper.LibvirtConvertInstanceCommandWrapper.execute(LibvirtConvertInstanceCommandWrapper.java:134)
at com.cloud.hypervisor.kvm.resource.wrapper.LibvirtConvertInstanceCommandWrapper.execute(LibvirtConvertInstanceCommandWrapper.java:61)
at com.cloud.hypervisor.kvm.resource.wrapper.LibvirtRequestWrapper.execute(LibvirtRequestWrapper.java:78)
at com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.executeRequest(LibvirtComputingResource.java:1958)
at com.cloud.agent.Agent.processRequest(Agent.java:779)
at com.cloud.agent.Agent$AgentRequestHandler.doTask(Agent.java:1194)
at com.cloud.utils.nio.Task.call(Task.java:83)
at com.cloud.utils.nio.Task.call(Task.java:29)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)

2025-09-02 10:23:50,393 ERROR [resource.wrapper.LibvirtConvertInstanceCommandWrapper] (AgentRequest-Handler-2:[]) (logid:) The virt-v2v conversion for the OVF 12aca5b3-739a-44f4-b9af-50d67007007f failed. Please check the agent logs for the virt-v2v output. Please try on a different kvm host which has a different virt-v2v version.

versions

virt-v2v 2.4.0

Ubuntu 24.04 LTS

ACS 4.20.1.0

The steps to reproduce the bug

  1. Configure the KVM hypervisor like described here: https://docs.cloudstack.apache.org/en/latest/adminguide/virtual_machines/importing_vmware_vms_into_kvm.html or https://www.shapeblue.com/cloudstack-vmware-to-kvm-migration-tool/
  2. Use the export import tool in CloudStack.
  3. Choose a Windows VM to convert
  4. Give it a name
  5. Select the prepared hypervisor.
  6. Wait until the error appears. Can take a while until the conversion happened, depending on the size of the disk....

What to do about it?

No response

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions