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 2ebab780931..627c1fdac6a 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 @@ -230,6 +230,7 @@ import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.InterfaceDef.guestNetType; import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.SerialDef; import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.TermPolicy; import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.VirtioSerialDef; +import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.VideoDef; import com.cloud.hypervisor.kvm.storage.KVMPhysicalDisk; import com.cloud.hypervisor.kvm.storage.KVMStoragePool; import com.cloud.hypervisor.kvm.storage.KVMStoragePoolManager; @@ -450,6 +451,8 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv protected String _guestCpuMode; protected String _guestCpuModel; protected boolean _noKvmClock; + protected String _videoHw; + protected int _videoRam; private final Map _pifs = new HashMap(); private final Map _vmStats = new ConcurrentHashMap(); @@ -800,6 +803,10 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv _noMemBalloon = true; } + _videoHw = (String) params.get("vm.video.hardware"); + value = (String) params.get("vm.video.ram"); + _videoRam = NumbersUtil.parseInt(value, 0); + value = (String)params.get("host.reserved.mem.mb"); _dom0MinMem = NumbersUtil.parseInt(value, 0) * 1024 * 1024; @@ -3747,6 +3754,9 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv devices.addDevice(vserial); } + VideoDef videoCard = new VideoDef(_videoHw, _videoRam); + devices.addDevice(videoCard); + 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 8084035d84e..6b29e9cf943 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 @@ -1060,6 +1060,28 @@ public class LibvirtVMDef { } } + public static class VideoDef { + private String _videoModel; + private int _videoRam; + + public VideoDef(String videoModel, int videoRam) { + _videoModel = videoModel; + _videoRam = videoRam; + } + + @Override + public String toString() { + StringBuilder videoBuilder = new StringBuilder(); + if (_videoModel != null && !_videoModel.isEmpty() && _videoRam != 0){ + videoBuilder.append("\n"); + return videoBuilder.toString(); + } + return ""; + } + } + public static class VirtioSerialDef { private final String _name; private String _path;