Skip to content

Commit a4c479b

Browse files
Remove qcow2 check while listing volumes (using GetVolumesOnStorageCommand)
1 parent bebacdc commit a4c479b

File tree

2 files changed

+6
-28
lines changed

2 files changed

+6
-28
lines changed

plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtGetVolumesOnStorageCommandWrapper.java

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import com.cloud.resource.CommandWrapper;
3232
import com.cloud.resource.ResourceWrapper;
3333
import com.cloud.storage.Storage.StoragePoolType;
34-
import com.cloud.utils.exception.CloudRuntimeException;
3534
import org.apache.cloudstack.storage.volume.VolumeOnStorageTO;
3635
import org.apache.cloudstack.utils.qemu.QemuImg;
3736
import org.apache.cloudstack.utils.qemu.QemuImg.PhysicalDiskFormat;
@@ -83,13 +82,6 @@ private GetVolumesOnStorageAnswer addVolumeByVolumePath(final GetVolumesOnStorag
8382
if (!isDiskFormatSupported(disk)) {
8483
return new GetVolumesOnStorageAnswer(command, false, String.format("disk format %s is unsupported", disk.getFormat()));
8584
}
86-
if (PhysicalDiskFormat.QCOW2.equals(disk.getFormat())) {
87-
try {
88-
KVMPhysicalDisk.checkQcow2File(disk.getPath());
89-
} catch (CloudRuntimeException e) {
90-
return new GetVolumesOnStorageAnswer(command, false, e.getMessage());
91-
}
92-
}
9385
Map<String, String> info = getDiskFileInfo(storagePool, disk, true);
9486
if (info == null) {
9587
return new GetVolumesOnStorageAnswer(command, false, "failed to get information of disk file. The disk might be locked or unsupported");
@@ -142,14 +134,6 @@ private GetVolumesOnStorageAnswer addAllVolumes(final GetVolumesOnStorageCommand
142134
if (!isDiskFormatSupported(disk)) {
143135
continue;
144136
}
145-
if (PhysicalDiskFormat.QCOW2.equals(disk.getFormat())) {
146-
try {
147-
KVMPhysicalDisk.checkQcow2File(disk.getPath());
148-
} catch (CloudRuntimeException e) {
149-
logger.error("Error while checking for qcow2 volume file: " + e.getMessage());
150-
continue;
151-
}
152-
}
153137
VolumeOnStorageTO volumeOnStorageTO = new VolumeOnStorageTO(Hypervisor.HypervisorType.KVM, disk.getName(), disk.getName(), disk.getPath(),
154138
disk.getFormat().toString(), disk.getSize(), disk.getVirtualSize());
155139
if (disk.getQemuEncryptFormat() != null) {

plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtGetVolumesOnStorageCommandWrapperTest.java

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
import org.junit.Test;
3939
import org.junit.runner.RunWith;
4040
import org.mockito.Mock;
41-
import org.mockito.MockedStatic;
4241
import org.mockito.MockedConstruction;
4342
import org.mockito.Mockito;
4443
import org.mockito.Spy;
@@ -117,17 +116,12 @@ public void testLibvirtGetVolumesOnStorageCommandWrapperForAllVolumes() {
117116
}
118117
Mockito.when(storagePool.listPhysicalDisks()).thenReturn(physicalDisks);
119118

120-
try (MockedStatic<KVMPhysicalDisk> mockedKVMPhysicalDisk = Mockito.mockStatic(KVMPhysicalDisk.class)) {
121-
mockedKVMPhysicalDisk.when(() -> KVMPhysicalDisk.checkQcow2File(Mockito.anyString()))
122-
.thenAnswer(invocation -> null);
123-
124-
Answer answer = libvirtGetVolumesOnStorageCommandWrapper.execute(command, libvirtComputingResource);
125-
Assert.assertTrue(answer instanceof GetVolumesOnStorageAnswer);
126-
Assert.assertTrue(answer.getResult());
127-
List<VolumeOnStorageTO> volumes = ((GetVolumesOnStorageAnswer) answer).getVolumes();
128-
Assert.assertEquals(numberDisks, volumes.size());
129-
volumeOnStorageTOMock.constructed().forEach(s -> Mockito.verify(s, times(1)).setQemuEncryptFormat(QemuObject.EncryptFormat.LUKS.toString()));
130-
}
119+
Answer answer = libvirtGetVolumesOnStorageCommandWrapper.execute(command, libvirtComputingResource);
120+
Assert.assertTrue(answer instanceof GetVolumesOnStorageAnswer);
121+
Assert.assertTrue(answer.getResult());
122+
List<VolumeOnStorageTO> volumes = ((GetVolumesOnStorageAnswer) answer).getVolumes();
123+
Assert.assertEquals(numberDisks, volumes.size());
124+
volumeOnStorageTOMock.constructed().forEach(s -> Mockito.verify(s, times(1)).setQemuEncryptFormat(QemuObject.EncryptFormat.LUKS.toString()));
131125
}
132126

133127
@Test

0 commit comments

Comments
 (0)