Configure VM interfaces in macvtap passthrough mode

Tenks currently uses macvtap interfaces in 'VEPA' mode for the VMs. If the VMs
run any virtual networking internally, typically this will use a different MAC
address, which will not be reachable from outside due to the macvtap MAC
filtering.

This change uses macvtap 'passthrough' mode, such that all traffic is passed.

Change-Id: I0077c7001b2b419a94ea420833fa6dd3e8a3a967
Story: 2004906
Task: 29256
This commit is contained in:
Mark Goddard 2019-01-31 14:36:43 +00:00
parent c5c18ce04f
commit dcc25d8524
2 changed files with 10 additions and 1 deletions

View File

@ -70,9 +70,12 @@ def set_libvirt_interfaces(context, node):
"""
node['interfaces'] = []
for physnet in node.get('physical_networks', []):
# Use macvtap 'passthrough' mode, since this does not filter packets
# based on MAC address of the interface.
node['interfaces'].append(
{'type': 'direct',
'source': {'dev': source_link_name(context, node, physnet)}}
'source': {'dev': source_link_name(context, node, physnet),
'mode': 'passthrough'}}
)
return node

View File

@ -0,0 +1,6 @@
---
fixes:
- |
Fixes an issue where deployed VMs can't be reached on a different MAC
address than the one originally assigned. See `story 2004906
<https://storyboard.openstack.org/#!/story/2004906>`__ for details.