From dc981997d37990cfc0ad5dceccf50850acd17f55 Mon Sep 17 00:00:00 2001 From: Aleksandr Kurbatov <ak@geant.org> Date: Mon, 2 Dec 2024 18:49:12 +0000 Subject: [PATCH 1/5] P to PE: PRE and POST checks --- .../routers/nokia/checks_single_command.j2 | 1 + .../promote_p_to_pe/tasks/command_checks.yaml | 10 ++++++++++ .../roles/promote_p_to_pe/tasks/main.yml | 18 ++++++++++++++---- .../roles/promote_p_to_pe/vars/main.yml | 14 ++++++++++++++ 4 files changed, 39 insertions(+), 4 deletions(-) create mode 120000 geant/gap_ansible/roles/bc_templates/routers/nokia/checks_single_command.j2 create mode 100644 geant/gap_ansible/roles/promote_p_to_pe/tasks/command_checks.yaml diff --git a/geant/gap_ansible/roles/bc_templates/routers/nokia/checks_single_command.j2 b/geant/gap_ansible/roles/bc_templates/routers/nokia/checks_single_command.j2 new file mode 120000 index 00000000..86b25070 --- /dev/null +++ b/geant/gap_ansible/roles/bc_templates/routers/nokia/checks_single_command.j2 @@ -0,0 +1 @@ +../../../base_config_checks/templates/base_config_single_command.j2 \ No newline at end of file diff --git a/geant/gap_ansible/roles/promote_p_to_pe/tasks/command_checks.yaml b/geant/gap_ansible/roles/promote_p_to_pe/tasks/command_checks.yaml new file mode 100644 index 00000000..4d95f8c4 --- /dev/null +++ b/geant/gap_ansible/roles/promote_p_to_pe/tasks/command_checks.yaml @@ -0,0 +1,10 @@ +- name: "Execute {{ item.command }}" + ansible.netcommon.netconf_rpc: + rpc: action + xmlns: "urn:ietf:params:xml:ns:yang:1" + content: "{{ lookup('ansible.builtin.template', 'routers/{{ subscription.router.vendor }}/checks_single_command.j2') }}" + display: json + register: out +- name: "Results of {{ item.command }}" + ansible.builtin.debug: + msg: "{{out.output['rpc-reply']['nokiaoper:results']['nokiaoper:md-cli-output-block'].split('\n')}}" diff --git a/geant/gap_ansible/roles/promote_p_to_pe/tasks/main.yml b/geant/gap_ansible/roles/promote_p_to_pe/tasks/main.yml index d7a7208a..9df015e2 100644 --- a/geant/gap_ansible/roles/promote_p_to_pe/tasks/main.yml +++ b/geant/gap_ansible/roles/promote_p_to_pe/tasks/main.yml @@ -43,10 +43,10 @@ - name: Print the ID ansible.builtin.debug: msg: "{{ opid }}" - -- name: Include ISIS overload tasks - when: verb in ['set_isis_overload', 'remove_isis_overload'] - ansible.builtin.include_tasks: configure_isis_overload.yaml +# +# - name: Include ISIS overload tasks +# when: verb in ['set_isis_overload', 'remove_isis_overload'] +# ansible.builtin.include_tasks: configure_isis_overload.yaml - name: Include templates compilation when: verb in [ 'deploy_pe_base_config', 'update_sdp_mesh' , 'deploy_routing_instances', 'delete_default_routes' ] @@ -56,6 +56,16 @@ when: verb in [ 'deploy_pe_base_config', 'update_sdp_mesh', 'deploy_routing_instances', 'delete_default_routes' ] ansible.builtin.include_tasks: deploy.yaml +- name: PRE checks + when: verb == "post_checks" + ansible.builtin.include_tasks: check_commands.yaml + loop: "{{ pre_check_commands }}" + +- name: POST checks + when: verb == "post_checks" + ansible.builtin.include_tasks: check_commands.yaml + loop: "{{ post_check_commands }}" + - name: Check VPRNs when: verb == "check_base_ris" loop: "{{ pe_vprns }}" diff --git a/geant/gap_ansible/roles/promote_p_to_pe/vars/main.yml b/geant/gap_ansible/roles/promote_p_to_pe/vars/main.yml index 21a8dbcc..dcecb7e8 100644 --- a/geant/gap_ansible/roles/promote_p_to_pe/vars/main.yml +++ b/geant/gap_ansible/roles/promote_p_to_pe/vars/main.yml @@ -16,3 +16,17 @@ lo_ipv4_address: "{{ subscription.router.router_lo_ipv4_address }}" lo_ipv6_address: "{{ subscription.router.router_lo_ipv6_address }}" router_tier: "{{ subscription.router.router_site.site_tier }}" router_role: "{{ subscription.router.router_role }}" + +post_check_commands: + - command: show router * route-table summary + description: Route summary + - command: show router ldp session + description: Check ldp + - command: show service sdp + description: SDP summary + - command: show router origin-validation rpki-session + description: Show RPKI sessions + +pre_check_commands: + - command: show router * route-table summary + description: Route summary -- GitLab From 64abb6c1d6c320eaffab97a0dc27281213b5c741 Mon Sep 17 00:00:00 2001 From: Aleksandr Kurbatov <ak@geant.org> Date: Mon, 2 Dec 2024 18:52:40 +0000 Subject: [PATCH 2/5] Taks file rename --- geant/gap_ansible/roles/promote_p_to_pe/tasks/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/geant/gap_ansible/roles/promote_p_to_pe/tasks/main.yml b/geant/gap_ansible/roles/promote_p_to_pe/tasks/main.yml index 9df015e2..16eabc11 100644 --- a/geant/gap_ansible/roles/promote_p_to_pe/tasks/main.yml +++ b/geant/gap_ansible/roles/promote_p_to_pe/tasks/main.yml @@ -58,12 +58,12 @@ - name: PRE checks when: verb == "post_checks" - ansible.builtin.include_tasks: check_commands.yaml + ansible.builtin.include_tasks: command_checks.yaml loop: "{{ pre_check_commands }}" - name: POST checks when: verb == "post_checks" - ansible.builtin.include_tasks: check_commands.yaml + ansible.builtin.include_tasks: command_checks.yaml loop: "{{ post_check_commands }}" - name: Check VPRNs -- GitLab From e202b2e2b513d08709075aabbac2fd9b9fcb0011 Mon Sep 17 00:00:00 2001 From: Aleksandr Kurbatov <ak@geant.org> Date: Tue, 3 Dec 2024 09:42:41 +0000 Subject: [PATCH 3/5] Add pre_ and post_checks verbs into list of verbs --- geant/gap_ansible/roles/promote_p_to_pe/vars/main.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/geant/gap_ansible/roles/promote_p_to_pe/vars/main.yml b/geant/gap_ansible/roles/promote_p_to_pe/vars/main.yml index dcecb7e8..e56bd463 100644 --- a/geant/gap_ansible/roles/promote_p_to_pe/vars/main.yml +++ b/geant/gap_ansible/roles/promote_p_to_pe/vars/main.yml @@ -11,6 +11,8 @@ verbs: - deploy_routing_instances # Deploy standard PE VPRNs - update_sdp_mesh # Upadate SDP mesh on other Nokia PE routers with this promoted router - check_base_ris # Check BGP summary for base VPRNs + - pre_checks + - post_checks lo_ipv4_address: "{{ subscription.router.router_lo_ipv4_address }}" lo_ipv6_address: "{{ subscription.router.router_lo_ipv6_address }}" -- GitLab From 707ddc2ec549813310157e71477ef2560731f1c2 Mon Sep 17 00:00:00 2001 From: Aleksandr Kurbatov <ak@geant.org> Date: Tue, 3 Dec 2024 17:14:00 +0000 Subject: [PATCH 4/5] update p-to-pe check command list --- geant/gap_ansible/roles/promote_p_to_pe/vars/main.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/geant/gap_ansible/roles/promote_p_to_pe/vars/main.yml b/geant/gap_ansible/roles/promote_p_to_pe/vars/main.yml index e56bd463..f247eb32 100644 --- a/geant/gap_ansible/roles/promote_p_to_pe/vars/main.yml +++ b/geant/gap_ansible/roles/promote_p_to_pe/vars/main.yml @@ -31,4 +31,6 @@ post_check_commands: pre_check_commands: - command: show router * route-table summary - description: Route summary + - command: show router route-table summary | match ISIS + - command: show router isis interface | match '^[a-z]' + - command: show router isis adjacency | match '^[a-z]' -- GitLab From d096d0f760bb83ab06be2e855ff73d714a5be91b Mon Sep 17 00:00:00 2001 From: Aleksandr Kurbatov <ak@geant.org> Date: Tue, 3 Dec 2024 18:09:32 +0000 Subject: [PATCH 5/5] P-to-PE - updated list of pre and post check commands According to the NE Test Plan. --- .../roles/promote_p_to_pe/vars/main.yml | 45 +++++++++++++++---- 1 file changed, 37 insertions(+), 8 deletions(-) diff --git a/geant/gap_ansible/roles/promote_p_to_pe/vars/main.yml b/geant/gap_ansible/roles/promote_p_to_pe/vars/main.yml index f247eb32..b6ad21f8 100644 --- a/geant/gap_ansible/roles/promote_p_to_pe/vars/main.yml +++ b/geant/gap_ansible/roles/promote_p_to_pe/vars/main.yml @@ -20,17 +20,46 @@ router_tier: "{{ subscription.router.router_site.site_tier }}" router_role: "{{ subscription.router.router_role }}" post_check_commands: - - command: show router * route-table summary - description: Route summary - - command: show router ldp session - description: Check ldp + - command: show router route-table summary | match ISIS + - command: show router isis interface | match '^[a-z]' + - command: show router isis adjacency | match '^[a-z]' + - command: show router mpls interface | match '^[a-z]' + - command: show router rsvp interface | match '^[a-z]' + - command: show router rsvp neighbor | match '^[1-9]' + - command: show router rsvp session | match "Up" + - command: show router pim interface | match "Up" + - command: show router pim neighbor | match '^[a-z|A-Z]' + - command: show router pim status | match '(State|RPF Table)' + - command: show router pim group | match '^[1-9]' | no-more + - command: show router route-table mcast-ipv4 summary + - command: show router route-table mcast-ipv6 summary + - command: show router bgp summary group "iGEANT" + - command: show router bgp summary group "iGEANT6" + - command: show router bgp summary group "iGEANT-P-ONLY" + - command: show router bgp summary group "iGEANT6-P-ONLY" - command: show service sdp - description: SDP summary - - command: show router origin-validation rpki-session - description: Show RPKI sessions + - command: show router route-table 0.0.0.0/0 + - command: show router route-table ::/0 + - command: show router Base route-table summary + - command: show router 21320 route-table summary + - command: show cflowd status | match '(Timeout|Retrans)' + - command: show cflowd collector | match '^[0-9]' + - command: show router Base origin-validation rpki-session detail + - command: show router Base bgp routes 5.150.67.0/24 detail | match '(Network|Final|Community|Attri)' + - command: show router Base bgp routes community ext:4300:0 | count + - command: show router Base bgp routes community ext:4300:1 | count pre_check_commands: - - command: show router * route-table summary - command: show router route-table summary | match ISIS - command: show router isis interface | match '^[a-z]' - command: show router isis adjacency | match '^[a-z]' + - command: show router mpls interface | match '^[a-z]' + - command: show router rsvp interface | match '^[a-z]' + - command: show router rsvp neighbor | match '^[1-9]' + - command: show router rsvp session | match "Up" + - command: show router pim interface | match "Up" + - command: show router pim neighbor | match '^[a-z|A-Z]' + - command: show router pim status | match '(State|RPF Table)' + - command: show router pim group | match '^[1-9]' | no-more + - command: show router route-table mcast-ipv4 summary + - command: show router route-table mcast-ipv6 summary -- GitLab