mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-07 05:42:50 +00:00
Add intent arguments for ios and iosxr interface modules (#28018)
* Add intent arguments for ios_interface * Intent argument support * Integration test case for intent arguments * Fix ci issue * Add intent arguments for iosxr_interface * Add intent check support for iosxr_interface * Integration test for intent + configuration * Fix ci failure
This commit is contained in:
@@ -1,6 +1,18 @@
|
||||
---
|
||||
- debug: msg="START ios_interface netconf/basic.yaml"
|
||||
|
||||
- name: Configure interface (setup)
|
||||
ios_interface:
|
||||
name: GigabitEthernet0/2
|
||||
description: test-interface-1
|
||||
speed: 10
|
||||
duplex: full
|
||||
mtu: 256
|
||||
state: present
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- name: Confgure interface
|
||||
ios_interface:
|
||||
name: GigabitEthernet0/2
|
||||
@@ -103,7 +115,7 @@
|
||||
- name: Disable interface
|
||||
ios_interface:
|
||||
name: GigabitEthernet0/2
|
||||
state: down
|
||||
enabled: False
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
@@ -117,7 +129,7 @@
|
||||
- name: Enable interface
|
||||
ios_interface:
|
||||
name: GigabitEthernet0/2
|
||||
state: up
|
||||
enabled: True
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
@@ -132,17 +144,14 @@
|
||||
ios_interface:
|
||||
name: GigabitEthernet0/1
|
||||
description: test-interface-initial
|
||||
speed: 100
|
||||
duplex: full
|
||||
mtu: 516
|
||||
state: present
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"interface GigabitEthernet0/1" in result.commands'
|
||||
- '"description test-interface-initial" in result.commands'
|
||||
|
||||
- name: Add interface aggregate
|
||||
ios_interface:
|
||||
aggregate:
|
||||
@@ -209,8 +218,8 @@
|
||||
- name: Disable interface aggregate
|
||||
ios_interface:
|
||||
aggregate:
|
||||
- { name: GigabitEthernet0/1, state: down }
|
||||
- { name: GigabitEthernet0/2, state: down }
|
||||
- { name: GigabitEthernet0/1, enabled: False }
|
||||
- { name: GigabitEthernet0/2, enabled: False }
|
||||
state: present
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
@@ -227,8 +236,8 @@
|
||||
- name: Enable interface aggregate
|
||||
ios_interface:
|
||||
aggregate:
|
||||
- { name: GigabitEthernet0/1, state: up }
|
||||
- { name: GigabitEthernet0/2, state: up }
|
||||
- { name: GigabitEthernet0/1, enabled: True }
|
||||
- { name: GigabitEthernet0/2, enabled: True }
|
||||
state: present
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
|
||||
77
test/integration/targets/ios_interface/tests/cli/intent.yaml
Normal file
77
test/integration/targets/ios_interface/tests/cli/intent.yaml
Normal file
@@ -0,0 +1,77 @@
|
||||
---
|
||||
- debug: msg="START ios_interface cli/intent.yaml"
|
||||
|
||||
- name: Check intent arguments
|
||||
ios_interface:
|
||||
name: GigabitEthernet0/2
|
||||
state: up
|
||||
tx_rate: ge(0)
|
||||
rx_rate: le(0)
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.failed == false"
|
||||
|
||||
- name: Check intent arguments (failed condition)
|
||||
ios_interface:
|
||||
name: GigabitEthernet0/2
|
||||
state: down
|
||||
tx_rate: gt(0)
|
||||
rx_rate: lt(0)
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
ignore_errors: yes
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.failed == true"
|
||||
- "'state eq(down)' in result.failed_conditions"
|
||||
- "'tx_rate gt(0)' in result.failed_conditions"
|
||||
- "'rx_rate lt(0)' in result.failed_conditions"
|
||||
|
||||
- name: Config + intent
|
||||
ios_interface:
|
||||
name: GigabitEthernet0/2
|
||||
enabled: False
|
||||
state: down
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.failed == false"
|
||||
|
||||
- name: Config + intent (fail)
|
||||
ios_interface:
|
||||
name: GigabitEthernet0/2
|
||||
enabled: False
|
||||
authorize: yes
|
||||
state: up
|
||||
provider: "{{ cli }}"
|
||||
ignore_errors: yes
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.failed == true"
|
||||
- "'state eq(up)' in result.failed_conditions"
|
||||
|
||||
- name: Aggregate config + intent (pass)
|
||||
ios_interface:
|
||||
aggregate:
|
||||
- name: GigabitEthernet0/2
|
||||
enabled: True
|
||||
state: up
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
ignore_errors: yes
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.failed == false"
|
||||
Reference in New Issue
Block a user