diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java index 5a96c360616..3c848dead1e 100755 --- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java +++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java @@ -188,6 +188,7 @@ import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.InputDef; import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.InterfaceDef; import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.InterfaceDef.hostNicType; import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.SerialDef; +import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.VirtioSerialDef; import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.TermPolicy; import com.cloud.hypervisor.kvm.storage.KVMPhysicalDisk; import com.cloud.hypervisor.kvm.storage.KVMPhysicalDisk.PhysicalDiskFormat; @@ -3053,6 +3054,11 @@ ServerResource { SerialDef serial = new SerialDef("pty", null, (short) 0); devices.addDevice(serial); + if (vmTO.getType() != VirtualMachine.Type.User) { + VirtioSerialDef vserial = new VirtioSerialDef(vmTO.getName(), null); + devices.addDevice(vserial); + } + ConsoleDef console = new ConsoleDef("pty", null, null, (short) 0); devices.addDevice(console); diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java index 5ab37702ed6..fc3b5f6da00 100644 --- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java +++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java @@ -846,6 +846,31 @@ public class LibvirtVMDef { } } + public static class VirtioSerialDef { + private final String _name; + private String _path; + + public VirtioSerialDef(String name, String path) { + _name = name; + _path = path; + } + + @Override + public String toString() { + StringBuilder virtioSerialBuilder = new StringBuilder(); + if(_path == null) { + _path = "/var/lib/libvirt/qemu"; + } + virtioSerialBuilder.append("\n"); + virtioSerialBuilder.append("\n"); + virtioSerialBuilder.append("\n"); + virtioSerialBuilder.append("
\n"); + virtioSerialBuilder.append("\n"); + return virtioSerialBuilder.toString(); + } + } + public static class GraphicDef { private final String _type; private short _port = -2;