From f0e96991d0806875df4da4d9ad61cdf9b7d685e0 Mon Sep 17 00:00:00 2001
From: Aleksandr Kurbatov <ak@geant.org>
Date: Fri, 13 Dec 2024 14:51:41 +0000
Subject: [PATCH] Make `bgpq` command a variable with default set to bgpq3

---
 .../roles/po_prefix_lists/tasks/main.yml      | 24 +++++++++----------
 .../roles/po_prefix_lists/vars/main.yml       |  2 ++
 2 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/geant/gap_ansible/roles/po_prefix_lists/tasks/main.yml b/geant/gap_ansible/roles/po_prefix_lists/tasks/main.yml
index 966e0cb0..44173e1d 100644
--- a/geant/gap_ansible/roles/po_prefix_lists/tasks/main.yml
+++ b/geant/gap_ansible/roles/po_prefix_lists/tasks/main.yml
@@ -3,15 +3,15 @@
 - name: Collect prefixes and render the prefix template
   delegate_to: localhost
   block:
-    - name: Collect IPV4 routes from bgpq4
-      ansible.builtin.command: bgpq4 -j4 "{{ partner.as_set }}"
-      register: bgpq4_ipv4_routes_in_json
+    - name: Collect IPV4 routes from {{ bgpq_ver }}
+      ansible.builtin.command: "{{ bgpq_ver }} -j4 {{ partner.as_set }}"
+      register: bgpq_ipv4_routes_in_json
       changed_when: true
 
     - name: Convert IPV4 output to real json
       ansible.builtin.set_fact:
         ipv4_prefix_list_name: "{{ partner_name | upper }}_{{ partner.type }}_PREFIXES_IPV4"
-        routes: "{{ bgpq4_ipv4_routes_in_json.stdout | from_json }}"
+        routes: "{{ bgpq_ipv4_routes_in_json.stdout | from_json }}"
 
     - name: Fail if IPV4 routes list lenght is too short
       when: routes.NN | length  <= 1
@@ -19,19 +19,19 @@
 
     - name: Form IPV4 route object
       ansible.builtin.set_fact:
-        bgpq4_ipv4_routes: "{{ bgpq4_ipv4_routes | default([]) + [item.prefix] }}"
+        bgpq_ipv4_routes: "{{ bgpq_ipv4_routes | default([]) + [item.prefix] }}"
       loop: "{{ routes.NN }}"
 
 
-    - name: Collect IPV6 routes from bgpq4
-      ansible.builtin.command: bgpq4 -j6 "{{ partner.as_set }}"
-      register: bgpq4_ipv6_routes_in_json
+    - name: Collect IPV6 routes from {{ bgpq_ver }}
+      ansible.builtin.command: "{{ bgpq_ver }} -j6 {{ partner.as_set }}"
+      register: bgpq_ipv6_routes_in_json
       changed_when: true
 
     - name: Convert IPV6 outeput to real json
       ansible.builtin.set_fact:
         ipv6_prefix_list_name: "{{ partner_name | upper }}_{{ partner.type }}_PREFIXES_IPV6"
-        routes: "{{ bgpq4_ipv6_routes_in_json.stdout | from_json }}"
+        routes: "{{ bgpq_ipv6_routes_in_json.stdout | from_json }}"
 
     - name: Fail if IPV6 routes list lenght is too short
       when: routes.NN | length  <= 1
@@ -39,13 +39,13 @@
 
     - name: Form IPV6 route object
       ansible.builtin.set_fact:
-        bgpq4_ipv6_routes: "{{ bgpq4_ipv6_routes | default([]) + [item.prefix] }}"
+        bgpq_ipv6_routes: "{{ bgpq_ipv6_routes | default([]) + [item.prefix] }}"
       loop: "{{ routes.NN }}"
 
     - name: Put everything together
       ansible.builtin.set_fact:
-        nren_prefix_lists: "{{ nren_prefix_lists | default([]) + [{'name': ipv4_prefix_list_name, 'prefixes': bgpq4_ipv4_routes},
-                                                                  {'name': ipv6_prefix_list_name, 'prefixes': bgpq4_ipv6_routes}] }}"
+        nren_prefix_lists: "{{ nren_prefix_lists | default([]) + [{'name': ipv4_prefix_list_name, 'prefixes': bgpq_ipv4_routes},
+                                                                  {'name': ipv6_prefix_list_name, 'prefixes': bgpq_ipv6_routes}] }}"
 
     - name: Print the template in "/var/tmp/ansible_run_{{ opid }}/{{ partner_name }}_prefix_lists.conf"
       ansible.builtin.template:
diff --git a/geant/gap_ansible/roles/po_prefix_lists/vars/main.yml b/geant/gap_ansible/roles/po_prefix_lists/vars/main.yml
index 38f88d46..634d8425 100644
--- a/geant/gap_ansible/roles/po_prefix_lists/vars/main.yml
+++ b/geant/gap_ansible/roles/po_prefix_lists/vars/main.yml
@@ -1,3 +1,5 @@
 ---
 # vars file for prefix_lists
 is_standalone_run: false
+
+bgpq_ver: bgpq3
-- 
GitLab