ovn: make DVR work on VLAN tenant networks

In order for DVR to work on VLAN tenant networks we need to configure
external_ids:ovn-chassis-mac-mappings with per node generated MAC [1]
on computes [1].

This cherrypick is a stable/victoria version of 780919 change [2]

[1]: 1fed74cfc1
[2]: https://review.opendev.org/c/openstack/kolla-ansible/+/780919

Co-Authored-By: Bartosz Bezak <bartosz@stackhpc.com>

Depends-On: https://review.opendev.org/c/openstack/neutron/+/785131
Change-Id: I3a3ccde5b9ef2afb4c3e9206f13827687880cb57
(cherry picked from commit aff99355d2)
This commit is contained in:
Michał Nasiadka
2021-03-16 17:07:22 +01:00
committed by Bartosz Bezak
parent 570f46d218
commit 2f062e3b3a
3 changed files with 15 additions and 0 deletions

View File

@@ -88,5 +88,7 @@ ovn_sb_db_extra_volumes: "{{ ovn_extra_volumes }}"
#####
# OVN
#####
# Base MAC for ovn-chassis-mac-mappings generation
ovn_base_mac: "52:54:00"
# Configure OVN remote probe interval time in ms
ovn_remote_probe_interval: "60000"

View File

@@ -36,6 +36,14 @@
- inventory_hostname in groups["openvswitch"]
- inventory_hostname not in groups["ovn-controller-network"]
- name: Set OVN chassis mac mappings
vars:
ovn_macs: "{% for bridge in neutron_bridge_name.split(',') %}physnet{{ loop.index0 + 1 }}:{{ ovn_base_mac | random_mac(seed=inventory_hostname+bridge) }}{% if not loop.last %},{% endif %}{% endfor %}"
become: true
command: docker exec openvswitch_vswitchd ovs-vsctl set Open_vSwitch . external_ids:ovn-chassis-mac-mappings={{ ovn_macs }}
when:
- inventory_hostname in groups["ovn-controller-compute"]
- name: Set OVN remote probe interval
become: true
command: >

View File

@@ -0,0 +1,5 @@
---
features:
- |
OVN deployment will now configure ``external_ids:ovn-chassis-mac-mappings``
to make DVR work on VLAN tenant networks.