os-vif currenly required space for default mem pool when jumbo frames are used with ovs-dpdk

Bug #1959586 reported by sean mooney
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
os-vif
Fix Released
Low
Rajesh Tailor

Bug Description

as reported in this downstream bug https://bugzilla.redhat.com/show_bug.cgi?id=2040554

os vif currently set the requested mtu as part of a separate request to the port add port command.
as a result the port is initially created with an mbufer pool for the default 1500 size then updated to use the mbuf pool for the jumboframe size.

this results in an error in the openvswitch-vswichd log

Dec 19 15:16:28 cpdh002a-lab3a-vxf ovs-vswitchd[238324]: ovs|2438761|netdev_dpdk|ERR|Failed to create memory pool for netdev vhu3a1c44e6-d7, with MTU 1500 on socket 0: Invalid argument
Dec 19 15:16:28 cpdh002a-lab3a-vxf ovs-vswitchd[238324]: ovs|2438762|dpif_netdev|ERR|Failed to set interface vhu3a1c44e6-d7 new configuration
Dec 19 15:16:28 cpdh002a-lab3a-vxf ovs-vsctl: ovs|00001|vsctl|INFO|Called as ovs-vsctl --timeout=120 -- set interface vhu3a1c44e6-d7 mtu_request=9000

while this error its harmless since the follow call to set the mtu will correct the issue momentary it can be annoying to operators as it create noise in the logs.

the fix for this is relivitly trivial
we just need to move the mtu update into the transaction that creates the port

https://github.com/openstack/os-vif/blob/master/vif_plug_ovs/ovsdb/ovsdb_lib.py#L179-L185

which will require a minor refactoring of

https://github.com/openstack/os-vif/blob/master/vif_plug_ovs/ovsdb/ovsdb_lib.py#L44-L68

to support being called in a transaction.

This bug has no other negative sideffect that we know of at this time and can simply be worked around by ensuring ovs-dpdk has enough memory for both the default mem pool and jumbo frame mem pool which is already considered a best practice

https://developers.redhat.com/blog/2018/03/16/ovs-dpdk-hugepage-memory
https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/13/html-single/network_functions_virtualization_planning_and_configuration_guide/index#c_ovsdpdk-memory-params

Changed in os-vif:
importance: Undecided → Low
status: New → Triaged
tags: added: dpdk low-hanging-fruit ovs
Rajesh Tailor (ratailor)
Changed in os-vif:
assignee: nobody → Rajesh Tailor (ratailor)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to os-vif (master)

Fix proposed to branch: master
Review: https://review.opendev.org/c/openstack/os-vif/+/857868

Changed in os-vif:
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to os-vif (master)

Reviewed: https://review.opendev.org/c/openstack/os-vif/+/857868
Committed: https://opendev.org/openstack/os-vif/commit/2f55e9ea06f975240e3ff5aff21195ec6af76193
Submitter: "Zuul (22348)"
Branch: master

commit 2f55e9ea06f975240e3ff5aff21195ec6af76193
Author: Rajesh Tailor <email address hidden>
Date: Thu Sep 15 16:23:44 2022 +0530

    Move mtu update request into ovsdb transaction

    os-vif currently set the requested mtu as part of separate request
    to the port add command. As a result the port is initially created
    with mbufer pool for the jumboframe size, which results in an
    error in openvswitch-vswitch logs.

    This change moves the mtu update request into ovsdb transaction.

    Closes-Bug: #1959586
    Change-Id: I1acd74efc100c6f949b5c72525c455aebfa2c50e

Changed in os-vif:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to os-vif (stable/zed)

Fix proposed to branch: stable/zed
Review: https://review.opendev.org/c/openstack/os-vif/+/863993

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to os-vif (stable/yoga)

Fix proposed to branch: stable/yoga
Review: https://review.opendev.org/c/openstack/os-vif/+/863994

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to os-vif (stable/xena)

Fix proposed to branch: stable/xena
Review: https://review.opendev.org/c/openstack/os-vif/+/863995

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/os-vif 3.1.0

This issue was fixed in the openstack/os-vif 3.1.0 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to os-vif (stable/zed)

Reviewed: https://review.opendev.org/c/openstack/os-vif/+/863993
Committed: https://opendev.org/openstack/os-vif/commit/51b7f486318d1b2d61f2079b615cc406dca10188
Submitter: "Zuul (22348)"
Branch: stable/zed

commit 51b7f486318d1b2d61f2079b615cc406dca10188
Author: Rajesh Tailor <email address hidden>
Date: Thu Sep 15 16:23:44 2022 +0530

    Move mtu update request into ovsdb transaction

    os-vif currently set the requested mtu as part of separate request
    to the port add command. As a result the port is initially created
    with mbufer pool for the jumboframe size, which results in an
    error in openvswitch-vswitch logs.

    This change moves the mtu update request into ovsdb transaction.

    Closes-Bug: #1959586
    Change-Id: I1acd74efc100c6f949b5c72525c455aebfa2c50e
    (cherry picked from commit 2f55e9ea06f975240e3ff5aff21195ec6af76193)

tags: added: in-stable-zed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to os-vif (stable/yoga)

Reviewed: https://review.opendev.org/c/openstack/os-vif/+/863994
Committed: https://opendev.org/openstack/os-vif/commit/cf9c15d034b534e50b456a8a2f6b6a4d5b89a24b
Submitter: "Zuul (22348)"
Branch: stable/yoga

commit cf9c15d034b534e50b456a8a2f6b6a4d5b89a24b
Author: Rajesh Tailor <email address hidden>
Date: Thu Sep 15 16:23:44 2022 +0530

    Move mtu update request into ovsdb transaction

    os-vif currently set the requested mtu as part of separate request
    to the port add command. As a result the port is initially created
    with mbufer pool for the jumboframe size, which results in an
    error in openvswitch-vswitch logs.

    This change moves the mtu update request into ovsdb transaction.

    Closes-Bug: #1959586
    Change-Id: I1acd74efc100c6f949b5c72525c455aebfa2c50e
    (cherry picked from commit 2f55e9ea06f975240e3ff5aff21195ec6af76193)
    (cherry picked from commit 51b7f486318d1b2d61f2079b615cc406dca10188)

tags: added: in-stable-yoga
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to os-vif (stable/xena)

Reviewed: https://review.opendev.org/c/openstack/os-vif/+/863995
Committed: https://opendev.org/openstack/os-vif/commit/8d14a1c6a9eeaef0fdae9ea1210d3310a3498d78
Submitter: "Zuul (22348)"
Branch: stable/xena

commit 8d14a1c6a9eeaef0fdae9ea1210d3310a3498d78
Author: Rajesh Tailor <email address hidden>
Date: Thu Sep 15 16:23:44 2022 +0530

    Move mtu update request into ovsdb transaction

    os-vif currently set the requested mtu as part of separate request
    to the port add command. As a result the port is initially created
    with mbufer pool for the jumboframe size, which results in an
    error in openvswitch-vswitch logs.

    This change moves the mtu update request into ovsdb transaction.

    Closes-Bug: #1959586
    Change-Id: I1acd74efc100c6f949b5c72525c455aebfa2c50e
    (cherry picked from commit 2f55e9ea06f975240e3ff5aff21195ec6af76193)
    (cherry picked from commit 51b7f486318d1b2d61f2079b615cc406dca10188)
    (cherry picked from commit cf9c15d034b534e50b456a8a2f6b6a4d5b89a24b)

tags: added: in-stable-xena
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/os-vif 2.6.1

This issue was fixed in the openstack/os-vif 2.6.1 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/os-vif 2.7.2

This issue was fixed in the openstack/os-vif 2.7.2 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.