mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-07 13:52:54 +00:00
Fix platform agnostic network integration test cases (#32378)
* Fix platform agnostic network test cases * Fix vyos_interface CI failure
This commit is contained in:
@@ -1,40 +1,69 @@
|
||||
---
|
||||
- debug: msg="START net_interface cli/basic.yaml"
|
||||
|
||||
- name: Run show version
|
||||
ios_command:
|
||||
commands: show version
|
||||
authorize: yes
|
||||
register: show_version_result
|
||||
|
||||
- block:
|
||||
- name: Set test interface to GigabitEthernet0/1 as we are on Cisco IOS
|
||||
set_fact: test_interface=GigabitEthernet0/1
|
||||
- name: Set test interface 2 to GigabitEthernet0/2 as we are on Cisco IOS
|
||||
set_fact: test_interface2=GigabitEthernet0/2
|
||||
when: "'Cisco IOS' in show_version_result.stdout[0]"
|
||||
|
||||
- block:
|
||||
- name: Set test interface to GigabitEthernet2 as we are on Cisco IOS-XE
|
||||
set_fact: test_interface=GigabitEthernet2
|
||||
- name: Disable autonegotiation on GigabitEthernet2
|
||||
ios_config:
|
||||
lines:
|
||||
- no negotiation auto
|
||||
parents: int GigabitEthernet2
|
||||
authorize: yes
|
||||
|
||||
- name: Set test interface 2 to GigabitEthernet3 as we are on Cisco IOS-XE
|
||||
set_fact: test_interface2=GigabitEthernet3
|
||||
- name: Disable autonegotiation on GigabitEthernet3
|
||||
ios_config:
|
||||
lines:
|
||||
- no negotiation auto
|
||||
parents: int GigabitEthernet3
|
||||
authorize: yes
|
||||
when: "'Cisco IOS-XE' in show_version_result.stdout[0]"
|
||||
|
||||
- name: Configure interface (setup)
|
||||
net_interface:
|
||||
name: GigabitEthernet0/2
|
||||
name: "{{ test_interface }}"
|
||||
description: test-interface-1
|
||||
speed: 10
|
||||
duplex: full
|
||||
mtu: 256
|
||||
speed: 1000
|
||||
mtu: 1800
|
||||
state: present
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- name: Confgure interface
|
||||
- name: Configure interface
|
||||
net_interface:
|
||||
name: GigabitEthernet0/2
|
||||
name: "{{ test_interface }}"
|
||||
description: test-interface-initial
|
||||
state: present
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"interface GigabitEthernet0/2" in result.commands'
|
||||
- '"interface {{ test_interface }}" in result.commands'
|
||||
- '"description test-interface-initial" in result.commands'
|
||||
|
||||
- name: Confgure interface (idempotent)
|
||||
net_interface:
|
||||
name: GigabitEthernet0/2
|
||||
name: "{{ test_interface }}"
|
||||
description: test-interface-initial
|
||||
state: present
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
@@ -43,120 +72,99 @@
|
||||
|
||||
- name: Confgure interface parameters
|
||||
net_interface:
|
||||
name: GigabitEthernet0/2
|
||||
name: "{{ test_interface }}"
|
||||
description: test-interface
|
||||
speed: 100
|
||||
mtu: 512
|
||||
mtu: 2000
|
||||
state: present
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"interface GigabitEthernet0/2" in result.commands'
|
||||
- '"interface {{ test_interface }}" in result.commands'
|
||||
- '"description test-interface" in result.commands'
|
||||
- '"speed 100" in result.commands'
|
||||
- '"mtu 512" in result.commands'
|
||||
- '"mtu 2000" in result.commands'
|
||||
|
||||
- name: Change interface parameters
|
||||
net_interface:
|
||||
name: GigabitEthernet0/2
|
||||
name: "{{ test_interface }}"
|
||||
description: test-interface-1
|
||||
speed: 10
|
||||
duplex: half
|
||||
mtu: 256
|
||||
mtu: 1800
|
||||
state: present
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"interface GigabitEthernet0/2" in result.commands'
|
||||
- '"interface {{ test_interface }}" in result.commands'
|
||||
- '"description test-interface-1" in result.commands'
|
||||
- '"speed 10" in result.commands'
|
||||
- '"duplex half" in result.commands'
|
||||
- '"mtu 256" in result.commands'
|
||||
- '"mtu 1800" in result.commands'
|
||||
|
||||
- name: Disable interface
|
||||
net_interface:
|
||||
name: GigabitEthernet0/2
|
||||
name: "{{ test_interface }}"
|
||||
enabled: False
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"interface GigabitEthernet0/2" in result.commands'
|
||||
- '"interface {{ test_interface }}" in result.commands'
|
||||
- '"shutdown" in result.commands'
|
||||
|
||||
- name: Enable interface
|
||||
net_interface:
|
||||
name: GigabitEthernet0/2
|
||||
name: "{{ test_interface }}"
|
||||
enabled: True
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"interface GigabitEthernet0/2" in result.commands'
|
||||
- '"interface {{ test_interface }}" in result.commands'
|
||||
- '"no shutdown" in result.commands'
|
||||
|
||||
- name: Confgure second interface (setup)
|
||||
net_interface:
|
||||
name: GigabitEthernet0/1
|
||||
name: "{{ test_interface2 }}"
|
||||
description: test-interface-initial
|
||||
speed: 100
|
||||
duplex: half
|
||||
mtu: 516
|
||||
speed: 1000
|
||||
mtu: 1800
|
||||
state: present
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- name: Add interface aggregate
|
||||
net_interface:
|
||||
aggregate:
|
||||
- { name: GigabitEthernet0/1, mtu: 256, description: test-interface-1 }
|
||||
- { name: GigabitEthernet0/2, mtu: 516, description: test-interface-2 }
|
||||
duplex: full
|
||||
speed: 100
|
||||
- { name: "{{ test_interface }}", mtu: 2000, description: test-interface-1 }
|
||||
- { name: "{{ test_interface2 }}", mtu: 2000, description: test-interface-2 }
|
||||
speed: 1000
|
||||
state: present
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"interface GigabitEthernet0/1" in result.commands'
|
||||
- '"speed 100" in result.commands'
|
||||
- '"description test-interface-1" in result.commands'
|
||||
- '"duplex full" in result.commands'
|
||||
- '"mtu 256" in result.commands'
|
||||
- '"interface GigabitEthernet0/2" in result.commands'
|
||||
- '"speed 100" in result.commands'
|
||||
- '"interface {{ test_interface }}" in result.commands'
|
||||
- '"mtu 2000" in result.commands'
|
||||
- '"interface {{ test_interface2 }}" in result.commands'
|
||||
- '"description test-interface-2" in result.commands'
|
||||
- '"duplex full" in result.commands'
|
||||
- '"mtu 516" in result.commands'
|
||||
- '"mtu 2000" in result.commands'
|
||||
|
||||
- name: Add interface aggregate (idempotent)
|
||||
net_interface:
|
||||
aggregate:
|
||||
- { name: GigabitEthernet0/1, mtu: 256, description: test-interface-1 }
|
||||
- { name: GigabitEthernet0/2, mtu: 516, description: test-interface-2 }
|
||||
duplex: full
|
||||
speed: 100
|
||||
- { name: "{{ test_interface }}", mtu: 2000, description: test-interface-1 }
|
||||
- { name: "{{ test_interface2 }}", mtu: 2000, description: test-interface-2 }
|
||||
speed: 1000
|
||||
state: present
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
@@ -166,39 +174,37 @@
|
||||
- name: Disable interface aggregate
|
||||
net_interface:
|
||||
aggregate:
|
||||
- name: GigabitEthernet0/1
|
||||
- name: GigabitEthernet0/2
|
||||
- { name: "{{ test_interface }}" }
|
||||
- { name: "{{ test_interface2 }}" }
|
||||
enabled: False
|
||||
state: present
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"interface GigabitEthernet0/1" in result.commands'
|
||||
- '"interface {{ test_interface }}" in result.commands'
|
||||
- '"shutdown" in result.commands'
|
||||
- '"interface GigabitEthernet0/2" in result.commands'
|
||||
- '"interface {{ test_interface2 }}" in result.commands'
|
||||
- '"shutdown" in result.commands'
|
||||
|
||||
- name: Enable interface aggregate
|
||||
net_interface:
|
||||
aggregate:
|
||||
- name: GigabitEthernet0/1
|
||||
- name: GigabitEthernet0/2
|
||||
- { name: "{{ test_interface }}" }
|
||||
- { name: "{{ test_interface2 }}" }
|
||||
enabled: True
|
||||
state: present
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"interface GigabitEthernet0/1" in result.commands'
|
||||
- '"interface {{ test_interface }}" in result.commands'
|
||||
- '"no shutdown" in result.commands'
|
||||
- '"interface GigabitEthernet0/2" in result.commands'
|
||||
- '"interface {{ test_interface2 }}" in result.commands'
|
||||
- '"no shutdown" in result.commands'
|
||||
|
||||
- name: loopback interface setup
|
||||
@@ -216,7 +222,6 @@
|
||||
- name: Loopback10
|
||||
state: present
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
@@ -232,7 +237,6 @@
|
||||
- name: Loopback10
|
||||
state: absent
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
@@ -248,7 +252,6 @@
|
||||
- name: Loopback10
|
||||
state: absent
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
|
||||
@@ -1,14 +1,28 @@
|
||||
---
|
||||
- debug: msg="START net_interface ios/intent.yaml"
|
||||
|
||||
- name: Run show version
|
||||
ios_command:
|
||||
commands: show version
|
||||
authorize: yes
|
||||
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
|
||||
net_interface:
|
||||
name: GigabitEthernet0/2
|
||||
name: "{{ test_interface }}"
|
||||
state: up
|
||||
tx_rate: ge(0)
|
||||
rx_rate: le(0)
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
@@ -17,12 +31,11 @@
|
||||
|
||||
- name: Check intent arguments (failed condition)
|
||||
net_interface:
|
||||
name: GigabitEthernet0/2
|
||||
name: "{{ test_interface }}"
|
||||
state: down
|
||||
tx_rate: gt(0)
|
||||
rx_rate: lt(0)
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
ignore_errors: yes
|
||||
register: result
|
||||
|
||||
@@ -35,11 +48,10 @@
|
||||
|
||||
- name: Config + intent
|
||||
net_interface:
|
||||
name: GigabitEthernet0/2
|
||||
name: "{{ test_interface }}"
|
||||
enabled: False
|
||||
state: down
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
@@ -48,11 +60,10 @@
|
||||
|
||||
- name: Config + intent (fail)
|
||||
net_interface:
|
||||
name: GigabitEthernet0/2
|
||||
name: "{{ test_interface }}"
|
||||
enabled: False
|
||||
authorize: yes
|
||||
state: up
|
||||
provider: "{{ cli }}"
|
||||
ignore_errors: yes
|
||||
register: result
|
||||
|
||||
@@ -61,17 +72,90 @@
|
||||
- "result.failed == true"
|
||||
- "'state eq(up)' in result.failed_conditions"
|
||||
|
||||
- name: Register show neighbors detail
|
||||
ios_command:
|
||||
commands:
|
||||
- show lldp neighbors
|
||||
authorize: yes
|
||||
register: show_lldp_neighbors_result
|
||||
|
||||
- block:
|
||||
- name: Check neighbors intent arguments
|
||||
net_interface:
|
||||
name: Gi0/0
|
||||
neighbors:
|
||||
- port: eth0
|
||||
host: netdev
|
||||
authorize: yes
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.failed == false"
|
||||
|
||||
- name: Check neighbors intent arguments (failed condition)
|
||||
net_interface:
|
||||
name: Gi0/0
|
||||
neighbors:
|
||||
- port: dummy_port
|
||||
host: dummy_host
|
||||
authorize: yes
|
||||
ignore_errors: yes
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.failed == true"
|
||||
- "'host dummy_host' in result.failed_conditions"
|
||||
- "'port dummy_port' in result.failed_conditions"
|
||||
when: '"netdev" in show_lldp_neighbors_result.stdout'
|
||||
|
||||
- name: Aggregate config + intent (pass)
|
||||
net_interface:
|
||||
aggregate:
|
||||
- name: GigabitEthernet0/2
|
||||
enabled: True
|
||||
state: up
|
||||
- name: "{{ test_interface }}"
|
||||
enabled: True
|
||||
state: up
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
ignore_errors: yes
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.failed == false"
|
||||
|
||||
- block:
|
||||
- name: Aggregate neighbors intent (pass)
|
||||
net_interface:
|
||||
aggregate:
|
||||
- name: Gi0/0
|
||||
neighbors:
|
||||
- port: eth0
|
||||
host: netdev
|
||||
authorize: yes
|
||||
ignore_errors: yes
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.failed == false"
|
||||
|
||||
- name: Aggregate neighbors intent (fail)
|
||||
net_interface:
|
||||
aggregate:
|
||||
- name: Gi0/0
|
||||
neighbors:
|
||||
- port: eth0
|
||||
host: netdev
|
||||
- port: dummy_port
|
||||
host: dummy_host
|
||||
authorize: yes
|
||||
ignore_errors: yes
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.failed == true"
|
||||
- "'host dummy_host' in result.failed_conditions"
|
||||
- "'port dummy_port' in result.failed_conditions"
|
||||
when: "'netdev' in show_lldp_neighbors_result.stdout"
|
||||
|
||||
Reference in New Issue
Block a user