Nova hugepage support does not include aarch64
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Wishlist
|
Veena | ||
nova (Ubuntu) |
Fix Released
|
Undecided
|
dann frazier | ||
Xenial |
Fix Released
|
Undecided
|
dann frazier |
Bug Description
[Impact]
Although aarch64 supports spawning a vm with hugepages, in nova code, the libvirt driver considers only x86_64 and I686. Both for NUMA and Hugepage support, AARCH64 needs to be added. Due to this bug, vm can not be launched with hugepage using OpenStack on aarch64 servers.
Note: this depends on the fix for LP: #1627926.
[Test Case]
Steps to reproduce:
On an openstack environment running on aarch64:
1. Configure compute to use hugepages.
2. Set mem_page_
3. Launch a VM using the above flavor.
Expected result:
VM should be launched with hugepages and the libvirt xml should have
<memoryBacking>
<hugepages>
<page size='2048' unit='KiB' nodeset='0'/>
</hugepages>
</memoryBacking>
Actual result:
VM is launched without hugepages.
There are no error logs in nova-scheduler.
[Regression Risk]
Risk is minimized by the fact that this change is just enabling the same code for arm64 that is already enabled for Ubuntu/x86.
Related branches
- Corey Bryant: Approve
- James Page: Pending requested
-
Diff: 164 lines (+131/-0)4 files modifieddebian/changelog (+5/-0)
debian/patches/libvirt-add-hugepages-support-for-Power.patch (+68/-0)
debian/patches/libvirt-add-hugepages-support-for-arm64.patch (+56/-0)
debian/patches/series (+2/-0)
- Ubuntu Server Developers: Pending requested
-
Diff: 85 lines (+63/-0)3 files modifieddebian/changelog (+6/-0)
debian/patches/libvirt-add-hugepages-support-for-arm64.patch (+56/-0)
debian/patches/series (+1/-0)
Changed in nova: | |
assignee: | nobody → Veena (mveenasl) |
status: | New → In Progress |
tags: | added: libvirt numa |
Changed in nova: | |
importance: | Undecided → Wishlist |
Changed in nova (Ubuntu): | |
status: | New → Triaged |
Changed in nova (Ubuntu Xenial): | |
status: | New → Triaged |
tags: | added: patch |
Changed in nova (Ubuntu): | |
status: | Triaged → Fix Committed |
assignee: | nobody → dann frazier (dannf) |
Changed in nova (Ubuntu Xenial): | |
assignee: | nobody → dann frazier (dannf) |
status: | Triaged → In Progress |
tags: |
added: verification-done removed: verification-needed |
Thanks for proposing to add aarch64 support to hugepages and NUMA instances.
Considering the operator impact and the fact that we would need to verify the libvirt and qemu minimum versions that we ship for making sure they support the above, I think it is really important to have that specific feature request to be handled accordingly with people able to review your proposal.
In Nova, we follow a specific process for writing new specifications and proposals that you can find more information on http:// docs.openstack. org/developer/ nova/process. html#how- do-i-get- my-code- merged
Basically, it requires you to write a blueprint and discuss on IRC to see whether your blueprint needs a formal specification writing called a "spec" file.