[dpdk] [huge] instance start fails if HugePages is requested and DPDK is configured

Bug #1556083 reported by Atsuko Ito on 2016-03-11
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Vladimir Kuklin

Bug Description

1. When HugePages and DPDK is enabled, two mountpoints for hugetlbfs will be created:

# mount | grep hugetlbfs
hugetlbfs on /dev/hugepages type hugetlbfs (rw) # from /etc/init.d/dpdk
hugetlbfs-kvm on /run/hugepages/kvm type hugetlbfs (rw,mode=775,gid=116) # from /etc/init/qemu-kvm.conf

2. libvirt is trying to discover hugetlbfs mountpoint and found first one: /dev/hugepages

3. Instance boot fails with next error, because /dev/hugepages is forbidden by permissions and apparmor:

libvirtError: internal error: process exited while connecting to monitor: 2016-03-11T12:21:05.898252Z qemu-system-x86_64: -object memory-backend-file,prealloc=yes,mem-path=/dev/hugepages/libvirt/qemu,share=on,size=2048M,id=ram-node0,host-nodes=0,policy=bind: unable to create backing store for hugepages: Permission denied

If DPDK is not enabled, it will work, because /run/hugepages/kvm will be discovered and it allowed.

/etc/libvirt/qemu.conf has an option hugetlbfs_mount, that could be set to "/run/hugepages/kvm".

Changed in fuel:
assignee: Fuel Library Team (fuel-library) → Sergey Kolekonov (skolekonov)

Fix proposed to branch: master
Review: https://review.openstack.org/292357

Changed in fuel:
status: New → In Progress
Dina Belova (dbelova) on 2016-03-14
Changed in fuel:
importance: Undecided → High

Reviewed: https://review.openstack.org/292357
Committed: https://git.openstack.org/cgit/openstack/fuel-library/commit/?id=b2e12dd096c9c96afe90a81b889ffd65c2417a04
Submitter: Jenkins
Branch: master

commit b2e12dd096c9c96afe90a81b889ffd65c2417a04
Author: Sergey Kolekonov <email address hidden>
Date: Mon Mar 14 15:32:47 2016 +0300

    Always manage hugetlbfs mountpoint for libvirt

    hugetlbfs mountpoint value should be set to the only correct value when huge
    pages are enabled (other values are prohibited by apparmor) and removed when
    huge pages are disabled

    Change-Id: I84dd96c8268e1c8610a1f4788616441f0c0ebce0
    Closes-bug: #1556083

Changed in fuel:
status: In Progress → Fix Committed
Atsuko Ito (yottatsa) wrote :
Changed in fuel:
status: Fix Committed → Confirmed

(This check performed automatically)
Please, make sure that bug description contains the following sections filled in with the appropriate data related to the bug you are describing:

actual result


expected result

steps to reproduce

For more detailed information on the contents of each of the listed sections see https://wiki.openstack.org/wiki/Fuel/How_to_contribute#Here_is_how_you_file_a_bug

tags: added: need-info
Atsuko Ito (yottatsa) wrote :

could not fix with just
require => Package['libvirt-daemon-system']

because of UCA

Fix proposed to branch: master
Review: https://review.openstack.org/298372

Changed in fuel:
assignee: Sergey Kolekonov (skolekonov) → Vladimir Eremin (yottatsa)
status: Confirmed → In Progress
Changed in fuel:
assignee: Vladimir Eremin (yottatsa) → Vladimir Kuklin (vkuklin)

Reviewed: https://review.openstack.org/298372
Committed: https://git.openstack.org/cgit/openstack/fuel-library/commit/?id=9a76266a4196ce74f12f75b9957a0779bdd682dc
Submitter: Jenkins
Branch: master

commit 9a76266a4196ce74f12f75b9957a0779bdd682dc
Author: Vladimir Eremin <email address hidden>
Date: Mon Mar 28 21:46:17 2016 +0300

    Added requirement between hugetlbfs_mount and libvirt

    * Added lost requirement

    Change-Id: I468f11772ab142d749ae9aaa0bb2933e027fea60
    Closes-Bug: #1556083

Changed in fuel:
status: In Progress → Fix Committed
Maksym Strukov (unbelll) wrote :

Verified as fixed in 9.0-mos-364 and 10.0-224

Changed in fuel:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers