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.
This commit is contained in:
parent
a9d8157e81
commit
dc0aa75029
2 changed files with 31 additions and 7 deletions
|
@ -1,9 +1,23 @@
|
||||||
---
|
---
|
||||||
- debug: msg="START ios_interface cli/intent.yaml"
|
- 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
|
- name: Check intent arguments
|
||||||
ios_interface:
|
ios_interface:
|
||||||
name: GigabitEthernet0/2
|
name: "{{ test_interface }}"
|
||||||
state: up
|
state: up
|
||||||
tx_rate: ge(0)
|
tx_rate: ge(0)
|
||||||
rx_rate: le(0)
|
rx_rate: le(0)
|
||||||
|
@ -16,7 +30,7 @@
|
||||||
|
|
||||||
- name: Check intent arguments (failed condition)
|
- name: Check intent arguments (failed condition)
|
||||||
ios_interface:
|
ios_interface:
|
||||||
name: GigabitEthernet0/2
|
name: "{{ test_interface }}"
|
||||||
state: down
|
state: down
|
||||||
tx_rate: gt(0)
|
tx_rate: gt(0)
|
||||||
rx_rate: lt(0)
|
rx_rate: lt(0)
|
||||||
|
@ -33,7 +47,7 @@
|
||||||
|
|
||||||
- name: Config + intent
|
- name: Config + intent
|
||||||
ios_interface:
|
ios_interface:
|
||||||
name: GigabitEthernet0/2
|
name: "{{ test_interface }}"
|
||||||
enabled: False
|
enabled: False
|
||||||
state: down
|
state: down
|
||||||
authorize: yes
|
authorize: yes
|
||||||
|
@ -45,7 +59,7 @@
|
||||||
|
|
||||||
- name: Config + intent (fail)
|
- name: Config + intent (fail)
|
||||||
ios_interface:
|
ios_interface:
|
||||||
name: GigabitEthernet0/2
|
name: "{{ test_interface }}"
|
||||||
enabled: False
|
enabled: False
|
||||||
authorize: yes
|
authorize: yes
|
||||||
state: up
|
state: up
|
||||||
|
@ -98,7 +112,7 @@
|
||||||
- name: Aggregate config + intent (pass)
|
- name: Aggregate config + intent (pass)
|
||||||
ios_interface:
|
ios_interface:
|
||||||
aggregate:
|
aggregate:
|
||||||
- name: GigabitEthernet0/2
|
- name: "{{ test_interface }}"
|
||||||
enabled: True
|
enabled: True
|
||||||
state: up
|
state: up
|
||||||
authorize: yes
|
authorize: yes
|
||||||
|
|
|
@ -1,10 +1,20 @@
|
||||||
---
|
---
|
||||||
- debug: msg="START cli/ping.yaml"
|
- 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:
|
ios_command:
|
||||||
commands:
|
commands:
|
||||||
- show ip interface GigabitEthernet0/0 | include Internet address
|
- show ip interface "{{ management_interface }}" | include Internet address
|
||||||
authorize: yes
|
authorize: yes
|
||||||
register: show_ip_interface_result
|
register: show_ip_interface_result
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue