diff --git a/geant/gap_ansible/roles/base_config/vars/main.yml b/geant/gap_ansible/roles/base_config/vars/main.yml index 81deab47a7bf70ae361d85efb7c52a8491fece7e..63ed34d2b594a98b50abc41466e05f094d7f1d14 100644 --- a/geant/gap_ansible/roles/base_config/vars/main.yml +++ b/geant/gap_ansible/roles/base_config/vars/main.yml @@ -1,6 +1,7 @@ dry_run: "True" is_base_config_run: "True" is_verification_workflow: false +is_pe_promotion_wf: false verbs: - "compile" diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/pe_base_config.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/pe_promotion_base_config.j2 similarity index 100% rename from geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/pe_base_config.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/pe_promotion_base_config.j2 diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/pe_base_vprn.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/pe_promotion_base_vprn.j2 similarity index 100% rename from geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/pe_base_vprn.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/pe_promotion_base_vprn.j2 diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/pe_update_sdp.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/pe_update_sdp.j2 similarity index 100% rename from geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/pe_update_sdp.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/pe_update_sdp.j2 diff --git a/geant/gap_ansible/roles/bc_templates/routers/nokia/router/base_static_routes.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/base_static_routes.j2 index 3fc1919ea6b5275211dda574a0b7eb4bb73d8cb8..d7d5ff5e2fff092bef5fa09f3a4d5435c7eae225 100644 --- a/geant/gap_ansible/roles/bc_templates/routers/nokia/router/base_static_routes.j2 +++ b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/base_static_routes.j2 @@ -1,4 +1,4 @@ - {% if router_role == 'pe' %} + {% if router_role == 'pe' or is_pe_promotion_wf %} {% with static_routes_obj=nokia_pe_static_routes %} {% include 'router/static_routes.j2' %} {% endwith %} diff --git a/geant/gap_ansible/roles/bc_templates/routers/nokia/router/bgp.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/bgp.j2 index cf0811e51d32cda103612fe9a97aac280b29c7f4..f45754dcb21f50975bda15ee8da9e3237e9a1b57 100644 --- a/geant/gap_ansible/roles/bc_templates/routers/nokia/router/bgp.j2 +++ b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/bgp.j2 @@ -1,5 +1,5 @@ <bgp xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes"> -{% if router_role == 'pe' %} +{% if router_role == 'pe' or is_pe_promotion_wf %} {% with bgp_base_obj=pe_bgp_base, bgp_context='bgp_base' %} {% include 'router/bgp_base.j2' %} {% endwith %} diff --git a/geant/gap_ansible/roles/bc_templates/routers/nokia/router/router_base.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/router_base.j2 index 9d3c86932a1769be1dcb609deef12e91866c8291..72e72de54e7f001c6848670850a945c4dc9e585d 100644 --- a/geant/gap_ansible/roles/bc_templates/routers/nokia/router/router_base.j2 +++ b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/router_base.j2 @@ -1,9 +1,10 @@ <router xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes"> <router-name>Base</router-name> <autonomous-system xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes" alu:operation="replace">{{ geant_re_as_number }}</autonomous-system> - {% if router_role == 'pe' and pe_bgp_base.ecmp is defined %} + {% if (router_role == 'pe' or is_pe_promotion_wf) and pe_bgp_base.ecmp is defined %} <ecmp>{{ pe_bgp_base.ecmp }}</ecmp> - {% endif %} + {% endif %} + {% if not is_pe_promotion_wf %} <router-id xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes" alu:operation="replace">{{ lo_ipv4_address }}</router-id> <interface xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes"> <interface-name>system</interface-name> @@ -41,11 +42,12 @@ <interface-name>system</interface-name> </interface> </rsvp> - {% include 'router/base_static_routes.j2' %} - {% include 'router/bgp.j2' %} {% include 'router/isis.j2' %} {% include 'router/pim.j2' %} - {% if router_role == 'pe' %} + {% endif %} + {% include 'router/base_static_routes.j2' %} + {% include 'router/bgp.j2' %} + {% if router_role == 'pe' or is_pe_promotion_wf %} {% include 'router/flowspec.j2' %} {% include 'router/ldp.j2' %} {% include 'router/rpki.j2' %} diff --git a/geant/gap_ansible/roles/bc_templates/routers/nokia/service_vprn.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/service_vprn.j2 index 4d8a57d9b55922e0098b0e67e37a81b3d0aeec54..b588b730f0ec2ae552edd44345b70f9b2800fd42 100644 --- a/geant/gap_ansible/roles/bc_templates/routers/nokia/service_vprn.j2 +++ b/geant/gap_ansible/roles/bc_templates/routers/nokia/service_vprn.j2 @@ -8,5 +8,7 @@ </md-auto-id> {% include 'router/vprn.j2' %} </service> - {#{% include 'ip_prefix_list.j2' %}#} +{% if is_pe_promotion_wf %} + {% include 'ip_prefix_list.j2' %} +{% endif %} diff --git a/geant/gap_ansible/roles/promote_p_to_pe/tasks/compile.yaml b/geant/gap_ansible/roles/promote_p_to_pe/tasks/compile.yaml index 6208e177c9238a753ba6dd6c08b0d2b5075ec7dd..46a463d115d53af2bf99cbddf6acb4eb5eb019fb 100644 --- a/geant/gap_ansible/roles/promote_p_to_pe/tasks/compile.yaml +++ b/geant/gap_ansible/roles/promote_p_to_pe/tasks/compile.yaml @@ -15,21 +15,21 @@ mode: '0755' delegate_to: localhost -- name: Print the template in "/var/tmp/ansible_run_{{ opid }}/pe_base_config.conf" +- name: Print the template in "/var/tmp/ansible_run_{{ opid }}/pe_promotion_base_config.conf" when: verb == "deploy_pe_base_config" ansible.builtin.template: - src: "routers/{{ subscription.router.vendor }}/pe_base_config.j2" - dest: "/var/tmp/ansible_run_{{ opid }}/pe_base_config.conf" + src: "routers/{{ subscription.router.vendor }}/pe_promotion_base_config.j2" + dest: "/var/tmp/ansible_run_{{ opid }}/pe_promotion_base_config.conf" lstrip_blocks: true trim_blocks: true mode: '0755' delegate_to: localhost -- name: Print the template in "/var/tmp/ansible_run_{{ opid }}/pe_base_vprn.conf" +- name: Print the template in "/var/tmp/ansible_run_{{ opid }}/pe_promotion_base_vprn.conf" when: verb == "deploy_routing_instances" ansible.builtin.template: - src: "routers/{{ subscription.router.vendor }}/pe_base_vprn.j2" - dest: "/var/tmp/ansible_run_{{ opid }}/pe_base_vprn.conf" + src: "routers/{{ subscription.router.vendor }}/pe_promotion_base_vprn.j2" + dest: "/var/tmp/ansible_run_{{ opid }}/pe_promotion_base_vprn.conf" lstrip_blocks: true trim_blocks: true mode: '0755' diff --git a/geant/gap_ansible/roles/promote_p_to_pe/tasks/deploy.yaml b/geant/gap_ansible/roles/promote_p_to_pe/tasks/deploy.yaml index dbae83ee229ad12d4e0d68f717ccaa92aa391079..1533f1345a1369af906e3380d9cfa7caf811186d 100644 --- a/geant/gap_ansible/roles/promote_p_to_pe/tasks/deploy.yaml +++ b/geant/gap_ansible/roles/promote_p_to_pe/tasks/deploy.yaml @@ -5,7 +5,7 @@ geant.gap_ansible.nokia_netconf_config: format: xml default_operation: merge - content: "{{ lookup('ansible.builtin.template', 'routers/{{ subscription.router.vendor }}/pe_base_config.j2') }}" + content: "{{ lookup('ansible.builtin.template', 'routers/{{ subscription.router.vendor }}/pe_promotion_base_config.j2') }}" commit: true validate: true diff: true @@ -19,7 +19,7 @@ geant.gap_ansible.nokia_netconf_config: format: xml default_operation: merge - content: "{{ lookup('ansible.builtin.template', 'routers/{{ subscription.router.vendor }}/pe_base_vprn.j2') }}" + content: "{{ lookup('ansible.builtin.template', 'routers/{{ subscription.router.vendor }}/pe_promotion_base_vprn.j2') }}" commit: true validate: true diff: true @@ -69,7 +69,7 @@ geant.gap_ansible.nokia_netconf_config: format: xml default_operation: merge - content: "{{ lookup('ansible.builtin.template', 'routers/{{ subscription.router.vendor }}/pe_base_config.j2') }}" + content: "{{ lookup('ansible.builtin.template', 'routers/{{ subscription.router.vendor }}/pe_promotion_base_config.j2') }}" commit: true commit_comment: "{{ commit_comment }}" diff: true @@ -82,7 +82,7 @@ geant.gap_ansible.nokia_netconf_config: format: xml default_operation: merge - content: "{{ lookup('ansible.builtin.template', 'routers/{{ subscription.router.vendor }}/pe_base_vprn.j2') }}" + content: "{{ lookup('ansible.builtin.template', 'routers/{{ subscription.router.vendor }}/pe_promotion_base_vprn.j2') }}" commit: true commit_comment: "{{ commit_comment }}" diff: true diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates b/geant/gap_ansible/roles/promote_p_to_pe/templates new file mode 120000 index 0000000000000000000000000000000000000000..58acfcf695e82634b9682ed7e351504516814b99 --- /dev/null +++ b/geant/gap_ansible/roles/promote_p_to_pe/templates @@ -0,0 +1 @@ +../bc_templates \ No newline at end of file diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/cflowd.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/cflowd.j2 deleted file mode 100644 index ef8dcc9feaa4c0f5bb8e225f3e5e546dc432b375..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/cflowd.j2 +++ /dev/null @@ -1,29 +0,0 @@ -<cflowd xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes" alu:operation="replace"> - <cache-size>{{ cflowd.basic.cache_size }}</cache-size> - <enhanced-distribution>{{ cflowd.basic.enhanced_distribution }}</enhanced-distribution> - <overflow>{{ cflowd.basic.overflow }}</overflow> - <template-retransmit>{{ cflowd.basic.template_retransmit }}</template-retransmit> - <active-flow-timeout>{{ cflowd.basic.active_flow_timeout }}</active-flow-timeout> - <inactive-flow-timeout>{{ cflowd.basic.inactive_flow_timeout }}</inactive-flow-timeout> - {% if cflowd.sample_profiles is defined %} - {% for profile in cflowd.sample_profiles %} - <sample-profile> - <profile-id>{{ profile.id }}</profile-id> - <sample-rate>{{ profile.sample_rate }}</sample-rate> - <metering-process>{{ profile.metering_process }}</metering-process> - </sample-profile> - {% endfor %} - {% endif %} - {% if cflowd.collectors is defined %} - {% for collector in cflowd.collectors %} - <collector> - <ip-address>{{ collector.ip }}</ip-address> - <port>{{ collector.port }}</port> - <description>{{ collector.description }}</description> - <template-set>{{ collector.template_set }}</template-set> - <version>{{ collector.version }}</version> - </collector> - {% endfor %} - {% endif %} -</cflowd> - diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/filter_log.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/filter_log.j2 deleted file mode 100644 index 7ab3675a89a19a00aa2ff97342c90e8969fa8e11..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/filter_log.j2 +++ /dev/null @@ -1,18 +0,0 @@ - -<filter xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes"> - {% if pe_filter_logs is defined %} - {% for log in pe_filter_logs %} - <log alu:operation="replace"> - <log-id>{{ log.id }}</log-id> - <description>{{ log.description }}</description> - <destination> - {% if log.destination == 'syslog' %} - <syslog> - <name>1</name> - </syslog> - {% endif %} - </destination> - </log> - {% endfor %} - {% endif %} -</filter> diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/filters/cpm_filters.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/filters/cpm_filters.j2 deleted file mode 100644 index f7a35874dadee962cf9b5440db091dfba84de7f6..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/filters/cpm_filters.j2 +++ /dev/null @@ -1,12 +0,0 @@ -{% with is_cpm_filter=true, filters=cpm_filters %} -{% include "filters/port_list_definitions.j2" %} - -<system> - <security> - <cpm-filter xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes"> - <default-action>{{ cpm_filter_policy.default_action }}</default-action> - {% include "filters/fw_filters.j2" %} - </cpm-filter> -{% endwith %} - </security> -</system> diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/filters/fw_filters.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/filters/fw_filters.j2 deleted file mode 100644 index 4b804948c8cd8419f5c45cbe29e2be24986b861d..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/filters/fw_filters.j2 +++ /dev/null @@ -1,248 +0,0 @@ -{# Template is meant to be called from either gen_filters.j2 or cmp_filters.j2 #} -{% for filter in filters %} - {% if filter.family == "ipv4" %} - <ip-filter alu:operation="replace"> - {% elif filter.family == "ipv6" %} - <ipv6-filter alu:operation="replace"> - {% endif %} - {% if not is_cpm_filter %} - <filter-name>{{ filter.name }}</filter-name> - {% endif %} - {% if filter.offset is defined %} - {% set ns3 = namespace(entry_id = filter.offset | int) %} - {% else %} - {% set ns3 = namespace(entry_id = 10 | int) %} - {% endif %} - {% if is_cpm_filter %} - <admin-state>{{ filter.admin_state }}</admin-state> - {% endif %} - {% for term in filter.terms %} - {% if term.offset is defined %} - {% set ns3 = namespace(entry_id = term.offset | int) %} - {% endif %} - {% if term.from is not defined %} - <entry> - <entry-id>{{ ns3.entry_id }}</entry-id> - <description>{{ term.name }}</description> - {% if term.log is defined %} - <log>{{ term.log }}</log> - {% endif %} - <action> - <{{term.action}}></{{term.action}}> - </action> - </entry> - {% endif %} - - {% if term.from is defined %} - {# This is the case for TCP_ESTABLISHED #} - {% if term.from.protocol is defined and term.from.protocol == "tcp" and term.from.tcp_flag is defined %} - <entry> - <entry-id>{{ ns3.entry_id }}</entry-id> - <description>{{ term.name }}</description> - {% if term.log is defined %} - <log>{{ term.log }}</log> - {% endif %} - <match> - {% if filter.family == "ipv4" %} - <protocol>{{ term.from.protocol }}</protocol> - {% else %} - <next-header>{{ term.from.protocol }}</next-header> - {% endif %} - <tcp-flags> - <{{ term.from.tcp_flag }}>true</{{ term.from.tcp_flag }}> - </tcp-flags> - </match> - <action> - <{{ term.action }}></{{ term.action }}> - </action> - </entry> - {% set ns3.entry_id = ns3.entry_id + 10 %} - {% endif %} - {# This is to cover CPM-ipv6 ND case where dst_prefix_list is defined, but not src_prefix_list #} - {% if term.from.protocol is defined and term.from.protocol == "ipv6-icmp" and term.from.dst_prefix_list is defined %} - {% for dst_prefix_list_item in term.from.dst_prefix_list %} - <entry> - <entry-id>{{ ns3.entry_id }}</entry-id> - <description>{{ term.name }}</description> - {% if term.log is defined %} - <log>{{ term.log }}</log> - {% endif %} - <match> - <next-header>{{ term.from.protocol }}</next-header> - <dst-ip> - <ipv6-prefix-list>{{term.from.dst_prefix_list[loop.index0]}}</ipv6-prefix-list> - </dst-ip> - </match> - <action> - <{{ term.action }}></{{ term.action }}> - </action> - </entry> - {% set ns3.entry_id = ns3.entry_id + 10 %} - {% endfor %} - {% endif %} - {# Generic ICMP filters with ICMP types #} - {% if term.from.protocol is defined and (term.from.protocol == "icmp" or term.from.protocol == "ipv6-icmp") %} - {% if term.from.icmp_types is defined %} - {% for icmp_type in term.from.icmp_types %} - <entry> - <entry-id>{{ ns3.entry_id }}</entry-id> - <description>{{ term.name }}</description> - {% if term.log is defined %} - <log>{{ term.log }}</log> - {% endif %} - <match> - {% if filter.family == "ipv4" %} - <protocol>{{ term.from.protocol }}</protocol> - {% else %} - <next-header>{{ term.from.protocol }}</next-header> - {% endif %} - <icmp> - <type>{{ icmp_type }}</type> - </icmp> - </match> - <action> - <{{ term.action }}></{{ term.action }}> - </action> - </entry> - {% set ns3.entry_id = ns3.entry_id + 10 %} - {% endfor %} - {% endif %} - {% endif %} - {# Case when only need to match on protocol, e.g. PIM #} - {% if term.from.protocol is defined and term.from.protocol in ['pim', '58'] %} - <entry> - <entry-id>{{ ns3.entry_id }}</entry-id> - <description>{{ term.name }}</description> - {% if term.log is defined %} - <log>{{ term.log }}</log> - {% endif %} - <match> - {% if filter.family == "ipv4" %} - <protocol>{{ term.from.protocol }}</protocol> - {% else %} - <next-header>{{ term.from.protocol }}</next-header> - {% endif %} - </match> - <action> - <{{ term.action }}></{{ term.action }}> - </action> - </entry> - {% set ns3.entry_id = ns3.entry_id + 10 %} - {% endif %} - {# Case when both src_prefix_list and dst_prefix_list are defined #} - {% if term.from.src_prefix_list is defined %} - {% for src_prefix_list_item in term.from.src_prefix_list%} - {% set src_index = loop.index0 %} - {% if term.from.dst_prefix_list is defined %} - {% for dst_prefix_list_item in term.from.dst_prefix_list %} - <entry> - <entry-id>{{ ns3.entry_id }}</entry-id> - <description>{{ term.name }}</description> - {% if term.log is defined %} - <log>{{ term.log }}</log> - {% endif %} - <match> - {% if term.from.protocol is defined %} - {% if filter.family == "ipv4" %} - <protocol>{{term.from.protocol}}</protocol> - {% else %} - <next-header>{{ term.from.protocol }}</next-header> - {% endif %} - {% endif %} - {% include 'filters/port_list_entries.j2' %} - <src-ip> - {% if filter.family == "ipv4" %} - <ip-prefix-list>{{term.from.src_prefix_list[src_index]}}</ip-prefix-list> - {% else %} - <ipv6-prefix-list>{{term.from.src_prefix_list[src_index]}}</ipv6-prefix-list> - {% endif %} - </src-ip> - <dst-ip> - {% if filter.family == "ipv4" %} - <ip-prefix-list>{{term.from.dst_prefix_list[loop.index0]}}</ip-prefix-list> - {% else %} - <ipv6-prefix-list>{{term.from.dst_prefix_list[loop.index0]}}</ipv6-prefix-list> - {% endif %} - </dst-ip> - </match> - {% set ns3.entry_id = ns3.entry_id + 10 %} - <action> - <{{term.action}}></{{term.action}}> - </action> - </entry> - {% endfor %} - {% else %} -{# This is the case of CPM-filters, where destination prefix is not defined #} - <entry> - <entry-id> {{ ns3.entry_id }} </entry-id> - <description>{{ term.name }}</description> - {% if term.log is defined %} - <log>{{ term.log }}</log> - {% endif %} - <match> - {% if term.from.protocol is defined %} - {% if filter.family == "ipv4" %} - <protocol>{{term.from.protocol}}</protocol> - {% else %} - <next-header>{{ term.from.protocol }}</next-header> - {% endif %} - {% endif %} - {% include 'filters/port_list_entries.j2' %} - <src-ip> - {% if filter.family == "ipv4" %} - <ip-prefix-list>{{term.from.src_prefix_list[src_index]}}</ip-prefix-list> - {% else %} - <ipv6-prefix-list>{{term.from.src_prefix_list[src_index]}}</ipv6-prefix-list> - {% endif %} - </src-ip> - </match> - {% set ns3.entry_id = ns3.entry_id + 10 %} - <action> - <{{term.action}}></{{term.action}}> - </action> - </entry> - {% endif %} - {% endfor %} - {% endif %} - {# Case where only DST prefix list is defined #} - {% if term.from.dst_prefix_list is defined %} - {% for dst_prefix_list_item in term.from.dst_prefix_list %} - <entry> - <entry-id>{{ ns3.entry_id }}</entry-id> - <description>{{ term.name }}</description> - {% if term.log is defined %} - <log>{{ term.log }}</log> - {% endif %} - <match> - {% if term.from.protocol is defined %} - {% if filter.family == "ipv4" %} - <protocol>{{term.from.protocol}}</protocol> - {% else %} - <next-header>{{ term.from.protocol }}</next-header> - {% endif %} - {% endif %} - {% include 'filters/port_list_entries.j2' %} - <dst-ip> - {% if filter.family == "ipv4" %} - <ip-prefix-list>{{term.from.dst_prefix_list[loop.index0]}}</ip-prefix-list> - {% else %} - <ipv6-prefix-list>{{term.from.dst_prefix_list[loop.index0]}}</ipv6-prefix-list> - {% endif %} - </dst-ip> - </match> - {% set ns3.entry_id = ns3.entry_id + 10 %} - <action> - <{{term.action}}></{{term.action}}> - </action> - </entry> - {% endfor %} - {% endif %} - {% endif %} - {% endfor %} -{# Terms end #} - {% if filter.family == "ipv4" %} - </ip-filter> - {% elif filter.family == "ipv6" %} - </ipv6-filter> - {% endif %} -{% endfor %} diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/filters/gen_filters.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/filters/gen_filters.j2 deleted file mode 100644 index b25f975f8641f0f5056b545b2e8fc35bbb594b3e..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/filters/gen_filters.j2 +++ /dev/null @@ -1,9 +0,0 @@ -{# This template takes care of configuring connectors and breakouts #} - -{% with is_cpm_filter=False, filters=gen_filters %} -{% include "filters/port_list_definitions.j2" %} -<filter xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes"> - {% include "filters/fw_filters.j2" %} -</filter> -{% endwith %} - diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/filters/port_list_definitions.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/filters/port_list_definitions.j2 deleted file mode 100644 index 34c35ad8a8badead9cdc176196453a482ee03b37..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/filters/port_list_definitions.j2 +++ /dev/null @@ -1,66 +0,0 @@ -{# This template takes care of configuring connectors and breakouts #} -<filter xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes"> - <match-list> - {% for filter in filters %} - {% for term in filter.terms %} - {% if term.from.port is defined and term.from.port.__class__.__name__ == 'list'%} - <port-list> - <port-list-name>{{filter.name}}-{{term.name}}-PORTS</port-list-name> - {%for port in term.from.port %} - <port> - <value>{{port}}</value> - </port> - {% endfor %} - </port-list> - {% endif %} - {% if term.from.src_port is defined and term.from.src_port.__class__.__name__ == 'list'%} - <port-list> - <port-list-name>{{filter.name}}-{{term.name}}-SRC_PORTS</port-list-name> - {%for port in term.from.src_port %} - <port> - <value>{{port}}</value> - </port> - {% endfor %} - </port-list> - {% endif %} - {% if term.from.dst_port is defined and term.from.dst_port.__class__.__name__ == 'list'%} - <port-list> - <port-list-name>{{filter.name}}-{{term.name}}-DST_PORTS</port-list-name> - {%for port in term.from.dst_port %} - <port> - <value>{{port}}</value> - </port> - {% endfor %} - </port-list> - {% endif %} - {% if term.from.port_range is defined %} - <port-list> - <port-list-name>{{filter.name}}-{{term.name}}-PORT_RANGE</port-list-name> - <range> - <start>{{ term.from.port_range.start }}</start> - <end>{{ term.from.port_range.end }}</end> - </range> - </port-list> - {% endif %} - {% if term.from.src_port_range is defined %} - <port-list> - <port-list-name>{{filter.name}}-{{term.name}}-SRC_PORT_RANGE</port-list-name> - <range> - <start>{{ term.from.src_port_range.start }}</start> - <end>{{ term.from.src_port_range.end }}</end> - </range> - </port-list> - {% endif %} - {% if term.from.dst_port_range is defined %} - <port-list> - <port-list-name>{{filter.name}}-{{term.name}}-DST_PORT_RANGE</port-list-name> - <range> - <start>{{ term.from.dst_port_range.start }}</start> - <end>{{ term.from.dst_port_range.end }}</end> - </range> - </port-list> - {% endif %} - {% endfor %} - {% endfor %} - </match-list> -</filter> diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/filters/port_list_entries.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/filters/port_list_entries.j2 deleted file mode 100644 index 4f3352655be583736e811c58adb6546645841bdd..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/filters/port_list_entries.j2 +++ /dev/null @@ -1,48 +0,0 @@ -{#This is the case it's a port-list #} -{% if term.from.port is defined and term.from.port.__class__.__name__ == 'list'%} - <port> - <port-list>{{filter.name}}-{{term.name}}-PORTS</port-list> - </port> -{% endif %} -{% if term.from.src_port is defined and term.from.src_port.__class__.__name__ == 'list'%} - <src-port> - <port-list>{{filter.name}}-{{term.name}}-SRC_PORTS</port-list> - </src-port> -{% endif %} -{% if term.from.dst_port is defined and term.from.dst_port.__class__.__name__ == 'list'%} - <dst-port> - <port-list>{{filter.name}}-{{term.name}}-DST_PORTS</port-list> - </dst-port> -{% endif %} -{#This is the case it's a single port #} -{% if term.from.port is defined and term.from.port.__class__.__name__ != 'list'%} - <port> - <eq>{{term.from.port}}</eq> - </port> -{% endif %} -{% if term.from.src_port is defined and term.from.src_port.__class__.__name__ != 'list'%} - <src-port> - <eq>{{term.from.src_port}}</eq> - </src-port> -{% endif %} -{% if term.from.dst_port is defined and term.from.dst_port.__class__.__name__ != 'list'%} - <dst-port> - <eq>{{term.from.dst_port}}</eq> - </dst-port> -{% endif %} - {# Port range #} - {% if term.from.port_range is defined %} - <port> - <port-list>{{filter.name}}-{{term.name}}-PORT_RANGE</port-list> - </port> -{% endif %} -{% if term.from.src_port_range is defined %} - <src-port> - <port-list>{{filter.name}}-{{term.name}}-SRC_PORT_RANGE</port-list> - </src-port> -{% endif %} -{% if term.from.dst_port_range is defined %} - <dst-port> - <port-list>{{filter.name}}-{{term.name}}-DST_PORT_RANGE</port-list> - </dst-port> -{% endif %} diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/ip_prefix_list.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/ip_prefix_list.j2 deleted file mode 120000 index c9c4c6dfa9e199351407e24a82bd99c5001abb39..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/ip_prefix_list.j2 +++ /dev/null @@ -1 +0,0 @@ -../../../../base_config/templates/routers/nokia/ip_prefix_list.j2 \ No newline at end of file diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/policy_options/as_paths.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/policy_options/as_paths.j2 deleted file mode 100644 index fadb9c5b01a5b69c57cd13877f0c9b4d86dea62a..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/policy_options/as_paths.j2 +++ /dev/null @@ -1,6 +0,0 @@ - {% for as_path in as_paths_obj %} - <as-path alu:operation="replace"> - <name>{{ as_path.name }}</name> - <expression>{{ as_path.expression}}</expression> - </as-path> - {% endfor %} diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/policy_options/communities.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/policy_options/communities.j2 deleted file mode 100644 index 631ddacf38c264784038e969961227f8a09f186c..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/policy_options/communities.j2 +++ /dev/null @@ -1,8 +0,0 @@ - {% for community in communities_obj %} - <community alu:operation="replace"> - <name>{{ community.name }}</name> - <member> - <member>{{ community.member }}</member> - </member> - </community> - {% endfor %} diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/policy_options/policy_options.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/policy_options/policy_options.j2 deleted file mode 100644 index bb4790c644b63d38021a989f56870478946505b2..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/policy_options/policy_options.j2 +++ /dev/null @@ -1,30 +0,0 @@ - <policy-options xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes"> - {% if nokia_po_prefix_lists is defined %} - {% with prefix_lists_obj=nokia_po_prefix_lists %} - {% include 'policy_options/prefix_lists.j2' %} - {% endwith %} - {% endif %} - - {# Communities #} - {% if nokia_po_communities is defined %} - {% with communities_obj=nokia_po_communities %} - {% include 'policy_options/communities.j2' %} - {% endwith %} - {% endif %} - - {# AS paths #} - {% if nokia_po_as_paths is defined %} - {% with as_paths_obj=nokia_po_as_paths %} - {% include 'policy_options/as_paths.j2' %} - {% endwith %} - {% endif %} - - {# Policy statements #} - {% if nokia_po_policy_statements is defined %} - {% with policy_obj=nokia_po_policy_statements %} - {% include 'policy_options/policy_statements.j2' %} - {% endwith %} - {% endif %} - - </policy-options> - diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/policy_options/policy_statements.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/policy_options/policy_statements.j2 deleted file mode 100644 index 95126f78838203c9bce99458cee179a0a87f5f75..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/policy_options/policy_statements.j2 +++ /dev/null @@ -1,66 +0,0 @@ - {% for pol in policy_obj %} - <policy-statement alu:operation="replace"> - <name>{{ pol.name }}</name> - <entry-type>{{ pol.entry_type }}</entry-type> - {% for entry in pol.entries %} - {% if pol.entry_type == 'named' %} - <named-entry> - {% endif %} - <entry-name>{{ entry.name }}</entry-name> - {% if entry.from is defined %} - <from> - {% if entry.from.as_path is defined %} - <as-path> - {% if entry.from.as_path.name is defined %} - <name>{{ entry.from.as_path.name }}</name> - {% endif %} - {% if entry.from.as_path.length is defined %} - <length> - <value>{{ entry.from.as_path.length }}</value> - </length> - {% endif %} - </as-path> - {% endif %} - {% if entry.from.prefix_list is defined %} - {% for pl in entry.from.prefix_list %} - <prefix-list>{{ pl }}</prefix-list> - {% endfor %} - {% endif %} - {% if entry.from.community is defined %} - <community> - <name>{{ entry.from.community }}</name> - </community> - {% endif %} - {% if entry.from.origin_validation_state is defined %} - <origin-validation-state>{{ entry.from.origin_validation_state }}</origin-validation-state> - {% endif %} - {% if entry.from.protocol is defined %} - {% for proto in entry.from.protocol %} - <protocol> - <name>{{ proto }}</name> - </protocol> - {% endfor %} - {% endif %} - </from> - {% endif %} - <action> - <action-type>{{ entry.action_type }}</action-type> - {% if entry.action is defined %} - {% for action_item in entry.action %} - {% for act_k, act_v in action_item.items() %} - {% if act_k == "community_add" %} - <community> - <add>{{ act_v }}</add> - </community> - {% else %} - <{{ act_k | replace("_", "-") }}>{{ act_v }}</{{act_k | replace("_", "-") }}> - {% endif %} - {% endfor %} - {% endfor %} - {% endif %} - </action> - </named-entry> - {% endfor %} - </policy-statement> - - {% endfor %} diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/policy_options/prefix_lists.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/policy_options/prefix_lists.j2 deleted file mode 100644 index 507986e60983c0445d2110328584695d67b2b70a..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/policy_options/prefix_lists.j2 +++ /dev/null @@ -1,15 +0,0 @@ - {% for prefix_list in prefix_lists_obj %} - <prefix-list alu:operation="replace"> - <name>{{ prefix_list.name }}</name> - {% for prefix in prefix_list.prefixes %} - <prefix> - <ip-prefix>{{ prefix.ip }}</ip-prefix> - <type>{{ prefix.type }}</type> - {% if prefix.type == 'range' %} - <start-length>{{ prefix.range_start_length }}</start-length> - <end-length>{{ prefix.range_end_length }}</end-length> - {% endif %} - </prefix> - {% endfor %} - </prefix-list> - {% endfor %} diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/base_static_routes.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/base_static_routes.j2 deleted file mode 100644 index 437738fe2a78567504cfd1bfbe69d4605ab9dfb7..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/base_static_routes.j2 +++ /dev/null @@ -1,6 +0,0 @@ - <static-routes xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes"> - {% with static_routes_obj=nokia_pe_static_routes %} - {% include 'router/static_routes.j2' %} - {% endwith %} - </static-routes> - diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/bgp.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/bgp.j2 deleted file mode 100644 index b5af67ba3634ac0804b77e59579a719975c886f2..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/bgp.j2 +++ /dev/null @@ -1,13 +0,0 @@ - <bgp xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes"> -{% with bgp_base_obj=pe_bgp_base, bgp_context='bgp_base' %} - {% include 'router/bgp_base.j2' %} -{% endwith %} -{% with bgp_obj=pe_bgp_tools %} - {% include "router/bgp_group.j2" %} - {% include "router/bgp_neighbor.j2" %} -{% endwith %} -{% with bgp_obj=pe_bgp_internal %} - {% include "router/bgp_group.j2" %} -{% endwith %} - </bgp> - diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/bgp_base.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/bgp_base.j2 deleted file mode 100644 index 965c97b04b538bae743600c6fae9a6a095daedc1..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/bgp_base.j2 +++ /dev/null @@ -1,55 +0,0 @@ - {% if bgp_context == 'vprn' %} - {% if bgp_base_obj.families is defined %} - {% for fam in bgp_base_obj.families %} - <{{ fam }}>true</{{ fam }}> - {% endfor %} - {% endif %} - {% endif %} - {% if bgp_base_obj.best_path_selection is defined %} - <best-path-selection> - {% for bps in bgp_base_obj.best_path_selection %} - <{{ bps }}>true</{{ bps }}> - {% endfor %} - </best-path-selection> - {% endif %} - {% if bgp_base_obj.error_handling is defined %} - <error-handling> - <{{ bgp_base_obj.error_handling }}>true</{{ pe_bgp_base.error_handling }}> - </error-handling> - {% endif %} - {% if bgp_base_obj.next_hop_resolution.shortcut_tunnel is defined %} - <next-hop-resolution> - <shortcut-tunnel> - {% for nhr in bgp_base_obj.next_hop_resolution.shortcut_tunnel %} - <family> - <family-type>{{ nhr.type }}</family-type> - <resolution-filter> - <{{ nhr.resolution_filter }}>true</{{ nhr.resolution_filter }}> - </resolution-filter> - </family> - {% endfor %} - </shortcut-tunnel> - </next-hop-resolution> - {% endif %} - {% if bgp_base_obj.multipath is defined %} - <multipath alu:operation="replace"> - {% if bgp_base_obj.multipath.ibgp is defined %} - <ibgp>{{ bgp_base_obj.multipath.ibgp }}</ibgp> - {% endif %} - {% if bgp_base_obj.multipath.ebgp is defined %} - <ebgp>{{ bgp_base_obj.multipath.ebgp }}</ebgp> - {% endif %} - {% if bgp_base_obj.multipath.ipv4 is defined %} - <family> - <family-type>ipv4</family-type> - <max-paths>{{ bgp_base_obj.multipath.ipv4 }}</max-paths> - </family> - {% endif %} - {% if bgp_base_obj.multipath.ipv6 is defined %} - <family> - <family-type>ipv6</family-type> - <max-paths>{{ bgp_base_obj.multipath.ipv6 }}</max-paths> - </family> - {% endif %} - </multipath> - {% endif %} diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/bgp_group.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/bgp_group.j2 deleted file mode 100644 index 78e3216af26cd17110785252e70d8940dd213eca..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/bgp_group.j2 +++ /dev/null @@ -1,84 +0,0 @@ - {% for group in bgp_obj.groups %} - <group alu:operation="replace"> - <group-name>{{ group.name }}</group-name> - <admin-state>{{ group.admin_state | default('enable') }}</admin-state> - {% if group.auth_key is defined %} - <authentication-key>{{ group.auth_key }}</authentication-key> - {% endif %} - {% if group.nhs is defined %} - <next-hop-self>{{ group.nhs }}</next-hop-self> - {% endif %} - <type>{{ group.type }}</type> - {% if group.bfd_liveness is defined %} - <bfd-liveness>{{ group.bfd_liveness }}</bfd-liveness> - {% endif %} - {% if group.ebgp_default_reject is defined %} - <ebgp-default-reject-policy> - {% for pk, pv in group.ebgp_default_reject.items() %} - <{{ pk }}>{{ pv }}</{{ pk }}> - {% endfor %} - </ebgp-default-reject-policy> - {% endif %} - {% if group.peer_as is defined %} - <peer-as>{{ group.peer_as }}</peer-as> - {% endif %} - {% if group.local_as is defined %} - <local-as> - <as-number>{{ group.local_as }}</as-number> - {% if group.prepend_global_as is defined %} - <prepend-global-as>{{ group.prepend_global_as }}</prepend-global-as> - {% endif %} - </local-as> - {% endif %} - {% if group.capability_neg is defined %} - <capability-negotiation>{{ group.capability_neg }}</capability-negotiation> - {% endif %} - {% if bgp_group_context != 'vprn' %} - {% if (group.local_address is defined) and group.local_address == 'ipv4' %} - <local-address>{{ lo_ipv4_address }}</local-address> - {% elif (group.local_address is defined) and group.local_address == 'ipv6' %} - <local-address>{{ lo_ipv6_address }}</local-address> - {% endif %} - {% endif %} - {% if group.hold_time is defined %} - <hold-time> - <seconds>{{ group.hold_time }}</seconds> - </hold-time> - {% endif %} - {% if group.origin_validattion is defined %} - <origin-validation> - {% for ov in group.origin_validattion %} - <{{ ov }}>true</{{ ov }}> - {% endfor %} - </origin-validation> - {% endif %} - {% if group.send_communities is defined %} - <send-communities> - {% for sc_k, sc_v in group.send_communities.items() %} - <{{ sc_k }}>{{ sc_v }}</{{ sc_k }}> - {% endfor %} - </send-communities> - {% endif %} - {% if group.families is defined %} - <family> - {% for family in group.families %} - <{{ family }}>true</{{ family }}> - {% endfor %} - </family> - {% endif %} - {% if group.policies.import is defined %} - <import> - {% for imp_pol in group.policies.import %} - <policy>{{ imp_pol }}</policy> - {% endfor %} - </import> - {% endif %} - {% if group.policies.export is defined %} - <export> - {% for exp_pol in group.policies.export %} - <policy>{{ exp_pol }}</policy> - {% endfor %} - </export> - {% endif %} - </group> - {% endfor %} 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 deleted file mode 100644 index 837bc54a4f4ed3c5e5602b4ab5b34a1f7401e4ec..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/bgp_neighbor.j2 +++ /dev/null @@ -1,46 +0,0 @@ - {% for neighbor in bgp_obj.neighbors %} - <neighbor alu:operation="replace"> - <ip-address>{{ neighbor.ip }}</ip-address> - <description>{{ neighbor.description }}</description> - <group>{{ neighbor.group }}</group> - {% 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 %} - <import> - {% for imp_pol in neighbor.policies.import %} - <policy>{{ imp_pol }}</policy> - {% endfor %} - </import> - {% endif %} - {% if neighbor.policies.export is defined %} - <export> - {% for exp_pol in neighbor.policies.export %} - <policy>{{ exp_pol }}</policy> - {% endfor %} - </export> - {% 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 %} - diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/delete_default_static_routes.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/delete_default_static_routes.j2 deleted file mode 100644 index f3d8d46b24117664afda6c35adc295394dcab927..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/delete_default_static_routes.j2 +++ /dev/null @@ -1,15 +0,0 @@ -<config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:alu="urn:ietf:params:xml:ns:netconf:base:1.0"> - <configure xmlns="urn:nokia.com:sros:ns:yang:sr:conf"> - <router xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes"> - <router-name>Base</router-name> - <static-routes xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes"> - {% for route in nokia_static_routes %} - <route alu:operation="delete"> - <ip-prefix>{{ route.ip_prefix }}</ip-prefix> - <route-type>{{ route.route_type }}</route-type> - </route> - {% endfor %} - </static-routes> - </router> - </configure> -</config> diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/flowspec.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/flowspec.j2 deleted file mode 100644 index e1f40f15591b33f7c89caf5c99ceac6783e1c172..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/flowspec.j2 +++ /dev/null @@ -1,6 +0,0 @@ - - <flowspec alu:operation="replace"> - <ip-filter-max-size>{{ nokia_flowspec.ip_filter_max_size }}</ip-filter-max-size> - <ipv6-filter-max-size>{{ nokia_flowspec.ipv6_filter_max_size }}</ipv6-filter-max-size> - </flowspec> - diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/isis_overload.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/isis_overload.j2 deleted file mode 100644 index c8d177abbfd4d3d0ab9fac1493535533e03fb2af..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/isis_overload.j2 +++ /dev/null @@ -1,18 +0,0 @@ -<config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:alu="urn:ietf:params:xml:ns:netconf:base:1.0"> - <configure xmlns="urn:nokia.com:sros:ns:yang:sr:conf"> - <router xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes"> - <router-name>Base</router-name> - <isis> - <isis-instance>0</isis-instance> - {% if verb == 'set_isis_overload' %} - <overload xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes"> - </overload> - {% endif %} - {% if verb == 'remove_isis_overload' %} - <overload xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes" alu:operation="delete"> - </overload> - {% endif %} - </isis> - </router> - </configure> -</config> diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/ldp.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/ldp.j2 deleted file mode 100644 index 8a312b716654e67525ec4dfde5448d33e2d3fa24..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/ldp.j2 +++ /dev/null @@ -1,7 +0,0 @@ - <ldp xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes"> - <admin-state>enable</admin-state> - <targeted-session> - <sdp-auto-targeted-session>true</sdp-auto-targeted-session> - </targeted-session> - </ldp> - diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/router_base.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/router_base.j2 deleted file mode 100644 index 621d83484decf181c384af1bf5a02d8b7a79921b..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/router_base.j2 +++ /dev/null @@ -1,13 +0,0 @@ - <router xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes"> - <router-name>Base</router-name> - {% with static_routes_obj=nokia_pe_static_routes %} - {% include 'router/static_routes.j2' %} - {% endwith %} - {% with bgp_group_context='bgp_base' %} - {% include 'router/bgp.j2' %} - {% endwith %} - {% include 'router/flowspec.j2' %} - {% include 'router/ldp.j2' %} - {% include 'router/rpki.j2' %} - </router> - diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/rpki.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/rpki.j2 deleted file mode 100644 index ce18ab742af4c1b4b1608f54f8006aaa0327dbf7..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/rpki.j2 +++ /dev/null @@ -1,13 +0,0 @@ - <origin-validation xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes"> - {% for validator in pe_rpki.validators %} - <rpki-session alu:operation="replace"> - <ip-address>{{ validator.ip }}</ip-address> - <admin-state>{{ validator.admin_state | default('enable') }}</admin-state> - <connect-retry>{{ validator.connect_retry }}</connect-retry> - <local-address>{{ lo_ipv4_address }}</local-address> - <port>{{ validator.port }}</port> - <stale-time>{{ validator.stale_time }}</stale-time> - </rpki-session> - {% endfor %} - </origin-validation> - diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/static_routes.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/static_routes.j2 deleted file mode 100644 index 1c1d8f4b68394be625b67cef8261ed0b16278036..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/static_routes.j2 +++ /dev/null @@ -1,38 +0,0 @@ - <static-routes xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes"> - {% for route in static_routes_obj %} - <route alu:operation="replace"> - <ip-prefix>{{ route.ip_prefix }}</ip-prefix> - <route-type>{{ route.route_type }}</route-type> - {% if route.indirect is defined %} - {% for ir in route.indirect %} - <indirect> - <ip-address>{{ ir.next_hop }}</ip-address> - <admin-state>{{ ir.admin_state }}</admin-state> - {% if ir.description is defined %} - <description>{{ ir.description }}</description> - {% endif %} - {% if ir.preference is defined %} - <preference>{{ ir.preference }}</preference> - {% endif %} - </indirect> - {% endfor %} - {% endif %} - {# Blackhole #} - {% if route.blackhole is defined %} - <blackhole> - <admin-state>{{ route.blackhole.admin_state }}</admin-state> - {% if route.blackhole.description is defined %} - <description>{{ route.blackhole.description }}</description> - {% endif %} - </blackhole> - {% endif %} - {# Communities #} - {% if route.communities is defined %} - {% for community in route.communities %} - <community>{{ community }}</community> - {% endfor %} - {% endif %} - </route> - {% endfor %} - </static-routes> - diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/vprn.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/vprn.j2 deleted file mode 100644 index 23185e594b0c5ecf49b9cd3b1ef5216bbe2237c0..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/router/vprn.j2 +++ /dev/null @@ -1,47 +0,0 @@ - {% for vprn in pe_vprns %} - <vprn alu:operation="replace"> - <service-name>{{ vprn.name }}</service-name> - <admin-state>{{ vprn.admin_state | default('enable') }}</admin-state> - {% if vprn.description is defined %} - <description>{{ vprn.description }}</description> - {% endif %} - <service-id>{{ vprn.service_id }}</service-id> - <customer>{{ vprn.customer_id }}</customer> - <autonomous-system>{{ vprn.asn }}</autonomous-system> - <bgp-ipvpn> - <mpls> - <admin-state>enable</admin-state> - <route-distinguisher>{{ vprn.bgp_ipvpn.mpls.rd }}</route-distinguisher> - <vrf-target> - <community>{{ vprn.bgp_ipvpn.mpls.target }}</community> - </vrf-target> - <auto-bind-tunnel> - <resolution>{{ vprn.bgp_ipvpn.mpls.auto_bind_tunnel.resolution }}</resolution> - <resolution-filter> - <{{ vprn.bgp_ipvpn.mpls.auto_bind_tunnel.resolution_filter }}>true</{{ vprn.bgp_ipvpn.mpls.auto_bind_tunnel.resolution_filter }}> - </resolution-filter> - </auto-bind-tunnel> - </mpls> - </bgp-ipvpn> - <bgp> - {% with bgp_base_obj=vprn.bgp, bgp_context='vprn' %} - {% include 'router/bgp_base.j2' %} - {% endwith %} - {% with bgp_obj=vprn.bgp, bgp_group_context='vprn' %} - {% include 'router/bgp_group.j2' %} - {% endwith %} - </bgp> - {% if vprn.static_routes is defined %} - {% with static_routes_obj=vprn.static_routes %} - {% include 'router/static_routes.j2' %} - {% endwith %} - {% endif %} - {% if vprn.flowspec is defined %} - <flowspec> - <ip-filter-max-size>{{ vprn.flowspec.ip_filter_max_size }}</ip-filter-max-size> - <ipv6-filter-max-size>{{ vprn.flowspec.ipv6_filter_max_size }}</ipv6-filter-max-size> - </flowspec> - {% endif %} - </vprn> - {% endfor %} - diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/sdp_mesh.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/sdp_mesh.j2 deleted file mode 100644 index df67f22d70e11a8c7d89687b0837fa2049d00e8b..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/sdp_mesh.j2 +++ /dev/null @@ -1,20 +0,0 @@ - <service xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes"> - {% for pe_fqdn, pe_addr in pe_router_list.items() %} - {% set sdp_id = pe_addr.lo4 | replace(sdp_prefix_regex, '') | replace('.', '') + sdp_type.id %} - <sdp> - <sdp-id>{{ sdp_id }}</sdp-id> - <admin-state>enable</admin-state> - <description>SDP_{{ sdp_id }}</description> - <delivery-type>mpls</delivery-type> - <path-mtu>{{ sdp_type.path_mtu }}</path-mtu> - {% if sdp_type.signaling is defined %} - <signaling>{{ sdp_type.signaling}}</signaling> - {% endif %} - <sr-isis>{{ sdp_type.sr_isis | lower }}</sr-isis> - <far-end> - <ip-address>{{ pe_addr.lo4 }}</ip-address> - </far-end> - </sdp> - {% endfor %} - </service> - diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/service_vprn.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/service_vprn.j2 deleted file mode 100644 index d14800d4014fa130678e26489f8bf03b1ae08afe..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/service_vprn.j2 +++ /dev/null @@ -1,12 +0,0 @@ - -<service xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes"> - <md-auto-id> - <service-id-range alu:operation="replace"> - <start>{{ pe_service.md_auto_id.service_id_range.start | default('10001') }}</start> - <end>{{ pe_service.md_auto_id.service_id_range.end | default('19999') }}</end> - </service-id-range> - </md-auto-id> - {% include 'router/vprn.j2' %} -</service> - {% include 'ip_prefix_list.j2' %} - diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/system/security/security.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/system/security/security.j2 deleted file mode 100644 index 431bf1e1054187bf7a804c4c1c7faa33e2b42db2..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/system/security/security.j2 +++ /dev/null @@ -1,8 +0,0 @@ - - <system> - <security> - {% with nokia_applications=pe_nokia_applications %} - {% include 'system/security/source_addresses.j2' %} - {% endwith %} - </security> - </system> diff --git a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/system/security/source_addresses.j2 b/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/system/security/source_addresses.j2 deleted file mode 100644 index cec3327d347df48bea28de4d8b8c53a072478433..0000000000000000000000000000000000000000 --- a/geant/gap_ansible/roles/promote_p_to_pe/templates/routers/nokia/system/security/source_addresses.j2 +++ /dev/null @@ -1,10 +0,0 @@ - - <source-address> - {% for application in nokia_applications %} - <ipv4 xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes" alu:operation="replace"> - <application>{{ application.name }}</application> - <interface-name>{{ application.interface_name }}</interface-name> - </ipv4> - {% endfor %} - </source-address> - diff --git a/geant/gap_ansible/roles/promote_p_to_pe/vars/main.yml b/geant/gap_ansible/roles/promote_p_to_pe/vars/main.yml index 33851df6536e31c0e07305d65540f3300be84706..21a8dbcc295917ad6ac969031650c339751c7730 100644 --- a/geant/gap_ansible/roles/promote_p_to_pe/vars/main.yml +++ b/geant/gap_ansible/roles/promote_p_to_pe/vars/main.yml @@ -1,6 +1,8 @@ --- # vars file for promote_p_to_pe +is_pe_promotion_wf: true dry_run: true + verbs: - set_isis_overload # Drain traffic to/from the router by setting ISIS overload - remove_isis_overload # Remove overload bit from ISIS config @@ -12,3 +14,5 @@ verbs: lo_ipv4_address: "{{ subscription.router.router_lo_ipv4_address }}" lo_ipv6_address: "{{ subscription.router.router_lo_ipv6_address }}" +router_tier: "{{ subscription.router.router_site.site_tier }}" +router_role: "{{ subscription.router.router_role }}"