ansible-role-frrouting/tasks/frr_post_install.yml
Dmitriy Rabotyagov 3cb0aad164 Add support for FRR reload
In case of configuration changes it's better to reload FRR rather then
perform restart. Actions towards FRR lead to networking downtime until
connection is established and required routes reconciled.

To reduce the downtime let's reload FRR in case of simple config changes

Change-Id: I83746f3a101dc0f678a4a82d02160fc1fa8d8e52
2024-12-27 21:35:08 +01:00

46 lines
1.4 KiB
YAML

---
# Copyright 2020, VEXXHOST, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Configure frr
become: true
become_user: root
block:
- name: Enable integrated config
lineinfile:
create: true
path: /etc/frr/vtysh.conf
regexp: '^(no)?\s?service integrated-vtysh-config$'
line: "service integrated-vtysh-config"
mode: "0640"
notify: Reload frr
- name: Write down integrated config
template:
src: frr.conf.j2
dest: "{{ frr_integrated_config_path }}"
owner: frr
group: frr
mode: "0640"
validate: /usr/bin/vtysh -C -f %s
notify: Reload frr
- name: Configure supported daemons
lineinfile:
path: /etc/frr/daemons
line: "{{ item.key }}={{ item.value | bool | ternary('yes', 'no') }}"
regexp: "^{{ item.key }}"
with_dict: "{{ frr_daemons }}"
notify: Restart frr