From 5836756dcd3906aef77f4029ae938e707ba3c0ce Mon Sep 17 00:00:00 2001 From: Aleksandr Kurbatov <aleksandr.kurbatov@GL1342-AKURBATOV.local> Date: Mon, 9 Sep 2024 16:30:38 +0100 Subject: [PATCH] Move base_config role templates to bc_templates folder --- geant/gap_ansible/roles/base_config/templates | 1 + .../templates/routers/nokia/cards.j2 | 33 -------- .../templates/routers/nokia/chassis_tier1.j2 | 0 .../templates/routers/nokia/chassis_tier2.j2 | 0 .../templates/routers/nokia/router/bgp.j2 | 32 ------- .../routers/nokia/router/static_routes.j2 | 23 ----- .../roles/base_config/vars/main.yml | 2 + .../routers/juniper/base_config.j2 | 0 .../routers/juniper/chassis.j2 | 0 .../routers/juniper/class_of_service.j2 | 0 .../routers/juniper/firewall.j2 | 0 .../routers/juniper/forwarding_options.j2 | 0 .../routers/juniper/groups.j2 | 0 .../routers/juniper/interfaces.j2 | 0 .../routers/juniper/policy_options.j2 | 0 .../routers/juniper/policy_statements.j2 | 0 .../routers/juniper/protocols/bgp.j2 | 0 .../routers/juniper/protocols/global_msdp.j2 | 0 .../routers/juniper/protocols/igmp.j2 | 0 .../juniper/protocols/internal_msdp.j2 | 0 .../routers/juniper/protocols/isis.j2 | 0 .../routers/juniper/protocols/ldp.j2 | 0 .../routers/juniper/protocols/lldp.j2 | 0 .../routers/juniper/protocols/mld.j2 | 0 .../routers/juniper/protocols/mpls.j2 | 0 .../juniper/protocols/neighbor-discovery.j2 | 0 .../routers/juniper/protocols/pim.j2 | 0 .../juniper/protocols/protocols_global.j2 | 0 .../routers/juniper/protocols/rsvp.j2 | 0 .../routers/juniper/routing_instances.j2 | 0 .../routers/juniper/routing_options.j2 | 0 .../routers/juniper/services.j2 | 0 .../routers/juniper/snmp.j2 | 0 .../routers/juniper/system/general.j2 | 0 .../routers/juniper/system/login.j2 | 0 .../routers/juniper/system/ntp.j2 | 0 .../routers/juniper/system/radius-server.j2 | 0 .../routers/juniper/system/services.j2 | 0 .../routers/juniper/system/syslog.j2 | 0 .../routers/juniper/system/system_global.j2 | 0 .../routers/nokia/base_config.j2 | 12 +-- .../roles/bc_templates/routers/nokia/cards.j2 | 20 +++++ .../routers/nokia/chassis.j2 | 19 +++-- .../routers/nokia/connectors.j2 | 7 +- .../routers/nokia/filters/cpm_filters.j2 | 0 .../routers/nokia/filters/fw_filters.j2 | 0 .../routers/nokia/filters/gen_filters.j2 | 0 .../nokia/filters/port_list_definitions.j2 | 0 .../nokia/filters/port_list_entries.j2 | 0 .../routers/nokia/general.j2 | 0 .../routers/nokia/ip_prefix_list.j2 | 0 .../routers/nokia/ntp.j2 | 0 .../routers/nokia/qos/qos.j2 | 0 .../nokia/router/base_static_routes.j2 | 12 +++ .../bc_templates/routers/nokia/router/bgp.j2 | 20 +++++ .../routers/nokia/router/bgp_base.j2 | 55 ++++++++++++ .../routers/nokia/router/bgp_group.j2 | 84 +++++++++++++++++++ .../routers/nokia/router/bgp_neighbor.j2 | 46 ++++++++++ .../router/delete_default_static_routes.j2 | 15 ++++ .../routers/nokia/router/flowspec.j2 | 6 ++ .../routers/nokia/router/isis.j2 | 8 +- .../routers/nokia/router/isis_overload.j2 | 18 ++++ .../bc_templates/routers/nokia/router/ldp.j2 | 7 ++ .../nokia/router/p_to_pe_router_base.j2 | 13 +++ .../routers/nokia/router/pim.j2 | 0 .../routers/nokia/router/router_base.j2 | 2 +- .../bc_templates/routers/nokia/router/rpki.j2 | 13 +++ .../routers/nokia/router/static_routes.j2 | 38 +++++++++ .../bc_templates/routers/nokia/router/vprn.j2 | 47 +++++++++++ .../routers/nokia/sfm.j2 | 5 ++ .../routers/nokia/syslog/log_filter.j2 | 0 .../routers/nokia/syslog/log_id.j2 | 0 .../routers/nokia/syslog/syslog.j2 | 0 .../system/security/aaa_local_profiles.j2 | 0 .../nokia/system/security/aaa_radius_auth.j2 | 0 .../system/security/dist_cpu_protection.j2 | 0 .../routers/nokia/system/security/security.j2 | 0 .../routers/nokia/system/security/snmp.j2 | 0 .../nokia/system/security/source_addresses.j2 | 0 .../routers/nokia/system/security/ssh.j2 | 0 .../nokia/system/security/user_params.j2 | 0 81 files changed, 430 insertions(+), 108 deletions(-) create mode 120000 geant/gap_ansible/roles/base_config/templates delete mode 100644 geant/gap_ansible/roles/base_config/templates/routers/nokia/cards.j2 delete mode 100644 geant/gap_ansible/roles/base_config/templates/routers/nokia/chassis_tier1.j2 delete mode 100644 geant/gap_ansible/roles/base_config/templates/routers/nokia/chassis_tier2.j2 delete mode 100644 geant/gap_ansible/roles/base_config/templates/routers/nokia/router/bgp.j2 delete mode 100644 geant/gap_ansible/roles/base_config/templates/routers/nokia/router/static_routes.j2 rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/base_config.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/chassis.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/class_of_service.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/firewall.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/forwarding_options.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/groups.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/interfaces.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/policy_options.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/policy_statements.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/protocols/bgp.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/protocols/global_msdp.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/protocols/igmp.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/protocols/internal_msdp.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/protocols/isis.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/protocols/ldp.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/protocols/lldp.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/protocols/mld.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/protocols/mpls.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/protocols/neighbor-discovery.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/protocols/pim.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/protocols/protocols_global.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/protocols/rsvp.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/routing_instances.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/routing_options.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/services.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/snmp.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/system/general.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/system/login.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/system/ntp.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/system/radius-server.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/system/services.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/system/syslog.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/juniper/system/system_global.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/nokia/base_config.j2 (60%) create mode 100644 geant/gap_ansible/roles/bc_templates/routers/nokia/cards.j2 rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/nokia/chassis.j2 (60%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/nokia/connectors.j2 (68%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/nokia/filters/cpm_filters.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/nokia/filters/fw_filters.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/nokia/filters/gen_filters.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/nokia/filters/port_list_definitions.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/nokia/filters/port_list_entries.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/nokia/general.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/nokia/ip_prefix_list.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/nokia/ntp.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/nokia/qos/qos.j2 (100%) create mode 100644 geant/gap_ansible/roles/bc_templates/routers/nokia/router/base_static_routes.j2 create mode 100644 geant/gap_ansible/roles/bc_templates/routers/nokia/router/bgp.j2 create mode 100644 geant/gap_ansible/roles/bc_templates/routers/nokia/router/bgp_base.j2 create mode 100644 geant/gap_ansible/roles/bc_templates/routers/nokia/router/bgp_group.j2 create mode 100644 geant/gap_ansible/roles/bc_templates/routers/nokia/router/bgp_neighbor.j2 create mode 100644 geant/gap_ansible/roles/bc_templates/routers/nokia/router/delete_default_static_routes.j2 create mode 100644 geant/gap_ansible/roles/bc_templates/routers/nokia/router/flowspec.j2 rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/nokia/router/isis.j2 (87%) create mode 100644 geant/gap_ansible/roles/bc_templates/routers/nokia/router/isis_overload.j2 create mode 100644 geant/gap_ansible/roles/bc_templates/routers/nokia/router/ldp.j2 create mode 100644 geant/gap_ansible/roles/bc_templates/routers/nokia/router/p_to_pe_router_base.j2 rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/nokia/router/pim.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/nokia/router/router_base.j2 (98%) create mode 100644 geant/gap_ansible/roles/bc_templates/routers/nokia/router/rpki.j2 create mode 100644 geant/gap_ansible/roles/bc_templates/routers/nokia/router/static_routes.j2 create mode 100644 geant/gap_ansible/roles/bc_templates/routers/nokia/router/vprn.j2 rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/nokia/sfm.j2 (71%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/nokia/syslog/log_filter.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/nokia/syslog/log_id.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/nokia/syslog/syslog.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/nokia/system/security/aaa_local_profiles.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/nokia/system/security/aaa_radius_auth.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/nokia/system/security/dist_cpu_protection.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/nokia/system/security/security.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/nokia/system/security/snmp.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/nokia/system/security/source_addresses.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/nokia/system/security/ssh.j2 (100%) rename geant/gap_ansible/roles/{base_config/templates => bc_templates}/routers/nokia/system/security/user_params.j2 (100%) diff --git a/geant/gap_ansible/roles/base_config/templates b/geant/gap_ansible/roles/base_config/templates new file mode 120000 index 00000000..58acfcf6 --- /dev/null +++ b/geant/gap_ansible/roles/base_config/templates @@ -0,0 +1 @@ +../bc_templates \ No newline at end of file diff --git a/geant/gap_ansible/roles/base_config/templates/routers/nokia/cards.j2 b/geant/gap_ansible/roles/base_config/templates/routers/nokia/cards.j2 deleted file mode 100644 index d356a84d..00000000 --- a/geant/gap_ansible/roles/base_config/templates/routers/nokia/cards.j2 +++ /dev/null @@ -1,33 +0,0 @@ - {% for card in nokia_cards %} - <card 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"> - <slot-number>{{ card.slot }}</slot-number> - <admin-state>enable</admin-state> - <card-type>{{ card.card_type }}</card-type> - {% if card.xiom is defined %} - {#Xiom is the SR2se specific config#} - <xiom> - <xiom-slot>{{ card.xiom.slot }}</xiom-slot> - <level>{{ card.xiom.level }}</level> - <xiom-type>{{ card.xiom.type }}</xiom-type> - {% for mda in card.mdas %} - <mda> - <mda-slot>{{mda.mda_slot}}</mda-slot> - <admin-state>enable</admin-state> - <mda-type>{{ mda.mda_type }}</mda-type> - </mda> - {% endfor %} - </xiom> - {% else %} - {#The rest is for SR7#} - {% for mda in card.mdas %} - <mda> - <mda-slot>{{mda.mda_slot}}</mda-slot> - <admin-state>enable</admin-state> - <mda-type>{{ mda.mda_type }}</mda-type> - <level>{{ mda.mda_level }}</level> - </mda> - {% endfor %} - {% endif %} - </card> - {% endfor %} - diff --git a/geant/gap_ansible/roles/base_config/templates/routers/nokia/chassis_tier1.j2 b/geant/gap_ansible/roles/base_config/templates/routers/nokia/chassis_tier1.j2 deleted file mode 100644 index e69de29b..00000000 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/nokia/chassis_tier2.j2 b/geant/gap_ansible/roles/base_config/templates/routers/nokia/chassis_tier2.j2 deleted file mode 100644 index e69de29b..00000000 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/nokia/router/bgp.j2 b/geant/gap_ansible/roles/base_config/templates/routers/nokia/router/bgp.j2 deleted file mode 100644 index d56ae85c..00000000 --- a/geant/gap_ansible/roles/base_config/templates/routers/nokia/router/bgp.j2 +++ /dev/null @@ -1,32 +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"> - <error-handling alu:operation="replace"> - <update-fault-tolerance>true</update-fault-tolerance> - </error-handling> - <local-as alu:operation="replace"> - <as-number>{{ geant_re_as_number }}</as-number> - </local-as> - <group alu:operation="replace"> - <group-name>iGEANT-P-ONLY</group-name> - <admin-state>enable</admin-state> - <next-hop-self>true</next-hop-self> - <type>internal</type> - <peer-as>{{ geant_re_as_number }}</peer-as> - <capability-negotiation>true</capability-negotiation> - <local-address>{{ lo_ipv4_address }}</local-address> - <family> - <mcast-ipv4>true</mcast-ipv4> - </family> - </group> - <group alu:operation="replace"> - <group-name>iGEANT6-P-ONLY</group-name> - <next-hop-self>true</next-hop-self> - <type>internal</type> - <peer-as>{{ geant_re_as_number }}</peer-as> - <capability-negotiation>true</capability-negotiation> - <local-address>{{ lo_ipv6_address }}</local-address> - <family> - <mcast-ipv6>true</mcast-ipv6> - </family> - </group> - {# Here goes the neighbors#} - </bgp> diff --git a/geant/gap_ansible/roles/base_config/templates/routers/nokia/router/static_routes.j2 b/geant/gap_ansible/roles/base_config/templates/routers/nokia/router/static_routes.j2 deleted file mode 100644 index f2d98eae..00000000 --- a/geant/gap_ansible/roles/base_config/templates/routers/nokia/router/static_routes.j2 +++ /dev/null @@ -1,23 +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" alu:operation="replace"> - {% for route in nokia_static_routes %} - <route> - <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 %} - </route> - {% endfor %} - </static-routes> - diff --git a/geant/gap_ansible/roles/base_config/vars/main.yml b/geant/gap_ansible/roles/base_config/vars/main.yml index ab70cced..81deab47 100644 --- a/geant/gap_ansible/roles/base_config/vars/main.yml +++ b/geant/gap_ansible/roles/base_config/vars/main.yml @@ -16,6 +16,8 @@ lt_ipv4_network: "{{ wfo_router.router.router_ias_lt_ipv4_network }}" lt_ipv6_network: "{{ wfo_router.router.router_ias_lt_ipv6_network }}" site_country_code: "{{ wfo_router.router.router_site.site_country_code }}" is_ias_connected: "{{ wfo_router.router.is_ias_connected }}" +router_tier: "{{ wfo_router.router.router_site.site_tier }}" +router_role: "{{ wfo_router.router.router_role }}" mytemplates: template_name: base_config diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/base_config.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/base_config.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/base_config.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/base_config.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/chassis.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/chassis.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/chassis.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/chassis.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/class_of_service.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/class_of_service.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/class_of_service.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/class_of_service.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/firewall.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/firewall.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/firewall.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/firewall.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/forwarding_options.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/forwarding_options.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/forwarding_options.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/forwarding_options.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/groups.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/groups.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/groups.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/groups.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/interfaces.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/interfaces.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/interfaces.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/interfaces.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/policy_options.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/policy_options.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/policy_options.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/policy_options.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/policy_statements.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/policy_statements.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/policy_statements.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/policy_statements.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/protocols/bgp.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/protocols/bgp.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/protocols/bgp.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/protocols/bgp.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/protocols/global_msdp.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/protocols/global_msdp.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/protocols/global_msdp.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/protocols/global_msdp.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/protocols/igmp.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/protocols/igmp.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/protocols/igmp.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/protocols/igmp.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/protocols/internal_msdp.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/protocols/internal_msdp.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/protocols/internal_msdp.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/protocols/internal_msdp.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/protocols/isis.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/protocols/isis.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/protocols/isis.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/protocols/isis.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/protocols/ldp.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/protocols/ldp.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/protocols/ldp.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/protocols/ldp.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/protocols/lldp.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/protocols/lldp.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/protocols/lldp.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/protocols/lldp.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/protocols/mld.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/protocols/mld.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/protocols/mld.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/protocols/mld.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/protocols/mpls.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/protocols/mpls.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/protocols/mpls.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/protocols/mpls.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/protocols/neighbor-discovery.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/protocols/neighbor-discovery.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/protocols/neighbor-discovery.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/protocols/neighbor-discovery.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/protocols/pim.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/protocols/pim.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/protocols/pim.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/protocols/pim.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/protocols/protocols_global.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/protocols/protocols_global.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/protocols/protocols_global.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/protocols/protocols_global.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/protocols/rsvp.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/protocols/rsvp.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/protocols/rsvp.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/protocols/rsvp.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/routing_instances.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/routing_instances.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/routing_instances.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/routing_instances.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/routing_options.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/routing_options.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/routing_options.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/routing_options.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/services.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/services.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/services.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/services.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/snmp.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/snmp.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/snmp.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/snmp.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/system/general.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/system/general.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/system/general.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/system/general.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/system/login.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/system/login.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/system/login.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/system/login.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/system/ntp.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/system/ntp.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/system/ntp.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/system/ntp.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/system/radius-server.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/system/radius-server.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/system/radius-server.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/system/radius-server.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/system/services.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/system/services.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/system/services.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/system/services.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/system/syslog.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/system/syslog.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/system/syslog.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/system/syslog.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/juniper/system/system_global.j2 b/geant/gap_ansible/roles/bc_templates/routers/juniper/system/system_global.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/juniper/system/system_global.j2 rename to geant/gap_ansible/roles/bc_templates/routers/juniper/system/system_global.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/nokia/base_config.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/base_config.j2 similarity index 60% rename from geant/gap_ansible/roles/base_config/templates/routers/nokia/base_config.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/base_config.j2 index bb04f77d..590a0eb8 100644 --- a/geant/gap_ansible/roles/base_config/templates/routers/nokia/base_config.j2 +++ b/geant/gap_ansible/roles/bc_templates/routers/nokia/base_config.j2 @@ -6,11 +6,11 @@ {% include 'sfm.j2' %} {% include 'cards.j2' %} {% include 'connectors.j2' %} - {% include 'ntp.j2' %} - {% include 'ip_prefix_list.j2' %} - {% include 'filters/cpm_filters.j2' %} - {% include 'syslog/syslog.j2' %} - {% include 'system/security/security.j2' %} - {% include 'qos/qos.j2' %} + {#{% include 'ntp.j2' %}#} + {#{% include 'ip_prefix_list.j2' %}#} + {#{% include 'filters/cpm_filters.j2' %}#} + {#{% include 'syslog/syslog.j2' %}#} + {#{% include 'system/security/security.j2' %}#} + {#{% include 'qos/qos.j2' %}#} </configure> </config> diff --git a/geant/gap_ansible/roles/bc_templates/routers/nokia/cards.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/cards.j2 new file mode 100644 index 00000000..1754c9fb --- /dev/null +++ b/geant/gap_ansible/roles/bc_templates/routers/nokia/cards.j2 @@ -0,0 +1,20 @@ +{% if router_tier == '3' %} + {% set cards=nokia_cards.sr2se %} +{% else %} + {% set cards=nokia_cards.sr7 %} +{% endif %} + {% for card in cards %} + <card 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"> + <slot-number>{{ card.slot }}</slot-number> + <admin-state>enable</admin-state> + <card-type>{{ card.card_type }}</card-type> + {% for mda in card.mdas %} + <mda> + <mda-slot>{{mda.mda_slot}}</mda-slot> + <admin-state>enable</admin-state> + <mda-type>{{ mda.mda_type }}</mda-type> + <level>{{ mda.mda_level }}</level> + </mda> + {% endfor %} + </card> + {% endfor %} diff --git a/geant/gap_ansible/roles/base_config/templates/routers/nokia/chassis.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/chassis.j2 similarity index 60% rename from geant/gap_ansible/roles/base_config/templates/routers/nokia/chassis.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/chassis.j2 index b0fc6782..da1785f5 100644 --- a/geant/gap_ansible/roles/base_config/templates/routers/nokia/chassis.j2 +++ b/geant/gap_ansible/roles/bc_templates/routers/nokia/chassis.j2 @@ -1,17 +1,24 @@ +{% if router_tier == '3' %} + {% set nch=nokia_chassis.sr2se.chassis %} + {% set npsl=nokia_chassis.sr2se.power_safety_level %} +{% else %} + {% set nch=nokia_chassis.sr7.chassis %} + {% set npsl=nokia_chassis.sr7.power_safety_level %} +{% endif %} <chassis 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"> <chassis-class>router</chassis-class> - {% for chassis in nokia_chassis %} - <chassis-number>{{chassis.chassis_id}}</chassis-number> + {% for chassis in nch %} + <chassis-number>{{ chassis.chassis_id }}</chassis-number> {% for power_shelf in chassis.power_shelves %} <power-shelf> - <power-shelf-id>{{ power_shelf.shelf_id}}</power-shelf-id> + <power-shelf-id>{{ power_shelf.shelf_id }}</power-shelf-id> <admin-state>enable</admin-state> <power-shelf-type>{{ power_shelf.shelf_type }}</power-shelf-type> {% for power_module in power_shelf.power_modules %} <power-module> - <power-module-id>{{power_module.power_module_id}}</power-module-id> + <power-module-id>{{ power_module.power_module_id }}</power-module-id> <admin-state>enable</admin-state> - <power-module-type>{{power_module.power_module_type}}</power-module-type> + <power-module-type>{{ power_module.power_module_type }}</power-module-type> </power-module> {% endfor %} </power-shelf> @@ -22,6 +29,6 @@ <power-management 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"> <power-zone>1</power-zone> <mode>none</mode> - <power-safety-level>{{ nokia_power_safety_level }}</power-safety-level> + <power-safety-level>{{ npsl }}</power-safety-level> </power-management> </system> diff --git a/geant/gap_ansible/roles/base_config/templates/routers/nokia/connectors.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/connectors.j2 similarity index 68% rename from geant/gap_ansible/roles/base_config/templates/routers/nokia/connectors.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/connectors.j2 index 6c87e50b..0d67390f 100644 --- a/geant/gap_ansible/roles/base_config/templates/routers/nokia/connectors.j2 +++ b/geant/gap_ansible/roles/bc_templates/routers/nokia/connectors.j2 @@ -1,4 +1,9 @@ - {% for connector in nokia_xma2_connectors %} +{% if router_tier == '3' %} + {% set connectors=nokia_xma2_connectors.sr2se %} +{% else %} + {% set connectors=nokia_xma2_connectors.sr7 %} +{% endif %} + {% for connector in connectors %} <port 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"> <port-id>{{ connector.port_id }}</port-id> <admin-state>enable</admin-state> diff --git a/geant/gap_ansible/roles/base_config/templates/routers/nokia/filters/cpm_filters.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/filters/cpm_filters.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/nokia/filters/cpm_filters.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/filters/cpm_filters.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/nokia/filters/fw_filters.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/filters/fw_filters.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/nokia/filters/fw_filters.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/filters/fw_filters.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/nokia/filters/gen_filters.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/filters/gen_filters.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/nokia/filters/gen_filters.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/filters/gen_filters.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/nokia/filters/port_list_definitions.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/filters/port_list_definitions.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/nokia/filters/port_list_definitions.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/filters/port_list_definitions.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/nokia/filters/port_list_entries.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/filters/port_list_entries.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/nokia/filters/port_list_entries.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/filters/port_list_entries.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/nokia/general.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/general.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/nokia/general.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/general.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/nokia/ip_prefix_list.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/ip_prefix_list.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/nokia/ip_prefix_list.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/ip_prefix_list.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/nokia/ntp.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/ntp.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/nokia/ntp.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/ntp.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/nokia/qos/qos.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/qos/qos.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/nokia/qos/qos.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/qos/qos.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 new file mode 100644 index 00000000..74f967d4 --- /dev/null +++ b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/base_static_routes.j2 @@ -0,0 +1,12 @@ + <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"> + {% if router_role == 'pe' %} + {% with static_routes_obj=nokia_pe_static_routes %} + {% include 'router/static_routes.j2' %} + {% endwith %} + {% else %} + {% with static_routes_obj=nokia_p_static_routes %} + {% include 'router/static_routes.j2' %} + {% endwith %} + {% endif %} + </static-routes> + 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 new file mode 100644 index 00000000..0ed7821c --- /dev/null +++ b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/bgp.j2 @@ -0,0 +1,20 @@ + <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' %} + {% 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 %} +{% else %} + {% with bgp_base_obj=p_bgp_base, bgp_obj=p_bgp_internal, bgp_context='bgp_base' %} + {% include 'router/bgp_base' %} + {% include 'router/bgp_group' %} + {% endwith %} +{% endif %} + </bgp> + diff --git a/geant/gap_ansible/roles/bc_templates/routers/nokia/router/bgp_base.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/bgp_base.j2 new file mode 100644 index 00000000..965c97b0 --- /dev/null +++ b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/bgp_base.j2 @@ -0,0 +1,55 @@ + {% 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/bc_templates/routers/nokia/router/bgp_group.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/bgp_group.j2 new file mode 100644 index 00000000..78e3216a --- /dev/null +++ b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/bgp_group.j2 @@ -0,0 +1,84 @@ + {% 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/bc_templates/routers/nokia/router/bgp_neighbor.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/bgp_neighbor.j2 new file mode 100644 index 00000000..837bc54a --- /dev/null +++ b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/bgp_neighbor.j2 @@ -0,0 +1,46 @@ + {% 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/bc_templates/routers/nokia/router/delete_default_static_routes.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/delete_default_static_routes.j2 new file mode 100644 index 00000000..f3d8d46b --- /dev/null +++ b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/delete_default_static_routes.j2 @@ -0,0 +1,15 @@ +<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/bc_templates/routers/nokia/router/flowspec.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/flowspec.j2 new file mode 100644 index 00000000..e1f40f15 --- /dev/null +++ b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/flowspec.j2 @@ -0,0 +1,6 @@ + + <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/base_config/templates/routers/nokia/router/isis.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/isis.j2 similarity index 87% rename from geant/gap_ansible/roles/base_config/templates/routers/nokia/router/isis.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/router/isis.j2 index ca49ef81..9ea51d2e 100644 --- a/geant/gap_ansible/roles/base_config/templates/routers/nokia/router/isis.j2 +++ b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/isis.j2 @@ -16,10 +16,6 @@ <timeout>300</timeout> </overload-on-boot> <loopfree-alternate> - {# <remote-lfa> #} - {# <node-protect> #} - {# </node-protect> #} - {# </remote-lfa> #} <ti-lfa> <node-protect> </node-protect> @@ -38,10 +34,10 @@ <admin-state>enable</admin-state> <passive>true</passive> <ipv4-node-sid> - <index>4{{ last_octet_filled }}</index> + <index>4{{ last_octet_filled }}</index> </ipv4-node-sid> <ipv6-node-sid> - <index>6{{ last_octet_filled }}</index> + <index>6{{ last_octet_filled }}</index> </ipv6-node-sid> </interface> <level> diff --git a/geant/gap_ansible/roles/bc_templates/routers/nokia/router/isis_overload.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/isis_overload.j2 new file mode 100644 index 00000000..c8d177ab --- /dev/null +++ b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/isis_overload.j2 @@ -0,0 +1,18 @@ +<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/bc_templates/routers/nokia/router/ldp.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/ldp.j2 new file mode 100644 index 00000000..8a312b71 --- /dev/null +++ b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/ldp.j2 @@ -0,0 +1,7 @@ + <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/bc_templates/routers/nokia/router/p_to_pe_router_base.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/p_to_pe_router_base.j2 new file mode 100644 index 00000000..621d8348 --- /dev/null +++ b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/p_to_pe_router_base.j2 @@ -0,0 +1,13 @@ + <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/base_config/templates/routers/nokia/router/pim.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/pim.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/nokia/router/pim.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/router/pim.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/nokia/router/router_base.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/router_base.j2 similarity index 98% rename from geant/gap_ansible/roles/base_config/templates/routers/nokia/router/router_base.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/router/router_base.j2 index 3bc40fc7..4ebc97d0 100644 --- a/geant/gap_ansible/roles/base_config/templates/routers/nokia/router/router_base.j2 +++ b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/router_base.j2 @@ -38,7 +38,7 @@ <interface-name>system</interface-name> </interface> </rsvp> - {% include 'router/static_routes.j2' %} + {% include 'router/base_static_routes.j2' %} {% include 'router/bgp.j2' %} {% include 'router/isis.j2' %} {% include 'router/pim.j2' %} diff --git a/geant/gap_ansible/roles/bc_templates/routers/nokia/router/rpki.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/rpki.j2 new file mode 100644 index 00000000..ce18ab74 --- /dev/null +++ b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/rpki.j2 @@ -0,0 +1,13 @@ + <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/bc_templates/routers/nokia/router/static_routes.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/static_routes.j2 new file mode 100644 index 00000000..1c1d8f4b --- /dev/null +++ b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/static_routes.j2 @@ -0,0 +1,38 @@ + <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/bc_templates/routers/nokia/router/vprn.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/vprn.j2 new file mode 100644 index 00000000..23185e59 --- /dev/null +++ b/geant/gap_ansible/roles/bc_templates/routers/nokia/router/vprn.j2 @@ -0,0 +1,47 @@ + {% 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/base_config/templates/routers/nokia/sfm.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/sfm.j2 similarity index 71% rename from geant/gap_ansible/roles/base_config/templates/routers/nokia/sfm.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/sfm.j2 index aaee64dd..0f6f9748 100644 --- a/geant/gap_ansible/roles/base_config/templates/routers/nokia/sfm.j2 +++ b/geant/gap_ansible/roles/bc_templates/routers/nokia/sfm.j2 @@ -1,3 +1,8 @@ +{% if router_tier == '3' %} + {% set nokia_sfms=nokia_chassis.sr2se.sfms %} +{% else %} + {% set nokia_sfms=nokia_chassis.sr7.sfms %} +{% endif %} {% for sfm in nokia_sfms %} <sfm 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"> <sfm-slot>{{ sfm.sfm_id }}</sfm-slot> diff --git a/geant/gap_ansible/roles/base_config/templates/routers/nokia/syslog/log_filter.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/syslog/log_filter.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/nokia/syslog/log_filter.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/syslog/log_filter.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/nokia/syslog/log_id.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/syslog/log_id.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/nokia/syslog/log_id.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/syslog/log_id.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/nokia/syslog/syslog.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/syslog/syslog.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/nokia/syslog/syslog.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/syslog/syslog.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/nokia/system/security/aaa_local_profiles.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/system/security/aaa_local_profiles.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/nokia/system/security/aaa_local_profiles.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/system/security/aaa_local_profiles.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/nokia/system/security/aaa_radius_auth.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/system/security/aaa_radius_auth.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/nokia/system/security/aaa_radius_auth.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/system/security/aaa_radius_auth.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/nokia/system/security/dist_cpu_protection.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/system/security/dist_cpu_protection.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/nokia/system/security/dist_cpu_protection.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/system/security/dist_cpu_protection.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/nokia/system/security/security.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/system/security/security.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/nokia/system/security/security.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/system/security/security.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/nokia/system/security/snmp.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/system/security/snmp.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/nokia/system/security/snmp.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/system/security/snmp.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/nokia/system/security/source_addresses.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/system/security/source_addresses.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/nokia/system/security/source_addresses.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/system/security/source_addresses.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/nokia/system/security/ssh.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/system/security/ssh.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/nokia/system/security/ssh.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/system/security/ssh.j2 diff --git a/geant/gap_ansible/roles/base_config/templates/routers/nokia/system/security/user_params.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/system/security/user_params.j2 similarity index 100% rename from geant/gap_ansible/roles/base_config/templates/routers/nokia/system/security/user_params.j2 rename to geant/gap_ansible/roles/bc_templates/routers/nokia/system/security/user_params.j2 -- GitLab