mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-10-23 04:24:00 -07:00
vyos implementation for net_interface module (#26799)
* vyos implementation for net_interface module * vyos_interface implementation module * vyos_interface integration test * net_interface integration test for vyos * Change collection to aggregate
This commit is contained in:
parent
a1977d9654
commit
751ad7021c
10 changed files with 733 additions and 1 deletions
|
@ -1,4 +1,10 @@
|
|||
---
|
||||
- debug: msg="START cli/contains.yaml"
|
||||
|
||||
- include: "{{ role_path }}/tests/eos/basic.yaml"
|
||||
when: hostvars[inventory_hostname]['ansible_network_os'] == 'eos'
|
||||
|
||||
- include: "{{ role_path }}/tests/vyos/basic.yaml"
|
||||
when: hostvars[inventory_hostname]['ansible_network_os'] == 'vyos'
|
||||
|
||||
- debug: msg="END cli/contains.yaml"
|
||||
|
|
188
test/integration/targets/net_interface/tests/vyos/basic.yaml
Normal file
188
test/integration/targets/net_interface/tests/vyos/basic.yaml
Normal file
|
@ -0,0 +1,188 @@
|
|||
---
|
||||
- debug: msg="START net_interface vyos/basic.yaml"
|
||||
|
||||
- name: Set up - delete interface
|
||||
net_interface:
|
||||
name: eth1
|
||||
state: absent
|
||||
|
||||
- name: Configure interface params
|
||||
net_interface:
|
||||
name: eth1
|
||||
state: present
|
||||
description: test-interface
|
||||
speed: 100
|
||||
duplex: half
|
||||
mtu: 256
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"set interfaces ethernet eth1 description test-interface" in result.commands'
|
||||
- '"set interfaces ethernet eth1 speed 100" in result.commands'
|
||||
- '"set interfaces ethernet eth1 duplex half" in result.commands'
|
||||
- '"set interfaces ethernet eth1 mtu 256" in result.commands'
|
||||
|
||||
- name: Configure interface params (idempotent)
|
||||
net_interface:
|
||||
name: eth1
|
||||
state: present
|
||||
description: test-interface
|
||||
speed: 100
|
||||
duplex: half
|
||||
mtu: 256
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == false'
|
||||
|
||||
- name: Change interface params
|
||||
net_interface:
|
||||
name: eth1
|
||||
state: present
|
||||
description: test-interface-1
|
||||
speed: 1000
|
||||
duplex: full
|
||||
mtu: 512
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"set interfaces ethernet eth1 description test-interface-1" in result.commands'
|
||||
- '"set interfaces ethernet eth1 speed 1000" in result.commands'
|
||||
- '"set interfaces ethernet eth1 duplex full" in result.commands'
|
||||
- '"set interfaces ethernet eth1 mtu 512" in result.commands'
|
||||
|
||||
- name: Disable interface
|
||||
net_interface:
|
||||
name: eth1
|
||||
state: down
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"set interfaces ethernet eth1 disable" in result.commands'
|
||||
|
||||
- name: Enable interface
|
||||
net_interface:
|
||||
name: eth1
|
||||
state: up
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"delete interfaces ethernet eth1 disable" in result.commands'
|
||||
|
||||
- name: Delete interface
|
||||
net_interface:
|
||||
name: eth1
|
||||
state: absent
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"delete interfaces ethernet eth1" in result.commands'
|
||||
|
||||
- name: Delete interface (idempotent)
|
||||
net_interface:
|
||||
name: eth1
|
||||
state: absent
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == false'
|
||||
|
||||
- name: Aggregate setup- delete interface
|
||||
net_interface:
|
||||
name: eth2
|
||||
state: absent
|
||||
register: result
|
||||
|
||||
- name: Set interface on aggregate
|
||||
net_interface:
|
||||
aggregate:
|
||||
- { name: eth1, description: test-interface-1, speed: 100, duplex: half, mtu: 512}
|
||||
- { name: eth2, description: test-interface-2, speed: 1000, duplex: full, mtu: 256}
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"set interfaces ethernet eth1 description test-interface-1" in result.commands'
|
||||
- '"set interfaces ethernet eth1 speed 100" in result.commands'
|
||||
- '"set interfaces ethernet eth1 duplex half" in result.commands'
|
||||
- '"set interfaces ethernet eth1 mtu 512" in result.commands'
|
||||
- '"set interfaces ethernet eth2 description test-interface-2" in result.commands'
|
||||
- '"set interfaces ethernet eth2 speed 1000" in result.commands'
|
||||
- '"set interfaces ethernet eth2 duplex full" in result.commands'
|
||||
- '"set interfaces ethernet eth2 mtu 256" in result.commands'
|
||||
|
||||
- name: Set interface on aggregate (idempotent)
|
||||
net_interface:
|
||||
aggregate:
|
||||
- { name: eth1, description: test-interface-1, speed: 100, duplex: half, mtu: 512}
|
||||
- { name: eth2, description: test-interface-2, speed: 1000, duplex: full, mtu: 256}
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == false'
|
||||
|
||||
- name: Disable interface on aggregate
|
||||
net_interface:
|
||||
aggregate:
|
||||
- { name: eth1, description: test-interface-1, speed: 100, duplex: half, mtu: 512, state: down}
|
||||
- { name: eth2, description: test-interface-2, speed: 1000, duplex: full, mtu: 256, state: down}
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"set interfaces ethernet eth1 disable" in result.commands'
|
||||
- '"set interfaces ethernet eth2 disable" in result.commands'
|
||||
|
||||
- name: Enable interface on aggregate
|
||||
net_interface:
|
||||
aggregate:
|
||||
- { name: eth1, description: test-interface-1, speed: 100, duplex: half, mtu: 512, state: present}
|
||||
- { name: eth2, description: test-interface-2, speed: 1000, duplex: full, mtu: 256, state: present}
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"delete interfaces ethernet eth1 disable" in result.commands'
|
||||
- '"delete interfaces ethernet eth2 disable" in result.commands'
|
||||
|
||||
- name: Delete interface aggregate
|
||||
net_interface:
|
||||
aggregate:
|
||||
- { name: eth1, state: absent}
|
||||
- { name: eth2, state: absent}
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"delete interfaces ethernet eth1" in result.commands'
|
||||
- '"delete interfaces ethernet eth2" in result.commands'
|
||||
|
||||
- name: Delete interface aggregate (idempotent)
|
||||
net_interface:
|
||||
aggregate:
|
||||
- { name: eth1, state: absent}
|
||||
- { name: eth2, state: absent}
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == false'
|
||||
|
||||
- debug: msg="END net_interface vyos/basic.yaml"
|
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
testcase: "*"
|
||||
test_items: []
|
15
test/integration/targets/vyos_interface/tasks/cli.yaml
Normal file
15
test/integration/targets/vyos_interface/tasks/cli.yaml
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
- name: collect all cli test cases
|
||||
find:
|
||||
paths: "{{ role_path }}/tests/cli"
|
||||
patterns: "{{ testcase }}.yaml"
|
||||
register: test_cases
|
||||
|
||||
- name: set test_items
|
||||
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
|
||||
|
||||
- name: run test case
|
||||
include: "{{ test_case_to_run }}"
|
||||
with_items: "{{ test_items }}"
|
||||
loop_control:
|
||||
loop_var: test_case_to_run
|
2
test/integration/targets/vyos_interface/tasks/main.yaml
Normal file
2
test/integration/targets/vyos_interface/tasks/main.yaml
Normal file
|
@ -0,0 +1,2 @@
|
|||
---
|
||||
- { include: cli.yaml, tags: ['cli'] }
|
186
test/integration/targets/vyos_interface/tests/cli/basic.yaml
Normal file
186
test/integration/targets/vyos_interface/tests/cli/basic.yaml
Normal file
|
@ -0,0 +1,186 @@
|
|||
---
|
||||
- debug: msg="START vyos_interface cli/basic.yaml"
|
||||
|
||||
- name: Set up - delete interface
|
||||
vyos_interface:
|
||||
name: eth1
|
||||
state: absent
|
||||
|
||||
- name: Configure interface params
|
||||
vyos_interface:
|
||||
name: eth1
|
||||
state: present
|
||||
description: test-interface
|
||||
speed: 100
|
||||
duplex: half
|
||||
mtu: 256
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"set interfaces ethernet eth1 description test-interface" in result.commands'
|
||||
- '"set interfaces ethernet eth1 speed 100" in result.commands'
|
||||
- '"set interfaces ethernet eth1 duplex half" in result.commands'
|
||||
- '"set interfaces ethernet eth1 mtu 256" in result.commands'
|
||||
|
||||
- name: Configure interface params (idempotent)
|
||||
vyos_interface:
|
||||
name: eth1
|
||||
state: present
|
||||
description: test-interface
|
||||
speed: 100
|
||||
duplex: half
|
||||
mtu: 256
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == false'
|
||||
|
||||
- name: Change interface params
|
||||
vyos_interface:
|
||||
name: eth1
|
||||
state: present
|
||||
description: test-interface-1
|
||||
speed: 1000
|
||||
duplex: full
|
||||
mtu: 512
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"set interfaces ethernet eth1 description test-interface-1" in result.commands'
|
||||
- '"set interfaces ethernet eth1 speed 1000" in result.commands'
|
||||
- '"set interfaces ethernet eth1 duplex full" in result.commands'
|
||||
- '"set interfaces ethernet eth1 mtu 512" in result.commands'
|
||||
|
||||
- name: Disable interface
|
||||
vyos_interface:
|
||||
name: eth1
|
||||
state: down
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"set interfaces ethernet eth1 disable" in result.commands'
|
||||
|
||||
- name: Enable interface
|
||||
vyos_interface:
|
||||
name: eth1
|
||||
state: up
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"delete interfaces ethernet eth1 disable" in result.commands'
|
||||
|
||||
- name: Delete interface
|
||||
vyos_interface:
|
||||
name: eth1
|
||||
state: absent
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"delete interfaces ethernet eth1" in result.commands'
|
||||
|
||||
- name: Delete interface (idempotent)
|
||||
vyos_interface:
|
||||
name: eth1
|
||||
state: absent
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == false'
|
||||
|
||||
- name: Aggregate setup- delete interface
|
||||
vyos_interface:
|
||||
name: eth2
|
||||
state: absent
|
||||
register: result
|
||||
|
||||
- name: Set interface on aggregate
|
||||
vyos_interface:
|
||||
aggregate:
|
||||
- { name: eth1, description: test-interface-1, speed: 100, duplex: half, mtu: 512}
|
||||
- { name: eth2, description: test-interface-2, speed: 1000, duplex: full, mtu: 256}
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"set interfaces ethernet eth1 description test-interface-1" in result.commands'
|
||||
- '"set interfaces ethernet eth1 speed 100" in result.commands'
|
||||
- '"set interfaces ethernet eth1 duplex half" in result.commands'
|
||||
- '"set interfaces ethernet eth1 mtu 512" in result.commands'
|
||||
- '"set interfaces ethernet eth2 description test-interface-2" in result.commands'
|
||||
- '"set interfaces ethernet eth2 speed 1000" in result.commands'
|
||||
- '"set interfaces ethernet eth2 duplex full" in result.commands'
|
||||
- '"set interfaces ethernet eth2 mtu 256" in result.commands'
|
||||
|
||||
- name: Set interface on aggregate (idempotent)
|
||||
vyos_interface:
|
||||
aggregate:
|
||||
- { name: eth1, description: test-interface-1, speed: 100, duplex: half, mtu: 512}
|
||||
- { name: eth2, description: test-interface-2, speed: 1000, duplex: full, mtu: 256}
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == false'
|
||||
|
||||
- name: Disable interface on aggregate
|
||||
vyos_interface:
|
||||
aggregate:
|
||||
- { name: eth1, description: test-interface-1, speed: 100, duplex: half, mtu: 512, state: down}
|
||||
- { name: eth2, description: test-interface-2, speed: 1000, duplex: full, mtu: 256, state: down}
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"set interfaces ethernet eth1 disable" in result.commands'
|
||||
- '"set interfaces ethernet eth2 disable" in result.commands'
|
||||
|
||||
- name: Enable interface on aggregate
|
||||
vyos_interface:
|
||||
aggregate:
|
||||
- { name: eth1, description: test-interface-1, speed: 100, duplex: half, mtu: 512, state: present}
|
||||
- { name: eth2, description: test-interface-2, speed: 1000, duplex: full, mtu: 256, state: present}
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"delete interfaces ethernet eth1 disable" in result.commands'
|
||||
- '"delete interfaces ethernet eth2 disable" in result.commands'
|
||||
|
||||
- name: Delete interface aggregate
|
||||
vyos_interface:
|
||||
aggregate:
|
||||
- { name: eth1, state: absent}
|
||||
- { name: eth2, state: absent}
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"delete interfaces ethernet eth1" in result.commands'
|
||||
- '"delete interfaces ethernet eth2" in result.commands'
|
||||
|
||||
- name: Delete interface aggregate (idempotent)
|
||||
vyos_interface:
|
||||
aggregate:
|
||||
- { name: eth1, state: absent}
|
||||
- { name: eth2, state: absent}
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == false'
|
Loading…
Add table
Add a link
Reference in a new issue