Set source IPv4 address from inventory vars
Currently users have to pass in a dictionary of HOSTNAME:SOURCE_IPV4 of all nodes in the deployment. An example is as follows from THT: FrrBgpIpv4LoopbackMap: ctrl-1-0: 99.99.1.1 ctrl-2-0: 99.99.2.1 ctrl-3-0: 99.99.3.1 cmp-1-0: 99.99.1.2 cmp-2-0: 99.99.2.2 cmp-3-0: 99.99.3.2 cmp-1-1: 99.99.1.3 cmp-2-1: 99.99.2.3 cmp-3-1: 99.99.3.3 This is rather time consuming, prone to typos and requires updating at node scale up/down. It would be much easier if users could just pass in the network and have tripleo_frr get the IP from given network. Snip from tripleo-ansible-inventory.yaml: ControllerRack1: hosts: ctrl-1-0: {ansible_host: 192.168.1.101, canonical_hostname: ctrl-1-0.bgp.ftw, main_network_hostname: ctrl-1-0.mainnetwork.bgp.ftw, main_network_ip: 99.99.1.1, [...] Change-Id: I43852cb3570b8cb12a35f4bc641a42ddfd8ad7f1
This commit is contained in:
parent
fdd711a7be
commit
7d89d70342
@ -23,6 +23,7 @@ tripleo_frr_bfd: false
|
||||
tripleo_frr_bgp: false
|
||||
tripleo_frr_bgp_ipv4: true
|
||||
tripleo_frr_bgp_ipv4_allowas_in: false
|
||||
tripleo_frr_bgp_ipv4_src_network: ctlplane
|
||||
tripleo_frr_bgp_ipv6: true
|
||||
tripleo_frr_bgp_ipv6_allowas_in: false
|
||||
tripleo_frr_bgp_uplinks_scope: internal
|
||||
@ -31,4 +32,3 @@ tripleo_frr_hostname: "{{ ansible_hostname }}"
|
||||
tripleo_frr_log_level: informational
|
||||
tripleo_frr_watchfrr: true
|
||||
tripleo_frr_zebra: false
|
||||
tripleo_frr_bgp_ipv4_default_src_map: {}
|
||||
|
@ -44,13 +44,11 @@ router bgp {{ tripleo_frr_bgp_asn }}
|
||||
ip prefix-list only-default permit 0.0.0.0/0
|
||||
ip prefix-list only-host-prefixes permit 0.0.0.0/0 ge 32
|
||||
|
||||
{% if tripleo_frr_bgp_ipv4_default_src_map|length > 0 and tripleo_frr_hostname in tripleo_frr_bgp_ipv4_default_src_map %}
|
||||
route-map rm-only-default permit 10
|
||||
match ip address prefix-list only-default
|
||||
set src {{ tripleo_frr_bgp_ipv4_default_src_map[tripleo_frr_hostname] }}
|
||||
set src {{ hostvars[inventory_hostname][tripleo_frr_bgp_ipv4_src_network ~ '_ip'] }}
|
||||
|
||||
ip protocol bgp route-map rm-only-default
|
||||
{% endif %} {# tripleo_frr_bgp_ipv4_default_src_map #}
|
||||
{% endif %} {# tripleo_frr_bgp_ipv4 #}
|
||||
|
||||
{% if tripleo_frr_bgp_ipv6 %}
|
||||
|
Loading…
Reference in New Issue
Block a user