openvswitch fails to allocate memory pool in virtual environment
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
StarlingX |
Fix Released
|
High
|
Steven Webster |
Bug Description
Title
-----
openvswitch fails to allocate memory pool in virtual environment
Brief Description
-----------------
On some virtual systems, openvswitch is failing to allocate the mbuf memory pools for the data path when the DPDK allocated 2M huge pages are fragmented and therefore do not provide a large enough contiguous block of memory for the pools. If the pool is not allocated, then the physical ports will fail to be configured properly, failing compute initialization.
Severity
--------
Minor
Steps to Reproduce
------------------
The issue is not reproducible on most systems, and is only selectively an issue on some virtual environments. This issue is not present on real hardware since the huge page memory for openvswitch is backed by 1G huge pages.
Expected Behavior
------------------
openvswitch should be able to allocate the required mbuf memory pools during initialization.
Actual Behavior
----------------
openvswitch is unable to allocate the required mbuf memory pools, resulting in a failure to initialize the openvswitch service.
Reproducibility
---------------
Intermittent.
On systems that experience the issue, it will occur 20-30% of the time when booting a compute host.
System Configuration
-------
All virtual systems are susceptible to this issue.
Branch/Pull Time/Commit
-------
master - 2018-10-05
Timestamp/Logs
--------------
2018-10-
2018-10-
2018-10-
2018-10-
tags: | added: stx.networking |
Changed in starlingx: | |
importance: | Undecided → Medium |
Changed in starlingx: | |
status: | New → Triaged |
Changed in starlingx: | |
importance: | Medium → High |
tags: |
added: stx.1.0 removed: stx.2018.10 |
The _set_default_ vswitch_ hugesize method needs to be generalized to not configure a different amount of memory for a virtual environment since OVS does not size the mempool differently for a virtual environment and therefore requires the full 1G allocation.
http:// git.openstack. org/cgit/ openstack/ stx-config/ tree/sysinv/ sysinv/ sysinv/ sysinv/ agent/node. py#n273