]> xenbits.xensource.com Git - osstest/openstack-nova.git/commitdiff
Adding hugepage and NUMA support check for aarch64
authorVeenaSL <mveenasl@gmail.com>
Mon, 19 Sep 2016 08:06:53 +0000 (13:36 +0530)
committerVeena <mveenasl@gmail.com>
Wed, 12 Oct 2016 11:03:14 +0000 (16:33 +0530)
Nova ignores aarch64 while verifying for hugepage and NUMA support.
AARCH64 also supports hugepage and NUMA on the same libvirt versions as of x86.
Hence adding this chek for aarch64 also.

Change-Id: I7b5ae1dbdca4fdd0aee2eefd4099c4c4953b609a
Closes-bug: #1623871

nova/tests/unit/virt/libvirt/test_driver.py
nova/virt/libvirt/driver.py
releasenotes/notes/add-numa-hugepage-support-for-aarch64-14279c307e44b147.yaml [new file with mode: 0644]

index 9f0b56c21247ae9d3c0c005d4fb7feccb61e62ef..0205f64ab62529b195b0d1d8f4457fddda1a6943 100644 (file)
@@ -2910,7 +2910,8 @@ class LibvirtConnTestCase(test.NoDBTestCase):
                        return_value=True)
     @mock.patch.object(host.Host, "get_capabilities")
     def test_does_want_hugepages(self, mock_caps, mock_hp, mock_numa):
-        for each_arch in [arch.I686, arch.X86_64, arch.PPC64LE, arch.PPC64]:
+        for each_arch in [arch.I686, arch.X86_64, arch.PPC64LE, arch.PPC64,
+                          arch.AARCH64]:
             self._test_does_want_hugepages(
                 mock_caps, mock_hp, mock_numa, each_arch)
 
index 5668f5740fb217894cfceb7234d773d720ac2ff7..b0857f3db4f7f1af251397587e6528efd9698325 100644 (file)
@@ -5108,7 +5108,8 @@ class LibvirtDriver(driver.ComputeDriver):
                     self._bad_libvirt_numa_version_warn = True
                 return False
 
-        support_matrix = {(arch.I686, arch.X86_64): MIN_LIBVIRT_NUMA_VERSION,
+        support_matrix = {(arch.I686, arch.X86_64,
+                           arch.AARCH64): MIN_LIBVIRT_NUMA_VERSION,
                           (arch.PPC64,
                            arch.PPC64LE): MIN_LIBVIRT_NUMA_VERSION_PPC}
         caps = self._host.get_capabilities()
@@ -5124,7 +5125,8 @@ class LibvirtDriver(driver.ComputeDriver):
     def _has_hugepage_support(self):
         # This means that the host can support multiple values for the size
         # field in LibvirtConfigGuestMemoryBackingPage
-        supported_archs = [arch.I686, arch.X86_64, arch.PPC64LE, arch.PPC64]
+        supported_archs = [arch.I686, arch.X86_64, arch.PPC64LE, arch.PPC64,
+                           arch.AARCH64]
         caps = self._host.get_capabilities()
         return ((caps.host.cpu.arch in supported_archs) and
                 self._host.has_min_version(MIN_LIBVIRT_HUGEPAGE_VERSION,
diff --git a/releasenotes/notes/add-numa-hugepage-support-for-aarch64-14279c307e44b147.yaml b/releasenotes/notes/add-numa-hugepage-support-for-aarch64-14279c307e44b147.yaml
new file mode 100644 (file)
index 0000000..9e8e5c0
--- /dev/null
@@ -0,0 +1,4 @@
+---
+features:
+  - Adding aarch64 to the list of supported architectures for NUMA and hugepage features.
+    This requires libvirt>=1.2.7 for NUMA, libvirt>=1.2.8 for hugepage and qemu v2.1.0 for both.