diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java index ac92f37edab..ced37c90543 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java @@ -2214,7 +2214,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv // If we're using virtio scsi, then we need to add a virtual scsi controller if (busT == DiskDef.DiskBus.SCSI) { - final SCSIDef sd = new SCSIDef((short)0, 0, 0, 9, 0); + final SCSIDef sd = new SCSIDef((short)0, 0, 0, 9, 0, vcpus); devices.addDevice(sd); } diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java index e0089dc61fd..1f1c3a051a1 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java @@ -1501,13 +1501,15 @@ public class LibvirtVMDef { private int bus = 0; private int slot = 9; private int function = 0; + private int queues = 0; - public SCSIDef(short index, int domain, int bus, int slot, int function) { + public SCSIDef(short index, int domain, int bus, int slot, int function, int queues) { this.index = index; this.domain = domain; this.bus = bus; this.slot = slot; this.function = function; + this.queues = queues; } public SCSIDef() { @@ -1518,9 +1520,12 @@ public class LibvirtVMDef { public String toString() { StringBuilder scsiBuilder = new StringBuilder(); - scsiBuilder.append(String.format("\n", this.index )); + scsiBuilder.append(String.format("\n", this.index)); scsiBuilder.append(String.format("
\n", this.domain, this.bus, this.slot, this.function ) ); + if (this.queues > 0) { + scsiBuilder.append(String.format("\n", this.queues)); + } scsiBuilder.append("\n"); return scsiBuilder.toString(); } diff --git a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDefTest.java b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDefTest.java index 32effb474d8..e127ed350e2 100644 --- a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDefTest.java +++ b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDefTest.java @@ -196,10 +196,11 @@ public class LibvirtVMDefTest extends TestCase { } public void testSCSIDef() { - SCSIDef def = new SCSIDef(); + SCSIDef def = new SCSIDef((short)0, 0, 0, 9, 0, 4); String str = def.toString(); String expected = "\n" + "
\n" + + "\n" + "\n"; assertEquals(str, expected); }