From 92d7593361f94661c8579d88cec621a5ca3c938e Mon Sep 17 00:00:00 2001 From: Aleksandr Kurbatov <ak@geant.org> Date: Fri, 24 Jan 2025 15:51:07 +0000 Subject: [PATCH] l3_core_service playbook: Include PIM role if any of the BGP sessions have `mcast-` families --- .../playbooks/l3_core_service.yaml | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/geant/gap_ansible/playbooks/l3_core_service.yaml b/geant/gap_ansible/playbooks/l3_core_service.yaml index 67139f81..6a3b921c 100644 --- a/geant/gap_ansible/playbooks/l3_core_service.yaml +++ b/geant/gap_ansible/playbooks/l3_core_service.yaml @@ -75,6 +75,38 @@ - name: Compile BGP-related config when: object == "bgp" block: + - name: Set BGP V4 session object to check for custom policies + ansible.builtin.set_fact: + bgp_session_v4: "{{ ap.sbp | json_query(query) }}" + vars: + query: "bgp_session_list[?ip_type == 'ipv4'] | [0]" + loop: + "{{ subscription.l3_core_service.ap_list }}" + loop_control: + loop_var: ap + + - name: Set BGP V6 session object to check for custom policies + ansible.builtin.set_fact: + bgp_session_v6: "{{ ap.sbp | json_query(query) }}" + vars: + query: "bgp_session_list[?ip_type == 'ipv6'] | [0]" + loop: + "{{ subscription.l3_core_service.ap_list }}" + loop_control: + loop_var: ap + + - name: Include PIM role if V4 multicast is enabled + when: > + bgp_session_v4.families is contains('mcast-ipv4') or bgp_session_v6 is contains('mcast-ipv6') + and + subscription.l3_core_service_type in ["GÉANT IP", "GEANT IP", "GEANT_IP"] + ansible.builtin.include_role: + name: pim + loop: + "{{ subscription.l3_core_service.ap_list }}" + loop_control: + loop_var: ap + - name: Include Prefix-list role when: subscription.l3_core_service_type in ["GÉANT IP", "GEANT IP", "GEANT_IP"] ansible.builtin.include_role: -- GitLab