Skip to content
Snippets Groups Projects

Make `bgpq` command a variable with default set to bgpq3

Merged Aleksandr Kurbatov requested to merge feature/bgpq-depending-on-env into develop
2 files
+ 14
12
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -3,15 +3,15 @@
@@ -3,15 +3,15 @@
- name: Collect prefixes and render the prefix template
- name: Collect prefixes and render the prefix template
delegate_to: localhost
delegate_to: localhost
block:
block:
- name: Collect IPV4 routes from bgpq4
- name: Collect IPV4 routes from {{ bgpq_ver }}
ansible.builtin.command: bgpq4 -j4 "{{ partner.as_set }}"
ansible.builtin.command: "{{ bgpq_ver }} -j4 {{ partner.as_set }}"
register: bgpq4_ipv4_routes_in_json
register: bgpq_ipv4_routes_in_json
changed_when: true
changed_when: true
- name: Convert IPV4 output to real json
- name: Convert IPV4 output to real json
ansible.builtin.set_fact:
ansible.builtin.set_fact:
ipv4_prefix_list_name: "{{ partner_name | upper }}_{{ partner.type }}_PREFIXES_IPV4"
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
- name: Fail if IPV4 routes list lenght is too short
when: routes.NN | length <= 1
when: routes.NN | length <= 1
@@ -19,19 +19,19 @@
@@ -19,19 +19,19 @@
- name: Form IPV4 route object
- name: Form IPV4 route object
ansible.builtin.set_fact:
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 }}"
loop: "{{ routes.NN }}"
- name: Collect IPV6 routes from bgpq4
- name: Collect IPV6 routes from {{ bgpq_ver }}
ansible.builtin.command: bgpq4 -j6 "{{ partner.as_set }}"
ansible.builtin.command: "{{ bgpq_ver }} -j6 {{ partner.as_set }}"
register: bgpq4_ipv6_routes_in_json
register: bgpq_ipv6_routes_in_json
changed_when: true
changed_when: true
- name: Convert IPV6 outeput to real json
- name: Convert IPV6 outeput to real json
ansible.builtin.set_fact:
ansible.builtin.set_fact:
ipv6_prefix_list_name: "{{ partner_name | upper }}_{{ partner.type }}_PREFIXES_IPV6"
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
- name: Fail if IPV6 routes list lenght is too short
when: routes.NN | length <= 1
when: routes.NN | length <= 1
@@ -39,13 +39,13 @@
@@ -39,13 +39,13 @@
- name: Form IPV6 route object
- name: Form IPV6 route object
ansible.builtin.set_fact:
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 }}"
loop: "{{ routes.NN }}"
- name: Put everything together
- name: Put everything together
ansible.builtin.set_fact:
ansible.builtin.set_fact:
nren_prefix_lists: "{{ nren_prefix_lists | default([]) + [{'name': ipv4_prefix_list_name, 'prefixes': bgpq4_ipv4_routes},
nren_prefix_lists: "{{ nren_prefix_lists | default([]) + [{'name': ipv4_prefix_list_name, 'prefixes': bgpq_ipv4_routes},
{'name': ipv6_prefix_list_name, 'prefixes': bgpq4_ipv6_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"
- name: Print the template in "/var/tmp/ansible_run_{{ opid }}/{{ partner_name }}_prefix_lists.conf"
ansible.builtin.template:
ansible.builtin.template:
Loading