Bug 1766930 - Add support in tripleo for distributed vlan traffic in ovn
Summary: Add support in tripleo for distributed vlan traffic in ovn
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-tripleo-heat-templates
Version: 16.1 (Train)
Hardware: Unspecified
OS: Unspecified
high
medium
Target Milestone: z9
: 16.1 (Train on RHEL 8.2)
Assignee: Brent Eagles
QA Contact: Fiorella Yanac
URL:
Whiteboard:
: 1833366 (view as bug list)
Depends On:
Blocks: 1561880 1704596 1826364 2102017
TreeView+ depends on / blocked
 
Reported: 2019-10-30 10:10 UTC by Kamil Sambor
Modified: 2023-12-15 16:53 UTC (History)
21 users (show)

Fixed In Version: openstack-tripleo-heat-templates-11.3.2-1.20220811183319.29a02c1.el8ost
Doc Type: No Doc Update
Doc Text:
Clone Of:
: 2009222 2101937 2102017 (view as bug list)
Environment:
Last Closed: 2022-11-14 20:13:22 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Launchpad 1881593 0 None None None 2020-06-01 12:51:19 UTC
OpenStack gerrit 776210 0 None MERGED Set external_ids:ovn-chassis-mac-mappings 2022-06-22 14:20:15 UTC
OpenStack gerrit 777569 0 None MERGED Set ovn_chassis_mac_map in ovn::controller 2022-06-22 14:20:16 UTC
OpenStack gerrit 811890 0 None ABANDONED ovn: Do not set reside-on-redirect-chassis on distributed FIP 2022-06-22 14:20:16 UTC
OpenStack gerrit 813793 0 None MERGED Make template ovn_chassis_mac_map backwards-compatible 2022-06-22 14:20:17 UTC
OpenStack gerrit 813794 0 None MERGED Add ovn_chassis_mac_map to ExtraConfig role 2022-06-22 14:20:18 UTC
OpenStack gerrit 827145 0 None MERGED Make template ovn_chassis_mac_map backwards-compatible 2022-06-22 14:20:18 UTC
OpenStack gerrit 827146 0 None MERGED Add ovn_chassis_mac_map to ExtraConfig role 2022-08-11 19:06:09 UTC
Red Hat Issue Tracker OSP-3992 0 None None None 2021-11-18 14:46:38 UTC
Red Hat Knowledge Base (Solution) 6978350 0 None None None 2022-09-30 10:18:49 UTC

Description Kamil Sambor 2019-10-30 10:10:28 UTC
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 .

In case when we have NeutronBridgeMappings='datacentre:br-ex' then for every compute node we need to generate mac and addset it in ovn_controller to external_ids:ovn-chassis-mac-mappings: 'datacentre:generated_mac' [0]


[0] https://github.com/ovn-org/ovn/blob/master/controller/ovn-controller.8.xml#L199

Comment 2 Daniel Alvarez Sanchez 2020-04-30 15:37:25 UTC
As mentioned in the BZ description, to achieve this we require to populate local OVSDBs with 'external_ids:ovn-chassis-mac-mappings'.

But also from Neutron, we need to remove the 'reside-on-redirect' option from the LRPs, basically partially reverting this:
https://github.com/openstack/networking-ovn/commit/d22cc2a0dc8de7b792dc4be471277167fc2a94d3

Comment 5 Jakub Libosvar 2020-06-11 08:53:34 UTC
*** Bug 1833366 has been marked as a duplicate of this bug. ***

Comment 17 Andrew Austin 2021-09-14 17:39:52 UTC
Using the 16.2 RC which seems to contain these patches, external_ids:ovn-chassis-mac-mappings is not populated without patching some stuff in THT and the Ansible roles.

Ansible (Changed output JSON file to be properly formatted for hiera):

(osp1) [stack@osp1-director tripleo-hieradata]$ cat templates/ovn_chassis_mac_map.j2 

{% set ovn_chassis_mac_map_data = {} %}
{% set _ = ovn_chassis_mac_map_data.__setitem__('ovn_chassis_mac_map', hostvars[inventory_hostname].get('ovn_chassis_mac_map', {})) %}
{# RENDER #}
{{ ovn_chassis_mac_map_data | to_nice_json }}


THT (Added ovn_chassis_mac_map to hieradata_files):

(osp1) [stack@osp1-director openstack-tripleo-heat-templates]$ grep -C 20 ovn_chassis overcloud.j2.yaml 
            - {get_param: {{role.deprecated_param_extraconfig}}}
{%- endif %}
            - {get_param: {{role.name}}ExtraConfig}
        extraconfig: {get_param: ExtraConfig}
        hieradata_files:
          - '%{::uuid}'
          - fqdn
          - docker_puppet # Optionally provided by container-puppet.py
          - ansible_managed
          - heat_config_%{::deploy_config_name}
          - config_step
          - role_extraconfig
          - extraconfig
          - pci_passthrough_whitelist
          - service_names
          - service_configs
          - cloud_domain
          - bootstrap_node # provided by tripleo-hieradata
          - all_nodes # provided by tripleo-hieradata
          - vip_data # provided by tripleo-hieradata
          - ovn_chassis_mac_map # provided by tripleo-hieradata
          - net_ip_map
          - '%{::osfamily}'
          # The following are required for compatibility with the Controller role
          # where some vendor integrations added hieradata via ExtraConfigPre
          - neutron_bigswitch_data # Optionally provided by Controller/ComputeExtraConfigPre
          # Special variable for upgrade
          - upgrade

Comment 27 Brent Eagles 2022-06-27 18:31:12 UTC
We need https://review.opendev.org/c/openstack/python-tripleoclient/+/847194 for things to work properly in u/s CI. The problem appears to be standalone specific.

Comment 40 Jakub Libosvar 2022-11-14 20:13:22 UTC
This is fixed in 16.2 - bug 2102017


Note You need to log in before you can comment on or make changes to this bug.