Skip to content
Snippets Groups Projects
Commit 8c0bae8e authored by Aleksandr Kurbatov's avatar Aleksandr Kurbatov
Browse files

Merge branch 'feature/nat-1185-iptrunk-versions' into 'develop'

Feature/nat 1185 iptrunk versions

See merge request !268
parents 20d80267 77371025
No related branches found
No related tags found
1 merge request!268Feature/nat 1185 iptrunk versions
Pipeline #94178 passed
Showing
with 89 additions and 18 deletions
......@@ -39,7 +39,8 @@
geant.gap_ansible.nokia_netconf_config:
format: xml
default_operation: merge
content: "{{ lookup('ansible.builtin.template', '{{ local_side.iptrunk_side_node.vendor }}/{{ config_object }}.j2') }}"
content: "{{ lookup('ansible.builtin.file', '{{ play_storage_path }}/{{ config_object }}.conf') }}"
# content: "{{ lookup('ansible.builtin.template', '{{ local_side.iptrunk_side_node.vendor }}/{{ config_object }}.j2') }}"
commit: true
config_mode: private
diff: true
......@@ -65,7 +66,8 @@
geant.gap_ansible.nokia_netconf_config:
format: xml
default_operation: merge
content: "{{ lookup('ansible.builtin.template', '{{ local_side.iptrunk_side_node.vendor }}/{{ config_object }}.j2') }}"
content: "{{ lookup('ansible.builtin.file', '{{ play_storage_path }}/{{ config_object }}.conf') }}"
# content: "{{ lookup('ansible.builtin.template', '{{ local_side.iptrunk_side_node.vendor }}/{{ config_object }}.j2') }}"
commit: true
commit_comment: "{{ commit_comment }}"
config_mode: private
......
......@@ -54,6 +54,9 @@
when:
( local_side.iptrunk_side_node.router_access_via_ts | ansible.builtin.bool ) is true
- name: Include setting the trunk version
ansible.builtin.include_tasks: set_trunk_version.yaml
- name: Include compiling the template
ansible.builtin.include_tasks: compile_object.yaml
when: (verb in verbs)
......
../../../tasks/set_trunk_version.yaml
\ No newline at end of file
......@@ -38,8 +38,13 @@
{% if common.trunk_type != "Dark_fiber" %}
bfd-liveness-detection {
minimum-interval {{ bfd_min_interval }};
{% if trunk_version | float < 2.0 %}
neighbor {{ remote['loopback'] }};
local-address {{local['loopback']}};
{% else %}
neighbor {{ (remote.ipv4_address | split('/'))[0] }};
local-address {{ (local.ipv4_address | split('/'))[0] }};
{% endif %}
}
{% endif %}
{% if (common.minimum_links | int) > 0 %}
......
......@@ -4,19 +4,19 @@
{##}
{% 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 %}
{% set local = trunk.config.nodeA %}
{% set remote = trunk.config.nodeB %}
{% set common = trunk.config.common %}
{% if removed_ae_members is defined %}
{% set side_removed_ae_members= removed_ae_members[0] %}
{% set side_removed_ae_members = removed_ae_members[0] %}
{% endif %}
{% endif %}
{% if inventory_hostname == trunk.config.nodeB.name %}
{% set local= trunk.config.nodeB %}
{% set remote= trunk.config.nodeA %}
{% set common= trunk.config.common %}
{% set local = trunk.config.nodeB %}
{% set remote = trunk.config.nodeA %}
{% set common = trunk.config.common %}
{% if removed_ae_members is defined %}
{% set side_removed_ae_members= removed_ae_members[1] %}
{% set side_removed_ae_members = removed_ae_members[1] %}
{% endif %}
{% endif %}
......@@ -50,6 +50,13 @@
</tx-tlvs>
</dest-mac>
</lldp>
{% if trunk_version | float >= 2.0 %}
<network>
<egress>
<queue-policy>GEANT_BASIC</queue-policy>
</egress>
</network>
{% endif %}
</ethernet>
</port>
{% endfor %}
......@@ -89,8 +96,14 @@
<multiplier>3</multiplier>
<receive-interval>{{ bfd_min_interval }}</receive-interval>
<transmit-interval>{{ bfd_min_interval }}</transmit-interval>
{% if trunk_version | float < 2.0 %}
<local-ip-address>{{ local['loopback'] }}</local-ip-address>
<remote-ip-address>{{ remote['loopback'] }}</remote-ip-address>
{% else %}
<bfd-on-distributing-only>true</bfd-on-distributing-only>
<local-ip-address>{{ (local.ipv4_address | split('/'))[0] }}</local-ip-address>
<remote-ip-address>{{ (remote.ipv4_address | split('/'))[0] }}</remote-ip-address>
{% endif %}
</ipv4>
</bfd-liveness>
{% endif %}
......@@ -101,7 +114,9 @@
<interface-name>{{ local.ae_name | lower }}.0</interface-name>
<admin-state>enable</admin-state>
<description>SRV_GLOBAL INFRASTRUCTURE BACKBONE #{{ trunk_direction_name_sorted[0] }}-{{ trunk_direction_name_sorted[1] }}{{ trunk_suffix if trunk_suffix is defined }}-IPTRUNK ${{ trunk.id }} | {{ trunk_direction_name_sorted[0] }}-{{ trunk_direction_name_sorted[1] }} | {{ common.description }}</description>
{% if trunk_version | float < 2.0 %}
<ip-mtu>{{ mtu_ip }}</ip-mtu>
{% endif %}
<port>{{ local.ae_name | lower }}</port>
<ipv4>
<icmp>
......
......@@ -39,6 +39,7 @@ trunks:
- id: "{{ wfo_trunk.iptrunk.gs_id }}"
config:
common:
# trunk_version: "{{ wfo_trunk.iptrunk.iptrunk_config_version }}"
description: "{{ wfo_trunk.iptrunk.iptrunk_description }}"
speed: "{{ wfo_trunk.iptrunk.iptrunk_speed }}"
isis_metric: "{{ wfo_trunk.iptrunk.iptrunk_isis_metric }}"
......
......@@ -2,6 +2,7 @@
ansible.builtin.set_fact:
new_ipv4_address: "{{ side_a_ipv4_address }}"
new_ipv6_address: "{{ side_a_ipv6_address }}"
remain_ipv4_address: "{{ side_b_ipv4_address }}"
when:
(replace_index|int) == 0
......@@ -9,5 +10,6 @@
ansible.builtin.set_fact:
new_ipv4_address: "{{ side_b_ipv4_address }}"
new_ipv6_address: "{{ side_b_ipv6_address }}"
remain_ipv4_address: "{{ side_a_ipv4_address }}"
when:
(replace_index|int) == 1
......@@ -28,6 +28,9 @@
ansible.builtin.debug:
msg: "{{ new_node.router.router_fqdn }}"
- name: Include set trunk version tasks
ansible.builtin.include_tasks: set_trunk_version.yaml
- name: Include configure storage tasks
ansible.builtin.include_tasks: configure_storage.yaml
......@@ -80,9 +83,13 @@
when: verb == "deploy" and inventory_hostname == new_node.router.router_fqdn
- name: Compile update for the remaining node (BFD update)
ansible.builtin.include_tasks: compile_template.yaml
when: verb == "update" and inventory_hostname == remaining_side.name
block:
- name: Include calculate_ips
ansible.builtin.include_tasks: calculate_ips.yaml
- name: Include update for the remaining node (BFD update)
ansible.builtin.include_tasks: bfd_update.yaml
when: verb == "update" and inventory_hostname == remaining_side.name
- name: Include compiling template
ansible.builtin.include_tasks: compile_template.yaml
- name: Include BFD update
ansible.builtin.include_tasks: bfd_update.yaml
../../../tasks/set_trunk_version.yaml
\ No newline at end of file
......@@ -5,7 +5,11 @@
<lag-name>{{ remaining_side.ae_name | lower }}</lag-name>
<bfd-liveness>
<ipv4>
{% if trunk_version | float < 2.0 %}
<remote-ip-address alu:operation="replace">{{ new_node.router.router_lo_ipv4_address }}</remote-ip-address>
{% else %}
<remote-ip-address alu:operation="replace">{{ (new_ipv4_address | split('/'))[0] }}</remote-ip-address>
{% endif %}
</ipv4>
</bfd-liveness>
</lag>
......
......@@ -25,6 +25,13 @@
</tx-tlvs>
</dest-mac>
</lldp>
{% if trunk_version | float >= 2.0 %}
<network>
<egress>
<queue-policy>GEANT_BASIC</queue-policy>
</egress>
</network>
{% endif %}
</ethernet>
</port>
{% endfor %}
......@@ -55,8 +62,14 @@
<multiplier>3</multiplier>
<receive-interval>{{ bfd_min_interval }}</receive-interval>
<transmit-interval>{{ bfd_min_interval }}</transmit-interval>
{% if trunk_version | float < 2.0 %}
<local-ip-address>{{ new_node.router.router_lo_ipv4_address }}</local-ip-address>
<remote-ip-address>{{ remaining_side['loopback'] }}</remote-ip-address>
{% else %}
<bfd-on-distributing-only>true</bfd-on-distributing-only>
<local-ip-address>{{ (new_ipv4_address | split('/'))[0] }}</local-ip-address>
<remote-ip-address>{{ (remain_ipv4_address | split('/'))[0] }}</remote-ip-address>
{% endif %}
</ipv4>
</bfd-liveness>
{% endif %}
......@@ -78,14 +91,14 @@
</ttl-expired>
</icmp>
<primary>
<address>{{(new_ipv4_address| split('/'))[0]}}</address>
<prefix-length>{{(new_ipv4_address| split('/'))[1]}}</prefix-length>
<address>{{ (new_ipv4_address| split('/'))[0] }}</address>
<prefix-length>{{ (new_ipv4_address| split('/'))[1] }}</prefix-length>
</primary>
</ipv4>
<ipv6>
<address>
<ipv6-address>{{(new_ipv6_address| split('/'))[0]}}</ipv6-address>
<prefix-length>{{(new_ipv6_address| split('/'))[1]}}</prefix-length>
<ipv6-address>{{ (new_ipv6_address| split('/'))[0] }}</ipv6-address>
<prefix-length>{{ (new_ipv6_address| split('/'))[1] }}</prefix-length>
</address>
</ipv6>
<qos>
......
---
- name: Force trunk version when it is not defined in GSO
when: wfo_trunk.iptrunk.iptrunk_config_version is not defined
ansible.builtin.set_fact:
trunk_version: 1.0
- name: Force trunk version to default 1.0 if is none in GSO
when: wfo_trunk.iptrunk.iptrunk_config_version is defined
and wfo_trunk.iptrunk.iptrunk_config_version is none
ansible.builtin.set_fact:
trunk_version: 1.0
- name: Set trunk version to the GSO value
when: wfo_trunk.iptrunk.iptrunk_config_version is defined
and wfo_trunk.iptrunk.iptrunk_config_version is not none
ansible.builtin.set_fact:
trunk_version: "{{ wfo_trunk.iptrunk.iptrunk_config_version }}"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment