From 39af3bcf077a04488bae0b4ef0c55da01315d1bb Mon Sep 17 00:00:00 2001 From: Vinay M <63404819+roverflow@users.noreply.github.com> Date: Mon, 6 May 2024 12:15:01 +0100 Subject: [PATCH] Fix Integration tests (#1060) * Fix Integtaion tests * remove only loopback in lacp * add back the purge in lacp * Added false condition for l2 appliance tests * Add false condition for evpn tests * vlans intergation test condition * fix evpn_global intergration test issues * skip vxlan_vtep l2 tests * Fix l3 interface test issuesss * fix lacp int test issue * fix test * vxlan fix * evpn global * bgp address family fix * lint fix * Remove vlans * Remove debug statement --- .../ios_bgp_address_family/tasks/main.yaml | 4 +++ .../tests/cli/merged.yaml | 33 ++++++++++--------- .../ios_bgp_address_family/vars/main.yaml | 14 ++++---- .../targets/ios_evpn_evi/tasks/cli.yaml | 1 + .../targets/ios_evpn_evi/tasks/main.yaml | 4 +++ .../targets/ios_evpn_global/tasks/cli.yaml | 1 + .../targets/ios_evpn_global/tasks/main.yaml | 4 +++ .../ios_evpn_global/tests/cli/deleted.yaml | 1 + .../ios_evpn_global/tests/cli/merged.yaml | 1 + .../ios_evpn_global/tests/cli/replaced.yaml | 1 + .../ios_facts/tests/cli/all_facts.yaml | 5 +-- .../tests/cli/_remove_config.yaml | 1 + .../tests/cli/_remove_config.yaml | 10 ++++++ .../ios_l3_interfaces/tests/cli/merged.yaml | 6 ++-- .../targets/ios_l3_interfaces/vars/main.yaml | 9 ++--- .../tests/cli/_remove_config.yaml | 1 + .../tests/cli/_remove_config.yaml | 1 + .../targets/ios_vlans/tasks/cli.yaml | 6 +++- .../targets/ios_vlans/tasks/main.yaml | 4 +++ .../tests/cli/deleted_vlan_config.yaml | 1 + .../tests/cli/merged_vlan_config.yaml | 1 + .../tests/cli/overridden_vlan_config.yaml | 1 + .../targets/ios_vlans/tests/cli/rendered.yaml | 5 +-- .../targets/ios_vlans/vars/main.yaml | 4 +-- .../targets/ios_vxlan_vtep/tasks/cli.yaml | 1 + .../targets/ios_vxlan_vtep/tasks/main.yaml | 4 +++ 26 files changed, 86 insertions(+), 38 deletions(-) diff --git a/tests/integration/targets/ios_bgp_address_family/tasks/main.yaml b/tests/integration/targets/ios_bgp_address_family/tasks/main.yaml index 8b66c1ad5..6b04c2ccc 100644 --- a/tests/integration/targets/ios_bgp_address_family/tasks/main.yaml +++ b/tests/integration/targets/ios_bgp_address_family/tasks/main.yaml @@ -1,4 +1,8 @@ --- +- name: Set a fact for 'skip_test' + ansible.builtin.set_fact: + skip_test: false + - name: Main task for bgp_address_family module ansible.builtin.include_tasks: cli.yaml tags: diff --git a/tests/integration/targets/ios_bgp_address_family/tests/cli/merged.yaml b/tests/integration/targets/ios_bgp_address_family/tests/cli/merged.yaml index 81aa0512d..e0d2a452c 100644 --- a/tests/integration/targets/ios_bgp_address_family/tests/cli/merged.yaml +++ b/tests/integration/targets/ios_bgp_address_family/tests/cli/merged.yaml @@ -11,22 +11,23 @@ cisco.ios.ios_bgp_address_family: &id001 config: address_family: - - afi: l2vpn - safi: evpn - neighbor: - - address: 198.51.100.1 - activate: true - inherit: LEAF-EVPN-PEER-POLICY - - afi: ipv4 - vrf: green - redistribute: - - static: - set: true - - connected: - set: true - advertise: - afi: l2vpn - safi: evpn + # L2 specific configuration + # - afi: l2vpn + # safi: evpn + # neighbor: + # - address: 198.51.100.1 + # activate: true + # inherit: LEAF-EVPN-PEER-POLICY + # - afi: ipv4 + # vrf: green + # redistribute: + # - static: + # set: true + # - connected: + # set: true + # advertise: + # afi: l2vpn + # safi: evpn - afi: ipv4 redistribute: - connected: diff --git a/tests/integration/targets/ios_bgp_address_family/vars/main.yaml b/tests/integration/targets/ios_bgp_address_family/vars/main.yaml index e22a90dc0..9198405ac 100644 --- a/tests/integration/targets/ios_bgp_address_family/vars/main.yaml +++ b/tests/integration/targets/ios_bgp_address_family/vars/main.yaml @@ -4,13 +4,13 @@ merged: commands: - router bgp 65000 - - address-family l2vpn evpn - - neighbor 198.51.100.1 activate - - neighbor 198.51.100.1 inherit peer-policy LEAF-EVPN-PEER-POLICY - - address-family ipv4 vrf green - - advertise l2vpn evpn - - redistribute connected - - redistribute static + # - address-family l2vpn evpn + # - neighbor 198.51.100.1 activate + # - neighbor 198.51.100.1 inherit peer-policy LEAF-EVPN-PEER-POLICY + # - address-family ipv4 vrf green + # - advertise l2vpn evpn + # - redistribute connected + # - redistribute static - address-family ipv4 multicast - default-metric 12 - distance bgp 10 10 100 diff --git a/tests/integration/targets/ios_evpn_evi/tasks/cli.yaml b/tests/integration/targets/ios_evpn_evi/tasks/cli.yaml index 6f505600c..843294310 100644 --- a/tests/integration/targets/ios_evpn_evi/tasks/cli.yaml +++ b/tests/integration/targets/ios_evpn_evi/tasks/cli.yaml @@ -13,6 +13,7 @@ delegate_to: localhost - name: Run test case (connection=ansible.netcommon.network_cli) + when: skip_test ansible.builtin.include_tasks: "{{ test_case_to_run }}" vars: ansible_connection: ansible.netcommon.network_cli diff --git a/tests/integration/targets/ios_evpn_evi/tasks/main.yaml b/tests/integration/targets/ios_evpn_evi/tasks/main.yaml index 39c4567e9..ccf906bc5 100644 --- a/tests/integration/targets/ios_evpn_evi/tasks/main.yaml +++ b/tests/integration/targets/ios_evpn_evi/tasks/main.yaml @@ -1,4 +1,8 @@ --- +- name: Set a fact for 'skip_test' + ansible.builtin.set_fact: + skip_test: false + - name: Main task for EVPN EVI module ansible.builtin.include_tasks: cli.yaml tags: diff --git a/tests/integration/targets/ios_evpn_global/tasks/cli.yaml b/tests/integration/targets/ios_evpn_global/tasks/cli.yaml index 6f505600c..843294310 100644 --- a/tests/integration/targets/ios_evpn_global/tasks/cli.yaml +++ b/tests/integration/targets/ios_evpn_global/tasks/cli.yaml @@ -13,6 +13,7 @@ delegate_to: localhost - name: Run test case (connection=ansible.netcommon.network_cli) + when: skip_test ansible.builtin.include_tasks: "{{ test_case_to_run }}" vars: ansible_connection: ansible.netcommon.network_cli diff --git a/tests/integration/targets/ios_evpn_global/tasks/main.yaml b/tests/integration/targets/ios_evpn_global/tasks/main.yaml index 83b543a3f..601063522 100644 --- a/tests/integration/targets/ios_evpn_global/tasks/main.yaml +++ b/tests/integration/targets/ios_evpn_global/tasks/main.yaml @@ -1,4 +1,8 @@ --- +- name: Set a fact for 'skip_test' + ansible.builtin.set_fact: + skip_test: false + - name: Main task for evpn_global module ansible.builtin.include_tasks: cli.yaml tags: diff --git a/tests/integration/targets/ios_evpn_global/tests/cli/deleted.yaml b/tests/integration/targets/ios_evpn_global/tests/cli/deleted.yaml index 6ed823307..05320aa1f 100644 --- a/tests/integration/targets/ios_evpn_global/tests/cli/deleted.yaml +++ b/tests/integration/targets/ios_evpn_global/tests/cli/deleted.yaml @@ -30,6 +30,7 @@ - name: Ios_evpn_global deleted - play (idempotent) register: result cisco.ios.ios_evpn_global: *id001 + - name: Ios_evpn_global deleted - assert above task was idempotent ansible.builtin.assert: that: diff --git a/tests/integration/targets/ios_evpn_global/tests/cli/merged.yaml b/tests/integration/targets/ios_evpn_global/tests/cli/merged.yaml index 485c85778..7ee2196d7 100644 --- a/tests/integration/targets/ios_evpn_global/tests/cli/merged.yaml +++ b/tests/integration/targets/ios_evpn_global/tests/cli/merged.yaml @@ -42,6 +42,7 @@ - name: Ios_evpn_global merged - play (idempotent) register: result cisco.ios.ios_evpn_global: *id001 + - name: Ios_evpn_global merged - assert above task was idempotent ansible.builtin.assert: that: diff --git a/tests/integration/targets/ios_evpn_global/tests/cli/replaced.yaml b/tests/integration/targets/ios_evpn_global/tests/cli/replaced.yaml index 47a9bb62f..48d230d37 100644 --- a/tests/integration/targets/ios_evpn_global/tests/cli/replaced.yaml +++ b/tests/integration/targets/ios_evpn_global/tests/cli/replaced.yaml @@ -37,6 +37,7 @@ - name: Ios_evpn_global replaced - play (idempotent) register: result cisco.ios.ios_evpn_global: *id001 + - name: Ios_evpn_global replaced - assert above task was idempotent ansible.builtin.assert: that: diff --git a/tests/integration/targets/ios_facts/tests/cli/all_facts.yaml b/tests/integration/targets/ios_facts/tests/cli/all_facts.yaml index 44d57ed9b..e01263fe4 100644 --- a/tests/integration/targets/ios_facts/tests/cli/all_facts.yaml +++ b/tests/integration/targets/ios_facts/tests/cli/all_facts.yaml @@ -19,8 +19,9 @@ - result.ansible_facts.ansible_net_memfree_mb > 1 - result.ansible_facts.ansible_net_memtotal_mb > 1 -- ansible.builtin.assert: - that: "{{ my_var.value.spacetotal_kb }} > {{ my_var.value.spacefree_kb }}" +- name: Assert that free spacee is less than total space + ansible.builtin.assert: + that: "my_var.value.spacetotal_kb > my_var.value.spacefree_kb" loop: "{{ lookup('dict', result.ansible_facts.ansible_net_filesystems_info, wantlist=True) }}" loop_control: loop_var: my_var diff --git a/tests/integration/targets/ios_interfaces/tests/cli/_remove_config.yaml b/tests/integration/targets/ios_interfaces/tests/cli/_remove_config.yaml index a3f5b0a44..6225d4a84 100644 --- a/tests/integration/targets/ios_interfaces/tests/cli/_remove_config.yaml +++ b/tests/integration/targets/ios_interfaces/tests/cli/_remove_config.yaml @@ -15,4 +15,5 @@ - name: Port-channel11 - name: Port-channel22 - name: Port-channel40 + - name: Loopback1 state: purged diff --git a/tests/integration/targets/ios_l3_interfaces/tests/cli/_remove_config.yaml b/tests/integration/targets/ios_l3_interfaces/tests/cli/_remove_config.yaml index 554173b64..56083c1b5 100644 --- a/tests/integration/targets/ios_l3_interfaces/tests/cli/_remove_config.yaml +++ b/tests/integration/targets/ios_l3_interfaces/tests/cli/_remove_config.yaml @@ -6,3 +6,13 @@ \ ipv6 address\n" ansible.netcommon.cli_config: config: "{{ lines }}" + +- name: Delete attributes of all configured interfaces + register: result + cisco.ios.ios_interfaces: + config: + - name: Loopback1 + - name: Vlan101 + - name: Vlan901 + - name: Vlan902 + state: purged diff --git a/tests/integration/targets/ios_l3_interfaces/tests/cli/merged.yaml b/tests/integration/targets/ios_l3_interfaces/tests/cli/merged.yaml index 75217f5e5..8169e8584 100644 --- a/tests/integration/targets/ios_l3_interfaces/tests/cli/merged.yaml +++ b/tests/integration/targets/ios_l3_interfaces/tests/cli/merged.yaml @@ -23,10 +23,6 @@ - address: 198.51.100.2/24 ipv6: - address: 2001:db8:0:3::/64 - - name: Vlan101 - ipv4: - - address: 198.51.100.2/24 - mac_address: dead:beef:abcd - name: Vlan901 autostate: false ipv4: @@ -38,6 +34,8 @@ autostate: true ipv6: - enable: true + - name: Vlan101 + autostate: false state: merged - name: L3_interface merged - assert that correct set of commands were generated diff --git a/tests/integration/targets/ios_l3_interfaces/vars/main.yaml b/tests/integration/targets/ios_l3_interfaces/vars/main.yaml index 73996896e..1d869bf08 100644 --- a/tests/integration/targets/ios_l3_interfaces/vars/main.yaml +++ b/tests/integration/targets/ios_l3_interfaces/vars/main.yaml @@ -25,6 +25,8 @@ merged: - ipv6 enable - interface Vlan902 - ipv6 enable + - interface Vlan101 + - no autostate after: - name: Loopback888 - ipv4: @@ -46,10 +48,7 @@ merged: - address: 2001:DB8:0:3::/64 name: GigabitEthernet3 - name: GigabitEthernet4 - - name: Vlan101 - ipv4: - - address: 198.51.100.2/24 - mac_address: dead:beef:abcd + - name: Loopback1 - name: Vlan901 ipv4: - source_interface: @@ -61,6 +60,8 @@ merged: ipv6: - enable: true autostate: true + - name: Vlan101 + autostate: false replaced: before: diff --git a/tests/integration/targets/ios_lacp_interfaces/tests/cli/_remove_config.yaml b/tests/integration/targets/ios_lacp_interfaces/tests/cli/_remove_config.yaml index 8544171de..df035f588 100644 --- a/tests/integration/targets/ios_lacp_interfaces/tests/cli/_remove_config.yaml +++ b/tests/integration/targets/ios_lacp_interfaces/tests/cli/_remove_config.yaml @@ -12,6 +12,7 @@ register: result cisco.ios.ios_interfaces: config: + - name: Loopback1 - name: Port-channel10 - name: Port-channel11 - name: Port-channel22 diff --git a/tests/integration/targets/ios_ospf_interfaces/tests/cli/_remove_config.yaml b/tests/integration/targets/ios_ospf_interfaces/tests/cli/_remove_config.yaml index 2979674f4..3e45f6a9a 100644 --- a/tests/integration/targets/ios_ospf_interfaces/tests/cli/_remove_config.yaml +++ b/tests/integration/targets/ios_ospf_interfaces/tests/cli/_remove_config.yaml @@ -13,6 +13,7 @@ register: result cisco.ios.ios_interfaces: config: + - name: Loopback1 - name: Port-channel10 - name: Port-channel11 - name: Port-channel22 diff --git a/tests/integration/targets/ios_vlans/tasks/cli.yaml b/tests/integration/targets/ios_vlans/tasks/cli.yaml index 25c50045a..37e561a6b 100644 --- a/tests/integration/targets/ios_vlans/tasks/cli.yaml +++ b/tests/integration/targets/ios_vlans/tasks/cli.yaml @@ -16,10 +16,14 @@ cisco.ios.ios_facts: gather_subset: all +- name: Set filtered paths to run only non l2 tests + ansible.builtin.set_fact: + filtered_file_paths: "{{ test_items | reject('search', 'vlan_config') | list }}" + - name: Run test case (connection=ansible.netcommon.network_cli) ansible.builtin.include_tasks: "{{ test_case_to_run }}" vars: ansible_connection: ansible.netcommon.network_cli - with_items: "{{ test_items }}" + with_items: "{{ filtered_file_paths }}" loop_control: loop_var: test_case_to_run diff --git a/tests/integration/targets/ios_vlans/tasks/main.yaml b/tests/integration/targets/ios_vlans/tasks/main.yaml index 0bf380edb..e741ecb68 100644 --- a/tests/integration/targets/ios_vlans/tasks/main.yaml +++ b/tests/integration/targets/ios_vlans/tasks/main.yaml @@ -1,4 +1,8 @@ --- +- name: Set a fact for 'skip_test' + ansible.builtin.set_fact: + skip_test: false + - name: Main task for vlans module ansible.builtin.include_tasks: cli.yaml tags: diff --git a/tests/integration/targets/ios_vlans/tests/cli/deleted_vlan_config.yaml b/tests/integration/targets/ios_vlans/tests/cli/deleted_vlan_config.yaml index ae7215669..2bc9234a9 100644 --- a/tests/integration/targets/ios_vlans/tests/cli/deleted_vlan_config.yaml +++ b/tests/integration/targets/ios_vlans/tests/cli/deleted_vlan_config.yaml @@ -30,6 +30,7 @@ - name: Delete vlans attributes for all configured vlans (idempotent) register: result cisco.ios.ios_vlans: *id001 + - name: Assert that the previous task was idempotent ansible.builtin.assert: that: diff --git a/tests/integration/targets/ios_vlans/tests/cli/merged_vlan_config.yaml b/tests/integration/targets/ios_vlans/tests/cli/merged_vlan_config.yaml index 5af123bcd..68674c3e3 100644 --- a/tests/integration/targets/ios_vlans/tests/cli/merged_vlan_config.yaml +++ b/tests/integration/targets/ios_vlans/tests/cli/merged_vlan_config.yaml @@ -37,6 +37,7 @@ - name: Merge provided configuration with device configuration (idempotent) register: result cisco.ios.ios_vlans: *id001 + - name: Assert that the previous task was idempotent ansible.builtin.assert: that: diff --git a/tests/integration/targets/ios_vlans/tests/cli/overridden_vlan_config.yaml b/tests/integration/targets/ios_vlans/tests/cli/overridden_vlan_config.yaml index a739c6117..146c03572 100644 --- a/tests/integration/targets/ios_vlans/tests/cli/overridden_vlan_config.yaml +++ b/tests/integration/targets/ios_vlans/tests/cli/overridden_vlan_config.yaml @@ -39,6 +39,7 @@ - name: Override device configuration of all interfaces with provided configuration (idempotent) register: result cisco.ios.ios_vlans: *id001 + - name: Assert that task was idempotent ansible.builtin.assert: that: diff --git a/tests/integration/targets/ios_vlans/tests/cli/rendered.yaml b/tests/integration/targets/ios_vlans/tests/cli/rendered.yaml index 38b0304c8..43fcd910c 100644 --- a/tests/integration/targets/ios_vlans/tests/cli/rendered.yaml +++ b/tests/integration/targets/ios_vlans/tests/cli/rendered.yaml @@ -24,8 +24,9 @@ shutdown: enabled state: rendered - - ansible.builtin.assert: + - name: Assert that correct set of commands were generated + ansible.builtin.assert: that: - result.changed == false - - result.rendered|symmetric_difference(rendered.commands) == [] + - "{{ rendered['commands'] | symmetric_difference(result['rendered']) | length == 0 }}" when: ansible_net_version != "15.6(2)T" diff --git a/tests/integration/targets/ios_vlans/vars/main.yaml b/tests/integration/targets/ios_vlans/vars/main.yaml index 6092684a9..4160dee6f 100644 --- a/tests/integration/targets/ios_vlans/vars/main.yaml +++ b/tests/integration/targets/ios_vlans/vars/main.yaml @@ -573,11 +573,11 @@ rendered: - name Vlan_20 - state active - mtu 610 - - shutdown + - no shutdown - vlan 30 - name Vlan_30 - state suspend - - shutdown + - no shutdown rendered_vlan_config: commands: diff --git a/tests/integration/targets/ios_vxlan_vtep/tasks/cli.yaml b/tests/integration/targets/ios_vxlan_vtep/tasks/cli.yaml index 6f505600c..843294310 100644 --- a/tests/integration/targets/ios_vxlan_vtep/tasks/cli.yaml +++ b/tests/integration/targets/ios_vxlan_vtep/tasks/cli.yaml @@ -13,6 +13,7 @@ delegate_to: localhost - name: Run test case (connection=ansible.netcommon.network_cli) + when: skip_test ansible.builtin.include_tasks: "{{ test_case_to_run }}" vars: ansible_connection: ansible.netcommon.network_cli diff --git a/tests/integration/targets/ios_vxlan_vtep/tasks/main.yaml b/tests/integration/targets/ios_vxlan_vtep/tasks/main.yaml index d80ee1ae2..a19087c8d 100644 --- a/tests/integration/targets/ios_vxlan_vtep/tasks/main.yaml +++ b/tests/integration/targets/ios_vxlan_vtep/tasks/main.yaml @@ -1,4 +1,8 @@ --- +- name: Set a fact for 'skip_test' + ansible.builtin.set_fact: + skip_test: false + - name: Main task for VXLAN VTEP module ansible.builtin.include_tasks: cli.yaml tags: