From 9b64216bc28600fa75a92e022446db20caeefa43 Mon Sep 17 00:00:00 2001 From: Aleksandr Kurbatov <ak@geant.org> Date: Thu, 1 May 2025 13:06:29 +0100 Subject: [PATCH] Add Juniper templates for `create` and `update` --- .../templates/juniper/edge_port_create.j2 | 5 ---- .../templates/juniper/edge_port_update.j2 | 23 +++++++++++++++++++ 2 files changed, 23 insertions(+), 5 deletions(-) create mode 100644 geant/gap_ansible/roles/edge_port/templates/juniper/edge_port_update.j2 diff --git a/geant/gap_ansible/roles/edge_port/templates/juniper/edge_port_create.j2 b/geant/gap_ansible/roles/edge_port/templates/juniper/edge_port_create.j2 index b5f6bb6..e9be698 100644 --- a/geant/gap_ansible/roles/edge_port/templates/juniper/edge_port_create.j2 +++ b/geant/gap_ansible/roles/edge_port/templates/juniper/edge_port_create.j2 @@ -6,11 +6,6 @@ set interfaces {{ member.interface_name }} description "PHY CUSTOMER {{ partner_name }} P_{{ ep.edge_port_name }}{{ ' | '+member.interface_description if member.interface_description is string }}" set interfaces {{ member.interface_name }} gigether-options 802.3ad {{ ep.edge_port_name }} {% endfor %} -{% if removed_ae_members is defined and removed_ae_members|length > 0 %} - {% for member in removed_ae_members %} -deactivate {{ member.interface_name }} - {% endfor %} -{% endif %} set interfaces {{ ep.edge_port_name }} description "LAG {{ ep.edge_port_type }} {{ partner_name }}{{ ' | '+gaid_prefix+ep.ga_id if ep.ga_id is string }}{{ ' | '+csn_prefix+(ep.custom_service_name | replace("#","")) if ep.custom_service_name is string }}{{ ' | '+ep.edge_port_description if ep.edge_port_description is string }}" set interfaces {{ ep.edge_port_name }} {{ 'flexible-vlan-tagging' if ep.encapsulation == 'qinq' else 'vlan-tagging' }} diff --git a/geant/gap_ansible/roles/edge_port/templates/juniper/edge_port_update.j2 b/geant/gap_ansible/roles/edge_port/templates/juniper/edge_port_update.j2 new file mode 100644 index 0000000..da7dcd3 --- /dev/null +++ b/geant/gap_ansible/roles/edge_port/templates/juniper/edge_port_update.j2 @@ -0,0 +1,23 @@ +{% set gaid_prefix = '$' %} +{% set csn_prefix = '#' %} + + +{% for member in ep.edge_port_ae_members %} +set interfaces {{ member.interface_name }} description "PHY CUSTOMER {{ partner_name }} P_{{ ep.edge_port_name }}{{ ' | '+member.interface_description if member.interface_description is string }}" +set interfaces {{ member.interface_name }} gigether-options 802.3ad {{ ep.edge_port_name }} +{% endfor %} +{% if removed_ae_members is defined and removed_ae_members|length > 0 %} + {% for member in removed_ae_members %} +delete interfaces {{ member.interface_name }} + {% endfor %} +{% endif %} + +set interfaces {{ ep.edge_port_name }} description "LAG {{ ep.edge_port_type }} {{ partner_name }}{{ ' | '+gaid_prefix+ep.ga_id if ep.ga_id is string }}{{ ' | '+csn_prefix+(ep.custom_service_name | replace("#","")) if ep.custom_service_name is string }}{{ ' | '+ep.edge_port_description if ep.edge_port_description is string }}" +set interfaces {{ ep.edge_port_name }} {{ 'flexible-vlan-tagging' if ep.encapsulation == 'qinq' else 'vlan-tagging' }} +set interfaces {{ ep.edge_port_name }} mtu 9192 +set interfaces {{ ep.edge_port_name }} encapsulation flexible-ethernet-services +set interfaces {{ ep.edge_port_name }} aggregated-ether-options minimum-links {{ ep.minimum_links }} +set interfaces {{ ep.edge_port_name }} aggregated-ether-options link-speed {{ ep.member_speed | lower }} +{% if ep.enable_lacp %} +set interfaces {{ ep.edge_port_name }} aggregated-ether-options lacp active +{% endif %} -- GitLab