From 9cabed9d27bc7e91878814a21a889e416fc2ebd3 Mon Sep 17 00:00:00 2001 From: Kamil Sambor Date: Thu, 25 Feb 2021 11:59:03 +0100 Subject: [PATCH] Set ovn_chassis_mac_map in ovn::controller For distributed vlan in ovn we need to add support of creating mac addresses per compute and seting them in external_ids:ovn-chassis-mac-mappings. Depends-On: https://review.opendev.org/782765 Related-Bug: #1881593 Change-Id: I785400969efba0062aabdca9af2726a7603ef840 (cherry picked from commit ef44eebdc56b839bfbdcb7190c1c1e1ce4fe46d6) (cherry picked from commit 06f2a09393d00dcc87cb3ce73d56dabd94782ce0) (cherry picked from commit 15d65f57dacd93228767b03f3931b44b2caf3384) --- manifests/profile/base/neutron/agents/ovn.pp | 22 +++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/manifests/profile/base/neutron/agents/ovn.pp b/manifests/profile/base/neutron/agents/ovn.pp index d22921cbc..774bdf1c6 100644 --- a/manifests/profile/base/neutron/agents/ovn.pp +++ b/manifests/profile/base/neutron/agents/ovn.pp @@ -33,15 +33,27 @@ # for more details. # Defaults to hiera('step') # +# [*ovn_chassis_mac_map*] +# (optional) A list of key-value pairs that map a chassis specific mac to +# a physical network name. An example +# value mapping two chassis macs to two physical network names would be: +# physnet1:aa:bb:cc:dd:ee:ff,physnet2:a1:b2:c3:d4:e5:f6 +# These are the macs that ovn-controller will replace a router port +# mac with, if packet is going from a distributed router port on +# vlan type logical switch. +# Defaults to hiera('ovn_chassis_mac_map') +# class tripleo::profile::base::neutron::agents::ovn ( - $ovn_db_host = hiera('ovn_dbs_vip'), - $ovn_sbdb_port = hiera('ovn::southbound::port'), - $protocol = 'tcp', - $step = Integer(hiera('step')) + $ovn_db_host = hiera('ovn_dbs_vip'), + $ovn_sbdb_port = hiera('ovn::southbound::port'), + $protocol = 'tcp', + $step = Integer(hiera('step')), + $ovn_chassis_mac_map = hiera('ovn_chassis_mac_map', undef), ) { if $step >= 4 { class { '::ovn::controller': - ovn_remote => join([$protocol, normalize_ip_for_uri($ovn_db_host), "${ovn_sbdb_port}"], ':'), + ovn_remote => join([$protocol, normalize_ip_for_uri($ovn_db_host), "${ovn_sbdb_port}"], ':'), + ovn_chassis_mac_map => $ovn_chassis_mac_map, } } }