mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-10-23 04:24:00 -07:00
Add net_interface declarative module (#25766)
* Add net_interface declartive module * Add net_interface module * Add junos_interface implementation module * Other minor changes * Add integration test * Integration test for net_interface * Integration test for junos_interface * Fix CI failures * Documentation changes
This commit is contained in:
parent
e7deb07a87
commit
2ff464c949
24 changed files with 751 additions and 16 deletions
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
|
||||
- include: "{{ role_path }}/tests/eos/basic.yaml"
|
||||
when: hostvars[inventory_hostname]['ansible_network_os'] == 'eos'
|
|
@ -0,0 +1,2 @@
|
|||
---
|
||||
- debug: msg="START net_interface eos/basic.yaml"
|
102
test/integration/targets/net_interface/tests/junos/basic.yaml
Normal file
102
test/integration/targets/net_interface/tests/junos/basic.yaml
Normal file
|
@ -0,0 +1,102 @@
|
|||
---
|
||||
- debug: msg="START net_interface junos/basic.yaml"
|
||||
|
||||
- name: setup - remove interface
|
||||
net_interface:
|
||||
name: ge-0/0/1
|
||||
description: test-interface
|
||||
state: absent
|
||||
provider: "{{ netconf }}"
|
||||
|
||||
- name: Create interface
|
||||
net_interface:
|
||||
name: ge-0/0/1
|
||||
description: test-interface
|
||||
state: present
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- debug:
|
||||
msg: "{{ result }}"
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'<name>ge-0/0/1</name>' in result.rpc"
|
||||
- "'<description>test-interface</description>' in result.rpc"
|
||||
|
||||
- name: Create interface (idempotent)
|
||||
net_interface:
|
||||
name: ge-0/0/1
|
||||
description: test-interface
|
||||
state: present
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == false"
|
||||
|
||||
- name: Configure interface attributes
|
||||
net_interface:
|
||||
name: ge-0/0/1
|
||||
description: test-interface
|
||||
state: present
|
||||
speed: 1g
|
||||
mtu: 256
|
||||
duplex: full
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'<name>ge-0/0/1</name>' in result.rpc"
|
||||
- "'<link-mode>full-duplex</link-mode>' in result.rpc"
|
||||
- "'<mtu>256</mtu>' in result.rpc"
|
||||
- "'<speed>1g</speed>' in result.rpc"
|
||||
- "'<description>test-interface</description>' in result.rpc"
|
||||
|
||||
- name: Disable interface
|
||||
net_interface:
|
||||
name: ge-0/0/1
|
||||
description: test-interface
|
||||
state: present
|
||||
enabled: False
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'<disable />' in result.rpc"
|
||||
- "'<name>ge-0/0/1</name>' in result.rpc"
|
||||
|
||||
- name: Enable interface
|
||||
net_interface:
|
||||
name: ge-0/0/1
|
||||
description: test-interface
|
||||
state: present
|
||||
enabled: True
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'<disable delete=\"delete\" />' in result.rpc"
|
||||
- "'<name>ge-0/0/1</name>' in result.rpc"
|
||||
|
||||
- name: Delete interface
|
||||
net_interface:
|
||||
name: ge-0/0/1
|
||||
description: test-interface
|
||||
state: absent
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'<interface operation=\"delete\">' in result.rpc"
|
||||
- "'<name>ge-0/0/1</name>' in result.rpc"
|
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
- include: "{{ role_path }}/tests/junos/basic.yaml"
|
||||
when: hostvars[inventory_hostname]['ansible_network_os'] == 'junos'
|
Loading…
Add table
Add a link
Reference in a new issue