From 348ceaff33dcf50417ff1c5b78f77d48db95c7e2 Mon Sep 17 00:00:00 2001 From: Wei Zhou Date: Wed, 1 Jul 2026 20:29:54 +0200 Subject: [PATCH] kvm: get ip address of Windows vms via virsh domifaddr (#12651) --- .../LibvirtGetVmIpAddressCommandWrapper.java | 6 ++-- ...bvirtGetVmIpAddressCommandWrapperTest.java | 35 ++++++++++++++++++- 2 files changed, 37 insertions(+), 4 deletions(-) diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtGetVmIpAddressCommandWrapper.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtGetVmIpAddressCommandWrapper.java index 93545f3adcf..c7fde141410 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtGetVmIpAddressCommandWrapper.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtGetVmIpAddressCommandWrapper.java @@ -119,7 +119,7 @@ public final class LibvirtGetVmIpAddressCommandWrapper extends CommandWrapper(0, "192.168.0.10")); + when(Script.executePipedCommands(anyList(), anyLong())).thenReturn(new Pair<>(0, VIRSH_DOMIF_OUTPUT_WINDOWS)); + + Answer answer = commandWrapper.execute(getVmIpAddressCommand, libvirtComputingResource); + + assertTrue(answer.getResult()); + assertEquals("192.168.0.10", answer.getDetails()); + } finally { + if (scriptMock != null) + scriptMock.close(); + } + } + + + @Test + public void testExecuteWithWindowsVm2() { + LibvirtComputingResource libvirtComputingResource = mock(LibvirtComputingResource.class); + GetVmIpAddressCommand getVmIpAddressCommand = mock(GetVmIpAddressCommand.class); + LibvirtGetVmIpAddressCommandWrapper commandWrapper = new LibvirtGetVmIpAddressCommandWrapper(); + MockedStatic