diff --git a/geant/gap_ansible/roles/l2circuits/tasks/merge_vars.yaml b/geant/gap_ansible/roles/l2circuits/tasks/merge_vars.yaml
index 0cc0f1296fe6af19afa674d075377fc6a9029713..62f4834d6fb3ed80707942d000b204e04a27a16e 100644
--- a/geant/gap_ansible/roles/l2circuits/tasks/merge_vars.yaml
+++ b/geant/gap_ansible/roles/l2circuits/tasks/merge_vars.yaml
@@ -14,12 +14,42 @@
- name: Set partner names for the l2circuit Local endpoint
ansible.builtin.set_fact:
- local_partner_name: "{{ local_side.sbp.edge_port.partner_name }}"
+ local_partner_name: "{{ local_side.sbp.edge_port.partner_name | upper }}"
- name: Set partner names for the l2circuit Remote endpoint
when: not local_cross_connect
ansible.builtin.set_fact:
- remote_partner_name: "{{ remote_side.sbp.edge_port.partner_name }}"
+ remote_partner_name: "{{ remote_side.sbp.edge_port.partner_name | upper }}"
+
+- name: Set partners combination for the service description
+ when: not local_cross_connect
+ ansible.builtin.set_fact:
+ partners_sorted: "{{ [local_partner_name, remote_partner_name] | sort | join(' ') }}"
+
+- name: Set IMS service name to subscription custom_service_name if it is defined
+ when: subscription.layer_2_circuit.custom_service_name is not none
+ ansible.builtin.set_fact:
+ ims_service_name: "{{ subscription.layer_2_circuit.custom_service_name }}"
+
+- name: Calculate IMS service name
+ when: subscription.layer_2_circuit.custom_service_name is none
+ block:
+ - name: Set local and remote site names
+ ansible.builtin.set_fact:
+ local_site_name: "{{ local_side.sbp.edge_port.node.router_site.site_name }}"
+ remote_site_name: "{{ remote_side.sbp.edge_port.node.router_site.site_name }}"
+
+ - name: Sort site names alphabetically
+ ansible.builtin.set_fact:
+ site_names_sorted: "{{ [local_site_name, remote_site_name] | sort | join('-') }}"
+
+ - name: Extract last 5 digits from the GS-ID
+ ansible.builtin.set_fact:
+ gsid: "{{ local_side.sbp.gs_id[-5:] | join('') }}"
+
+ - name: Put IMS name together
+ ansible.builtin.set_fact:
+ ims_service_name: "{{ site_names_sorted + '-' + gsid }}"
- name: Calculate SDP to use locally
when: not local_cross_connect
diff --git a/geant/gap_ansible/roles/l2circuits/templates/juniper/deploy/l2circuit.j2 b/geant/gap_ansible/roles/l2circuits/templates/juniper/deploy/l2circuit.j2
index 10c3fac616d8bd950426a3da36912b0c71104bab..286b42c8a664e6ec6b139bc4ead78fe91514ef1d 100644
--- a/geant/gap_ansible/roles/l2circuits/templates/juniper/deploy/l2circuit.j2
+++ b/geant/gap_ansible/roles/l2circuits/templates/juniper/deploy/l2circuit.j2
@@ -1,4 +1,4 @@
-set interfaces {{ l2circuits_lag_name }} unit {{ l2circuits_vlan }} description "SRV_L2CIRCUIT CUSTOMER {{ local_partner_name | upper }} {{ remote_partner_name | upper }} #{{ l2circuits_custom_service_name | replace(' ', '_') }} ${{ local_side.sbp.gs_id }}"
+set interfaces {{ l2circuits_lag_name }} unit {{ l2circuits_vlan }} description "SRV_L2CIRCUIT CUSTOMER {{ patners_sorted }} #{{ ims_service_name }} ${{ local_side.sbp.gs_id }}"
set interfaces {{ l2circuits_lag_name }} unit {{ l2circuits_vlan }} encapsulation vlan-ccc
set interfaces {{ l2circuits_lag_name }} unit {{ l2circuits_vlan }} family ccc
{% if l2circuits_l2c_type == 'Ethernet' %}
diff --git a/geant/gap_ansible/roles/l2circuits/templates/nokia/deploy/l2circuit.j2 b/geant/gap_ansible/roles/l2circuits/templates/nokia/deploy/l2circuit.j2
index 55bb35731a1669f695539f873cf0ee497abb6bdd..69b51aaf9be90186825f083f1bb7b5b8907e0e26 100644
--- a/geant/gap_ansible/roles/l2circuits/templates/nokia/deploy/l2circuit.j2
+++ b/geant/gap_ansible/roles/l2circuits/templates/nokia/deploy/l2circuit.j2
@@ -1,4 +1,3 @@
-{#{% if l2circuits_is_standalone_run %}#}
<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">
@@ -14,14 +13,12 @@
</connection-profile>
{% endif %}
-{% set csn = '#'+l2circuits_custom_service_name|replace(' ', '_') if l2circuits_custom_service_name|length > 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">
<epipe alu:operation="replace">
- <service-name>EPIPE:{{ l2circuits_custom_service_name | replace(' ', '_') }}:{{ l2circuits_l2c_vcid }}</service-name>
+ <service-name>EPIPE:{{ ims_service_name }}:{{ l2circuits_l2c_vcid }}</service-name>
<admin-state>enable</admin-state>
- <description>SRV_L2CIRCUIT CUSTOMER {{ local_partner_name | upper }} {{ remote_partner_name | upper }} {{ csn | replace(' ', '_') if csn is defined }} ${{ local_side.sbp.gs_id }}</description>
+ <description>SRV_L2CIRCUIT CUSTOMER {{ partners_sorted }} #{{ ims_service_name }} ${{ local_side.sbp.gs_id }}</description>
<service-id>{{ l2circuits_l2c_vcid }}</service-id>
<customer>1</customer>
<service-mtu>{{ service_mtu.nokia }}</service-mtu>
diff --git a/geant/gap_ansible/roles/l2circuits/templates/nokia/terminate/l2circuit.j2 b/geant/gap_ansible/roles/l2circuits/templates/nokia/terminate/l2circuit.j2
index eb28e6a96209b036cf1aa4c195f9e87236041be1..798ac868da27846417c03bf9dd7c7c554cbb2cf3 100644
--- a/geant/gap_ansible/roles/l2circuits/templates/nokia/terminate/l2circuit.j2
+++ b/geant/gap_ansible/roles/l2circuits/templates/nokia/terminate/l2circuit.j2
@@ -11,7 +11,7 @@
<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">
<epipe alu:operation="delete">
- <service-name>EPIPE:{{ l2circuits_custom_service_name | replace(' ', '_') }}:{{ l2circuits_l2c_vcid }}</service-name>
+ <service-name>EPIPE:{{ ims_service_name }}:{{ l2circuits_l2c_vcid }}</service-name>
</epipe>
</service>
diff --git a/geant/gap_ansible/roles/l2circuits/vars/main.yml b/geant/gap_ansible/roles/l2circuits/vars/main.yml
index 9380163eadc7eab68f42813dec8c5b2bb6654ed7..a3ec77d23e5b078153d1f575425688f90f433473 100644
--- a/geant/gap_ansible/roles/l2circuits/vars/main.yml
+++ b/geant/gap_ansible/roles/l2circuits/vars/main.yml
@@ -9,4 +9,4 @@ l2circuits_lag_name: "{{ l2c_side.sbp.edge_port.edge_port_name }}"
l2circuits_vlan: "{{ l2c_side.sbp.vlan_id }}"
l2circuits_l2c_type: "{{ subscription.layer_2_circuit.layer_2_circuit_type }}"
l2circuits_l2c_vcid: "{{ subscription.layer_2_circuit.virtual_circuit_id }}"
-l2circuits_custom_service_name: "{{ subscription.layer_2_circuit.custom_service_name }}"
+# l2circuits_custom_service_name: "{{ subscription.layer_2_circuit.custom_service_name }}"