Enable KVM acceleration option.

pull/239/head
grossmj 9 years ago
parent c7ea8517a1
commit d518ac45f5

@ -84,6 +84,7 @@ class QemuVM(BaseVM):
self._kernel_image = ""
self._kernel_command_line = ""
self._legacy_networking = False
self._kvm = True
self._acpi_shutdown = False
self._cpu_throttling = 0 # means no CPU throttling
self._process_priority = "low"
@ -354,6 +355,30 @@ class QemuVM(BaseVM):
log.info('QEMU VM "{name}" [{id}] has disabled ACPI shutdown'.format(name=self._name, id=self._id))
self._acpi_shutdown = acpi_shutdown
@property
def kvm(self):
"""
Returns either this QEMU VM uses KVM acceleration.
:returns: boolean
"""
return self._kvm
@kvm.setter
def kvm(self, kvm):
"""
Sets either this QEMU VM uses KVM acceleration.
:param kvm: boolean
"""
if kvm:
log.info('QEMU VM "{name}" [{id}] has enabled KVM acceleration'.format(name=self._name, id=self._id))
else:
log.info('QEMU VM "{name}" [{id}] has disabled KVM acceleration'.format(name=self._name, id=self._id))
self._kvm = kvm
@property
def cpu_throttling(self):
"""
@ -1127,6 +1152,8 @@ class QemuVM(BaseVM):
command = [self.qemu_path]
command.extend(["-name", self._name])
command.extend(["-m", str(self._ram)])
if sys.platform.startswith("linux") and self._kvm:
command.extend(["-enable-kvm"])
disk_options = yield from self._disk_options()
command.extend(disk_options)
command.extend(self._linux_boot_options())

@ -104,6 +104,10 @@ QEMU_CREATE_SCHEMA = {
"description": "ACPI shutdown support",
"type": ["boolean", "null"],
},
"kvm": {
"description": "KVM support",
"type": ["boolean", "null"],
},
"cpu_throttling": {
"description": "Percentage of CPU allowed for QEMU",
"minimum": 0,
@ -207,6 +211,10 @@ QEMU_UPDATE_SCHEMA = {
"description": "ACPI shutdown support",
"type": ["boolean", "null"],
},
"kvm": {
"description": "KVM support",
"type": ["boolean", "null"],
},
"cpu_throttling": {
"description": "Percentage of CPU allowed for QEMU",
"minimum": 0,
@ -319,6 +327,10 @@ QEMU_OBJECT_SCHEMA = {
"description": "ACPI shutdown support",
"type": "boolean",
},
"kvm": {
"description": "KVM support",
"type": ["boolean", "null"],
},
"cpu_throttling": {
"description": "Percentage of CPU allowed for QEMU",
"minimum": 0,
@ -342,7 +354,7 @@ QEMU_OBJECT_SCHEMA = {
"additionalProperties": False,
"required": ["vm_id", "project_id", "name", "qemu_path", "hda_disk_image", "hdb_disk_image",
"hdc_disk_image", "hdd_disk_image", "ram", "adapters", "adapter_type", "mac_address", "console",
"initrd", "kernel_image", "kernel_command_line", "legacy_networking", "acpi_shutdown",
"initrd", "kernel_image", "kernel_command_line", "legacy_networking", "acpi_shutdown", "kvm",
"cpu_throttling", "process_priority", "options"]
}

Loading…
Cancel
Save