OpenStack-Ansible FRRouting role

This role installs and configures FRRouting for providing support of dynamic routing protocols, like BGP, OSPF, etc.

It is also used as a backend for OVN BGP Agent implementations.

To clone or view the source code for this repository, visit the role repository for frrouting.

Sample configuration

frr_staticd_routes:
  - ip route 10.0.0.0/24 192.168.1.10
frr_bgpd_config:
  - router bgp 1234
  - "bgp router-id 172.18.0.2"
  - "neighbor 172.18.0.3 remote-as 5678"
  - network 192.168.1.0/24
  - address-family ipv4 unicast
  - "  neighbor 172.18.0.3 prefix-list pl-allowed-adv out"
  - "exit-address-family"
  - ip prefix-list pl-allowed-adv seq 5 permit 192.168.1.0/24
  - ip prefix-list pl-allowed-adv seq 10 deny any

Default variables

# Set with list of vlans that needs to be configured
# frr_vlans:
#   - vlan-raw-device: eth0
#     id: 100
#     address: 192.168.1.100
#     netmask: 255.255.255.0
#     network: 192.168.1.0
#     broadcast: 192.168.1.255
#     gateway: 192.168.1.1
#     mtu: 1496
#     up: route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1
#     down: route del -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1
frr_vlans: []

frr_integrated_config_path: /etc/frr/frr.conf
frr_profile: traditional
frr_staticd_routes: []
frr_bgpd_config: []
frr_bgpd_enable: "{{ (frr_bgpd_config | length > 0) }}"
frr_daemons:
  bgpd: "{{ frr_bgpd_enable }}"

frr_repos_keys: "{{ _frr_repos_keys | default([]) }}"
frr_repos: "{{ _frr_repos | default([]) }}"
frr_distro_packages: "{{ _frr_distro_packages | default([]) }}"

Example playbook

---

- name: Installing frr
  hosts: frr
  become: true
  become_user: root
  roles:
    - role: "frrouting"