Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
Security Level: Public (Anyone can view this level - this is the default.)
-
None
-
Patch
Description
Introduction
On CLOUDSTACK-9211 passing vRAM size to support 3D GPU problem was addressed on VMware. It was found out that it could be improved to increase performance by reducing extra API calls, as we'll describe later
Improvement
On WMware, VmwareResource manages execution of StartCommand. Before sending power on command to ESXi hypervisor, vm is configured by calling reconfigVMTask web method on vSphere's client VimPortType web service.
It was found out that we were using this method 2 times when passing vRAM size, as it implied creating a new vm config spec only editing video card specs and making an extra call to reconfigVMTask.
We propose reducing the extra web service call by adjusting vm's config spec. This way video card gets properly configured (when passing vRAM size) in the same configure call, increasing performance.
Use case (passing vRAM size)
- Deploy a new VM, let its id be X
- Stop VM
- Execute SQL, where X is vm's id and Z is vRAM size (in kB):
INSERT INTO cloud.user_vm_details (vm_id, name, value) VALUES (X, 'mks.enable3d', 'true'); INSERT INTO cloud.user_vm_details (vm_id, name, value) VALUES (X, 'mks.use3dRenderer', 'automatic'); INSERT INTO cloud.user_vm_details (vm_id, name, value) VALUES (X, 'svga.autodetect', 'false'); INSERT INTO cloud.user_vm_details (vm_id, name, value) VALUES (X, 'svga.vramSize', Z);
- Start VM
Attachments
Issue Links
- links to