From dc0aa750295e0c906c324c963ebdb4166347e4ab Mon Sep 17 00:00:00 2001 From: Ricardo Carrillo Cruz Date: Wed, 25 Oct 2017 12:44:25 +0200 Subject: [PATCH] Introspect platform before running ios tests (#32125) In some IOS tests, we can't just assume a certain interface, as we test on IOS and IOS-XE and in our CI they scheme numbering is different. Introspect version on the tests where needed. --- .../ios_interface/tests/cli/intent.yaml | 24 +++++++++++++++---- .../targets/ios_ping/tests/cli/ping.yaml | 14 +++++++++-- 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/test/integration/targets/ios_interface/tests/cli/intent.yaml b/test/integration/targets/ios_interface/tests/cli/intent.yaml index 4c670e067c2..b0b6a4cac9f 100644 --- a/test/integration/targets/ios_interface/tests/cli/intent.yaml +++ b/test/integration/targets/ios_interface/tests/cli/intent.yaml @@ -1,9 +1,23 @@ --- - debug: msg="START ios_interface cli/intent.yaml" +- name: Run show version + ios_command: + commands: show version + register: show_version_result + +- name: Set test interface to GigabitEthernet0/2 if we are on Cisco IOS + set_fact: test_interface=GigabitEthernet0/2 + when: "'Cisco IOS' in show_version_result.stdout[0]" + +- name: Set test interface to GigabitEthernet2 if we are on Cisco IOS-XE + set_fact: test_interface=GigabitEthernet2 + when: "'Cisco IOS-XE' in show_version_result.stdout[0]" + + - name: Check intent arguments ios_interface: - name: GigabitEthernet0/2 + name: "{{ test_interface }}" state: up tx_rate: ge(0) rx_rate: le(0) @@ -16,7 +30,7 @@ - name: Check intent arguments (failed condition) ios_interface: - name: GigabitEthernet0/2 + name: "{{ test_interface }}" state: down tx_rate: gt(0) rx_rate: lt(0) @@ -33,7 +47,7 @@ - name: Config + intent ios_interface: - name: GigabitEthernet0/2 + name: "{{ test_interface }}" enabled: False state: down authorize: yes @@ -45,7 +59,7 @@ - name: Config + intent (fail) ios_interface: - name: GigabitEthernet0/2 + name: "{{ test_interface }}" enabled: False authorize: yes state: up @@ -98,7 +112,7 @@ - name: Aggregate config + intent (pass) ios_interface: aggregate: - - name: GigabitEthernet0/2 + - name: "{{ test_interface }}" enabled: True state: up authorize: yes diff --git a/test/integration/targets/ios_ping/tests/cli/ping.yaml b/test/integration/targets/ios_ping/tests/cli/ping.yaml index e54ac6418d5..08d4444fc79 100644 --- a/test/integration/targets/ios_ping/tests/cli/ping.yaml +++ b/test/integration/targets/ios_ping/tests/cli/ping.yaml @@ -1,10 +1,20 @@ --- - debug: msg="START cli/ping.yaml" -- name: Get show ip interface GigabitEthernet0/0 output +- ios_command: + commands: show version + register: show_version_result + +- set_fact: management_interface=GigabitEthernet0/0 + when: "'Cisco IOS' in show_version_result.stdout[0]" + +- set_fact: management_interface=GigabitEthernet1 + when: "'Cisco IOS-XE' in show_version_result.stdout[0]" + +- name: Get show ip management nterface output ios_command: commands: - - show ip interface GigabitEthernet0/0 | include Internet address + - show ip interface "{{ management_interface }}" | include Internet address authorize: yes register: show_ip_interface_result