diff options
| author | Jenkins <jenkins@review.openstack.org> | 2012-12-10 18:41:20 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-12-10 18:41:20 +0000 |
| commit | 5bfe4a7438a0bd500f109d1efd4dbf9ec63f3883 (patch) | |
| tree | 5d00a46d015b1b193128c84d9dd2c150978780f7 | |
| parent | 50f3fdfbea40637cfbe3d53fee42b717a836466e (diff) | |
| parent | d0e930bd9f1bddf6223635fdc463b2176cc39690 (diff) | |
Merge "libvirt: enable apic setting for Xen or KVM guest."
| -rw-r--r-- | nova/tests/test_libvirt.py | 1 | ||||
| -rw-r--r-- | nova/tests/test_libvirt_config.py | 12 | ||||
| -rw-r--r-- | nova/virt/libvirt/config.py | 8 | ||||
| -rw-r--r-- | nova/virt/libvirt/driver.py | 1 |
4 files changed, 20 insertions, 2 deletions
diff --git a/nova/tests/test_libvirt.py b/nova/tests/test_libvirt.py index dd540ad5e..b714be958 100644 --- a/nova/tests/test_libvirt.py +++ b/nova/tests/test_libvirt.py @@ -652,6 +652,7 @@ class LibvirtConnTestCase(test.TestCase): _fake_network_info(self.stubs, 1), None, None) self.assertEquals(cfg.acpi, True) + self.assertEquals(cfg.apic, True) self.assertEquals(cfg.memory, 1024 * 1024 * 2) self.assertEquals(cfg.vcpus, 1) self.assertEquals(cfg.os_type, vm_mode.HVM) diff --git a/nova/tests/test_libvirt_config.py b/nova/tests/test_libvirt_config.py index c285d46c0..887199608 100644 --- a/nova/tests/test_libvirt_config.py +++ b/nova/tests/test_libvirt_config.py @@ -632,6 +632,8 @@ class LibvirtConfigGuestTest(LibvirtConfigBaseTest): obj.os_loader = '/usr/lib/xen/boot/hvmloader' obj.os_root = "root=xvda" obj.os_cmdline = "console=xvc0" + obj.acpi = True + obj.apic = True disk = config.LibvirtConfigGuestDisk() disk.source_type = "file" @@ -654,6 +656,10 @@ class LibvirtConfigGuestTest(LibvirtConfigBaseTest): <cmdline>console=xvc0</cmdline> <root>root=xvda</root> </os> + <features> + <acpi/> + <apic/> + </features> <devices> <disk type="file" device="disk"> <source file="/tmp/img"/> @@ -671,6 +677,8 @@ class LibvirtConfigGuestTest(LibvirtConfigBaseTest): obj.uuid = "b38a3f43-4be2-4046-897f-b67c2f5e0147" obj.os_type = "linux" obj.os_boot_dev = "hd" + obj.acpi = True + obj.apic = True disk = config.LibvirtConfigGuestDisk() disk.source_type = "file" @@ -691,6 +699,10 @@ class LibvirtConfigGuestTest(LibvirtConfigBaseTest): <type>linux</type> <boot dev="hd"/> </os> + <features> + <acpi/> + <apic/> + </features> <devices> <disk type="file" device="disk"> <source file="/tmp/img"/> diff --git a/nova/virt/libvirt/config.py b/nova/virt/libvirt/config.py index 58d065d21..69864645c 100644 --- a/nova/virt/libvirt/config.py +++ b/nova/virt/libvirt/config.py @@ -587,6 +587,7 @@ class LibvirtConfigGuest(LibvirtConfigObject): self.vcpus = 1 self.cpu = None self.acpi = False + self.apic = False self.clock = None self.os_type = None self.os_loader = None @@ -624,9 +625,12 @@ class LibvirtConfigGuest(LibvirtConfigObject): root.append(os) def _format_features(self, root): - if self.acpi: + if self.acpi or self.apic: features = etree.Element("features") - features.append(etree.Element("acpi")) + if self.acpi: + features.append(etree.Element("acpi")) + if self.apic: + features.append(etree.Element("apic")) root.append(features) def _format_devices(self, root): diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py index ca410dd21..0802c0e94 100644 --- a/nova/virt/libvirt/driver.py +++ b/nova/virt/libvirt/driver.py @@ -1787,6 +1787,7 @@ class LibvirtDriver(driver.ComputeDriver): if CONF.libvirt_type != "lxc" and CONF.libvirt_type != "uml": guest.acpi = True + guest.apic = True clk = vconfig.LibvirtConfigGuestClock() clk.offset = "utc" |
