From bf3b6d98ad40c26bb85e168788ca517f5f4c4181 Mon Sep 17 00:00:00 2001
From: Simone Spinelli <simone.spinelli@geant.org>
Date: Fri, 16 Feb 2024 13:42:39 +0100
Subject: [PATCH] Update JUNOS and NOKIA trunk_interface template to manage
 interface removals

---
 .../roles/iptrunk/templates/juniper/trunk_interface.j2   | 7 +++++++
 .../roles/iptrunk/templates/nokia/trunk_interface.j2     | 9 +++++++++
 2 files changed, 16 insertions(+)

diff --git a/geant/gap_ansible/roles/iptrunk/templates/juniper/trunk_interface.j2 b/geant/gap_ansible/roles/iptrunk/templates/juniper/trunk_interface.j2
index e143cf0d..143f4715 100644
--- a/geant/gap_ansible/roles/iptrunk/templates/juniper/trunk_interface.j2
+++ b/geant/gap_ansible/roles/iptrunk/templates/juniper/trunk_interface.j2
@@ -77,6 +77,13 @@
         }
     {% endfor %}
     }
+    {% if removed_ae_members is defined %}
+    {% for member in removed_ae_members %}
+    replace: {{ member.interface_name }} {
+    description "PHY SPARE";
+        }
+    {% endfor %}
+    {% endif %}
     protocols {
         lldp {
         {% for member in local.members %}
diff --git a/geant/gap_ansible/roles/iptrunk/templates/nokia/trunk_interface.j2 b/geant/gap_ansible/roles/iptrunk/templates/nokia/trunk_interface.j2
index 0aa8b0c8..175059c3 100644
--- a/geant/gap_ansible/roles/iptrunk/templates/nokia/trunk_interface.j2
+++ b/geant/gap_ansible/roles/iptrunk/templates/nokia/trunk_interface.j2
@@ -43,6 +43,15 @@
           </ethernet>
       </port>
 {% endfor %}
+{% if removed_ae_members is defined %}
+      <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>{{ member.interface_name }}</port-id>
+          <admin-state>disable</admin-state>
+          <description>PHY SPARE</description>
+      </port>
+{% for member in removed_ae_members %}
+{% endfor %}
+{% endif %}
       <lag 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">
           <lag-name>{{ local.ae_name | lower }}</lag-name>
           <admin-state>enable</admin-state>
-- 
GitLab