From 09dabc6c1aa5e1469d3abc288139ba80b62bbead Mon Sep 17 00:00:00 2001 From: Aleksandr Kurbatov <ak@geant.org> Date: Wed, 30 Apr 2025 21:32:48 +0100 Subject: [PATCH] Changes to the Juniper-related edge_port creation --- .../roles/edge_port/tasks/deploy.yaml | 29 +++++++++++++++++++ .../roles/edge_port/tasks/main.yml | 12 ++++---- .../templates/juniper/edge_port_create.j2 | 12 ++++---- 3 files changed, 40 insertions(+), 13 deletions(-) diff --git a/geant/gap_ansible/roles/edge_port/tasks/deploy.yaml b/geant/gap_ansible/roles/edge_port/tasks/deploy.yaml index f6e3ee63..57cc6aa2 100644 --- a/geant/gap_ansible/roles/edge_port/tasks/deploy.yaml +++ b/geant/gap_ansible/roles/edge_port/tasks/deploy.yaml @@ -2,6 +2,8 @@ - name: Perform "{{ verb }}" Edge port on "{{ inventory_hostname }}" [CHECK ONLY][NOKIA] when: >- dry_run | ansible.builtin.bool + and + router.vendor == "nokia" geant.gap_ansible.nokia_netconf_config: format: xml default_operation: merge @@ -13,6 +15,18 @@ register: output check_mode: true +- name: Config deploy [CHECK ONLY][JUNIPER] + when: > + dry_run | ansible.builtin.bool + and + router.vendor == "juniper" + junipernetworks.junos.junos_config: + update: 'replace' + src: "{{ play_storage_path }}/edge_port_{{ verb }}.conf" + src_format: set + check_commit: true + diff: true + register: output - name: Fail if there is any diff ansible.builtin.fail: @@ -26,6 +40,8 @@ - name: Perform "{{ verb }}" Edge port on "{{ inventory_hostname }}" [FOR REAL][NOKIA] when: >- not (dry_run | ansible.builtin.bool) + and + router.vendor == "nokia" geant.gap_ansible.nokia_netconf_config: format: xml default_operation: merge @@ -36,3 +52,16 @@ diff: true register: output check_mode: false + + +- name: Config deploy [AND COMMIT][JUNIPER] + when: > + not dry_run | ansible.builtin.bool + and + router.vendor == "juniper" + junipernetworks.junos.junos_config: + update: 'replace' + src: "{{ play_storage_path }}/edge_port_{{ verb }}.conf" + src_format: set + comment: "{{ commit_comment }}" + diff: true diff --git a/geant/gap_ansible/roles/edge_port/tasks/main.yml b/geant/gap_ansible/roles/edge_port/tasks/main.yml index 2381bf69..3e69831a 100644 --- a/geant/gap_ansible/roles/edge_port/tasks/main.yml +++ b/geant/gap_ansible/roles/edge_port/tasks/main.yml @@ -16,12 +16,10 @@ - name: Include deploy tasks when: > verb in verbs - and - router.vendor == 'nokia' ansible.builtin.include_tasks: deploy.yaml -- name: Skip all for Juniper - when: > - router.vendor == 'juniper' - ansible.builtin.debug: - msg: "Juniper tasks skipped" +# - name: Skip all for Juniper +# when: > +# router.vendor == 'juniper' +# ansible.builtin.debug: +# msg: "Juniper tasks skipped" 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 5b71496d..b5f6bb6d 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 @@ -3,7 +3,7 @@ {% 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 }} 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 %} @@ -12,12 +12,12 @@ 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' %} +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.edge_port_ae_members[0].memeber_speed }} -{% if enable_lacp %} +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