diff --git a/geant/gap_ansible/playbooks/l3_core_service.yaml b/geant/gap_ansible/playbooks/l3_core_service.yaml index 67139f81ab809941dfe0a2b786b3c34921ac06b9..6a3b921c493adfc2c3bd36b2c7ca172da9c5f572 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: