From c22470e2041e573ecab69da34ae2868a962f83bb Mon Sep 17 00:00:00 2001
From: Aleksandr Kurbatov <aleksandr.kurbatov@GL1342-AKURBATOV.local>
Date: Wed, 28 Aug 2024 21:56:52 +0100
Subject: [PATCH] BGP neighbor template update
Added for the use-case of Kentik:
- support for the `hold-time`
- support for the auth_key
- support for the `cluster-id`
---
.../routers/nokia/router/bgp_neighbor.j2 | 29 +++++++++++++++----
1 file changed, 23 insertions(+), 6 deletions(-)
diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/bgp_neighbor.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/bgp_neighbor.j2
index 12bf86f8..debe6613 100644
--- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/bgp_neighbor.j2
+++ b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/bgp_neighbor.j2
@@ -3,27 +3,44 @@
<ip-address>{{ neighbor.ip }}</ip-address>
<description>{{ neighbor.description }}</description>
<group>{{ neighbor.group }}</group>
- {% if neighbor.families is defined %}
+ {% if neighbor.auth_key is defined %}
+ <authentication-key>{{ neighbor.auth_key }</authentication-key>
+ {% endif %}
+ {% if neighbor.hold_time is defined %}
+ <hold-time>
+ <seconds>{{ neighbor.hold_time }}</seconds>
+ </hold-time>
+ {% endif %}
+ {% if neighbor.families is defined %}
<family>
{% for family in neighbor.families %}
<{{ family }}>true</{{ family }}>
{% endfor %}
</family>
- {% endif %}
- {% if neighbor.policies.import is defined %}
+ {% endif %}
+ {% if neighbor.policies.import is defined %}
<import>
{% for imp_pol in neighbor.policies.import %}
<policy>{{ imp_pol }}</policy>
{% endfor %}
</import>
- {% endif %}
- {% if neighbor.policies.export is defined %}
+ {% endif %}
+ {% if neighbor.policies.export is defined %}
<export>
{% for exp_pol in neighbor.policies.export %}
<policy>{{ exp_pol }}</policy>
{% endfor %}
</export>
- {% endif %}
+ {% endif %}
+ {% if neighbor.cluster_id is defined %}
+ <cluster>
+ {% if neighbor.cluster_id == 'system' %}
+ <cluster-id>{{ lo_ipv4_address }}</cluster-id>
+ {% else %}
+ <cluster-id>{{ neighbor.cluster_id }}</cluster-id>
+ {% endif %}
+ </cluster>
+ {% endif %}
</neighbor>
{% endfor %}
--
GitLab