From c2c98f8f12d028e04f9342d04437c4ecc1ff3e99 Mon Sep 17 00:00:00 2001
From: Aleksandr Kurbatov <aleksandr.kurbatov@GL1342.local>
Date: Fri, 8 Mar 2024 12:17:16 +0000
Subject: [PATCH] v1.0.50
---
.../templates/nokia/trunk_deprovision.j2 | 66 +++++++++++++++++++
1 file changed, 66 insertions(+)
create mode 100644 geant/gap_ansible/roles/iptrunk_migration/templates/nokia/trunk_deprovision.j2
diff --git a/geant/gap_ansible/roles/iptrunk_migration/templates/nokia/trunk_deprovision.j2 b/geant/gap_ansible/roles/iptrunk_migration/templates/nokia/trunk_deprovision.j2
new file mode 100644
index 00000000..0bde57ad
--- /dev/null
+++ b/geant/gap_ansible/roles/iptrunk_migration/templates/nokia/trunk_deprovision.j2
@@ -0,0 +1,66 @@
+<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">
+
+{##}
+{% for trunk in trunks %}
+ {% if inventory_hostname == trunk.config.nodeA.name %}
+ {% set local= trunk.config.nodeA %}
+ {% set remote= trunk.config.nodeB %}
+ {% set common= trunk.config.common %}
+ {% endif %}
+ {% if inventory_hostname == trunk.config.nodeB.name %}
+ {% set local= trunk.config.nodeB %}
+ {% set remote= trunk.config.nodeA %}
+ {% set common= trunk.config.common %}
+ {% endif %}
+
+ {% if local is defined %}
+ {##}
+ {# I need to sort the source and the destination alfabetically #}
+ {% set trunk_direction_name = [ local.name.split(".")[1] | upper, remote.name.split(".")[1] | upper ] %}
+ {% set trunk_direction_name_sorted = trunk_direction_name|sort %}
+{##}
+
+{% for member in local.members %}
+ <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="delete">
+ <port-id>{{ member.interface_name }}</port-id>
+ </port>
+{% endfor %}
+
+ <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="delete">
+ <lag-name>{{ local.ae_name }}</lag-name>
+ </lag>
+
+ <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>
+ <interface alu:operation="delete">
+ <interface-name>{{ local.ae_name }}.0</interface-name>
+ </interface>
+ <isis 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">
+ <isis-instance>0</isis-instance>
+ <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" alu:operation="delete">
+ <interface-name>{{ local.ae_name }}.0</interface-name>
+ </interface>
+ </isis>
+ <mpls 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 alu:operation="delete">
+ <interface-name>{{ local.ae_name | lower }}.0</interface-name>
+ </interface>
+ </mpls>
+ <pim 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 alu:operation="delete">
+ <interface-name>{{ local.ae_name | lower }}.0</interface-name>
+ </interface>
+ </pim>
+ <rsvp 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 alu:operation="delete">
+ <interface-name>{{ local.ae_name | lower }}.0</interface-name>
+ </interface>
+ </rsvp>
+ </router>
+
+ {% endif %}
+{% endfor %}
+
+ </configure>
+</config>
--
GitLab