nova-compute is not setting MTU at all when following the plug_ovs_bridge() call path

Bug #1665798 reported by Kent Wu
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Expired
Undecided
Unassigned

Bug Description

Here is the specific code path I was talking about:

https://github.com/openstack/nova/blob/stable/mitaka/nova/virt/libvirt/vif.py#L531

As you can see in the code,

1. self.plug_ovs_hybrid(instance, vif) -> self._plug_bridge_with_port() which will take care of creation of Linux bridge and setting of MTU properly.

2. however self.plug_ovs_bridge(instance, vif) itself does nothing so MTU is not being set/honored at all. The end-result of this is that the MTU of the VM's tap interface remains 1500 instead of honoring the MTU of the corresponding neutron network.....Note that in this code path we don't need to create the Linux bridge and veth pair at all however we still need to set the MTU properly for the VM tap interface.

We believe this is an overlook from this MTU feature patch:
https://review.openstack.org/#/c/285710/

Let us know if you need more info then.

Kent Wu (wu-o)
description: updated
Revision history for this message
Jun Park (jun-park-earth) wrote :

Particularly, this issue causes the connectivity problem between two VMs on two different hosts when they are based on a VxLAN private network. In this case, the default MTU size of 1500 bytes is not working due to the overhead of VxLAN header size.

Here is an example of the problem.

VM A runs on host B and VM C runs on host D. Each VM has a VxLAN-based private network interface. VM A has its own floating IP as well.

From a laptop, a user logins to VM A via its floating IP. And then, when s/he logins from VM A to VM B using the private IP of VM B, it fails due to the VxLAN overhead when MTU is 1500 bytes.

Only after manually increasing the MTU size of the tap interfaces of VM A and VM B to a jumbo frame, it is possible to login from VM A to VM B via their private IPs.

I think this is a serious bug.

Revision history for this message
Sean Dague (sdague) wrote :

Automatically discovered version mitaka in description. If this is incorrect, please update the description to include 'nova version: ...'

tags: added: openstack-version.mitaka
Revision history for this message
Sean Dague (sdague) wrote :

The github link no longer seems to work, can you update this with more information about what you expect would be changing in the code.

Changed in nova:
status: New → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for OpenStack Compute (nova) because there has been no activity for 60 days.]

Changed in nova:
status: Incomplete → Expired
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.