From 8020ca7d25dc67dc5501c67f4a12a1fd9762a7a5 Mon Sep 17 00:00:00 2001 From: Carlos Goncalves Date: Mon, 18 Jan 2021 15:53:47 +0100 Subject: [PATCH] Map nicX abstraction to phys interface name Map os-net-config nicX abstraction to physical interface names. $ os-net-config -i {'nic1': 'eth0', 'nic2': 'eth1'} Change-Id: I34a2da66d24a20926394be32e2679f316c821ac6 --- .../roles/tripleo_frr/tasks/main.yml | 22 ++++++++++++++++++- .../roles/tripleo_frr/templates/frr.conf.j2 | 2 +- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/tripleo_ansible/roles/tripleo_frr/tasks/main.yml b/tripleo_ansible/roles/tripleo_frr/tasks/main.yml index 184306846..1f7b96089 100644 --- a/tripleo_ansible/roles/tripleo_frr/tasks/main.yml +++ b/tripleo_ansible/roles/tripleo_frr/tasks/main.yml @@ -1,5 +1,5 @@ --- -# Copyright 2020 Red Hat, Inc. +# Copyright 2021 Red Hat, Inc. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may @@ -23,6 +23,26 @@ selevel: s0 setype: container_file_t +- name: identify the real interfaces via os-net-config + shell: os-net-config -i + register: os_net_config_result + +- name: os-net-config from json + set_fact: + iface_map: "{{ os_net_config_result.stdout }}" + +- name: FRR uplink interfaces + block: + - name: construct FRR uplink interfaces from os-net-config mappings + set_fact: + tripleo_frr_bgp_uplinks_mapped: "{{ tripleo_frr_bgp_uplinks | map('extract', iface_map) | list }}" + rescue: + - name: failed to construct FRR uplink interfaces + ansible.builtin.fail: + msg: | + Failed to map at least one interface from {{ tripleo_frr_bgp_uplinks }} to {{ iface_map }}. + Please check value of Ansible variable tripleo_frr_bgp_uplinks. + - name: configure FRR become: true ansible.builtin.template: diff --git a/tripleo_ansible/roles/tripleo_frr/templates/frr.conf.j2 b/tripleo_ansible/roles/tripleo_frr/templates/frr.conf.j2 index abe4e7652..34ef78a8c 100644 --- a/tripleo_ansible/roles/tripleo_frr/templates/frr.conf.j2 +++ b/tripleo_ansible/roles/tripleo_frr/templates/frr.conf.j2 @@ -15,7 +15,7 @@ router bgp {{ tripleo_frr_bgp_asn }} {% if tripleo_frr_bfd %} neighbor uplink bfd {% endif %} -{% for iface in tripleo_frr_bgp_uplinks %} +{% for iface in tripleo_frr_bgp_uplinks_mapped %} neighbor {{ iface }} interface peer-group uplink {% endfor %}