mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Add VyOS integration tests for net_linkagg (#26478)
This commit is contained in:
parent
8b0e052b88
commit
c6c5c6cf81
8 changed files with 218 additions and 2 deletions
|
@ -25,7 +25,7 @@ vsrx01 ansible_network_os=junos
|
||||||
clvx01
|
clvx01
|
||||||
|
|
||||||
[vyos]
|
[vyos]
|
||||||
vyos01 ansible_network_os=vyos
|
vyos02 ansible_network_os=vyos
|
||||||
|
|
||||||
[ops]
|
[ops]
|
||||||
ops01
|
ops01
|
||||||
|
|
|
@ -78,8 +78,15 @@
|
||||||
rescue:
|
rescue:
|
||||||
- set_fact: test_failed=true
|
- set_fact: test_failed=true
|
||||||
|
|
||||||
|
- block:
|
||||||
|
- include_role:
|
||||||
|
name: net_linkagg
|
||||||
|
when: "limit_to in ['*', 'net_linkagg']"
|
||||||
|
rescue:
|
||||||
|
- set_fact: test_failed=true
|
||||||
|
|
||||||
###########
|
###########
|
||||||
- name: Has any previous test failed?
|
- name: Has any previous test failed?
|
||||||
fail:
|
fail:
|
||||||
msg: "One or more tests failed, check log for details"
|
msg: "One or more tests failed, check log for details"
|
||||||
when: test_failed
|
when: test_failed
|
||||||
|
|
0
test/integration/targets/net_linkagg/aliases
Normal file
0
test/integration/targets/net_linkagg/aliases
Normal file
3
test/integration/targets/net_linkagg/defaults/main.yaml
Normal file
3
test/integration/targets/net_linkagg/defaults/main.yaml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
---
|
||||||
|
testcase: "*"
|
||||||
|
test_items: []
|
15
test/integration/targets/net_linkagg/tasks/cli.yaml
Normal file
15
test/integration/targets/net_linkagg/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/net_linkagg/tasks/main.yaml
Normal file
2
test/integration/targets/net_linkagg/tasks/main.yaml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
---
|
||||||
|
- { include: cli.yaml, tags: ['cli'] }
|
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
- include: "{{ role_path }}/tests/vyos/basic.yaml"
|
||||||
|
when: hostvars[inventory_hostname]['ansible_network_os'] == 'vyos'
|
185
test/integration/targets/net_linkagg/tests/vyos/basic.yaml
Normal file
185
test/integration/targets/net_linkagg/tests/vyos/basic.yaml
Normal file
|
@ -0,0 +1,185 @@
|
||||||
|
---
|
||||||
|
- name: Remove linkagg
|
||||||
|
net_linkagg:
|
||||||
|
name: bond0
|
||||||
|
state: absent
|
||||||
|
|
||||||
|
- name: Create linkagg
|
||||||
|
net_linkagg:
|
||||||
|
name: bond0
|
||||||
|
members:
|
||||||
|
- eth1
|
||||||
|
- eth2
|
||||||
|
state: present
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- 'result.changed == true'
|
||||||
|
- '"set interfaces bonding bond0 mode 802.3ad" in result.commands'
|
||||||
|
- '"set interfaces ethernet eth1 bond-group bond0" in result.commands'
|
||||||
|
- '"set interfaces ethernet eth2 bond-group bond0" in result.commands'
|
||||||
|
|
||||||
|
- name: Create linkagg again (idempotent)
|
||||||
|
net_linkagg:
|
||||||
|
name: bond0
|
||||||
|
members:
|
||||||
|
- eth1
|
||||||
|
- eth2
|
||||||
|
state: present
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- 'result.changed == false'
|
||||||
|
|
||||||
|
- name: Add linkagg member
|
||||||
|
net_linkagg:
|
||||||
|
name: bond0
|
||||||
|
members:
|
||||||
|
- eth3
|
||||||
|
state: present
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- 'result.changed == true'
|
||||||
|
- '"set interfaces ethernet eth3 bond-group bond0" in result.commands'
|
||||||
|
|
||||||
|
- name: Add linkagg member again (idempotent)
|
||||||
|
net_linkagg:
|
||||||
|
name: bond0
|
||||||
|
members:
|
||||||
|
- eth3
|
||||||
|
state: present
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- 'result.changed == false'
|
||||||
|
|
||||||
|
- name: Disable linkagg
|
||||||
|
net_linkagg:
|
||||||
|
name: bond0
|
||||||
|
state: down
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- 'result.changed == true'
|
||||||
|
- '"set interfaces bonding bond0 disable" in result.commands'
|
||||||
|
|
||||||
|
- name: Disable linkagg again (idempotent)
|
||||||
|
net_linkagg:
|
||||||
|
name: bond0
|
||||||
|
state: down
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- 'result.changed == false'
|
||||||
|
|
||||||
|
- name: Enable linkagg
|
||||||
|
net_linkagg:
|
||||||
|
name: bond0
|
||||||
|
state: up
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- 'result.changed == true'
|
||||||
|
- '"delete interfaces bonding bond0 disable" in result.commands[0]'
|
||||||
|
|
||||||
|
- name: Enable linkagg again (idempotent)
|
||||||
|
net_linkagg:
|
||||||
|
name: bond0
|
||||||
|
state: up
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- 'result.changed == false'
|
||||||
|
|
||||||
|
- name: Remove linkagg
|
||||||
|
net_linkagg:
|
||||||
|
name: bond0
|
||||||
|
state: absent
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- 'result.changed == true'
|
||||||
|
- '"delete interfaces ethernet eth1 bond-group" in result.commands'
|
||||||
|
- '"delete interfaces ethernet eth2 bond-group" in result.commands'
|
||||||
|
- '"delete interfaces ethernet eth3 bond-group" in result.commands'
|
||||||
|
- '"delete interfaces bonding bond0" in result.commands'
|
||||||
|
|
||||||
|
- name: Remove linkagg again (idempotent)
|
||||||
|
net_linkagg:
|
||||||
|
name: bond0
|
||||||
|
state: absent
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- 'result.changed == false'
|
||||||
|
|
||||||
|
- name: Create collection of linkagg definitions
|
||||||
|
net_linkagg:
|
||||||
|
collection:
|
||||||
|
- { name: bond0, members: [eth1, eth2] }
|
||||||
|
- { name: bond1, members: [eth3, eth4] }
|
||||||
|
state: present
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- 'result.changed == true'
|
||||||
|
- '"set interfaces bonding bond0 mode 802.3ad" in result.commands'
|
||||||
|
- '"set interfaces ethernet eth1 bond-group bond0" in result.commands'
|
||||||
|
- '"set interfaces ethernet eth2 bond-group bond0" in result.commands'
|
||||||
|
- '"set interfaces bonding bond1 mode 802.3ad" in result.commands'
|
||||||
|
- '"set interfaces ethernet eth3 bond-group bond1" in result.commands'
|
||||||
|
- '"set interfaces ethernet eth4 bond-group bond1" in result.commands'
|
||||||
|
|
||||||
|
- name: Create collection of linkagg definitions again (idempotent)
|
||||||
|
net_linkagg:
|
||||||
|
collection:
|
||||||
|
- { name: bond0, members: [eth1, eth2] }
|
||||||
|
- { name: bond1, members: [eth3, eth4] }
|
||||||
|
state: present
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- 'result.changed == false'
|
||||||
|
|
||||||
|
- name: Remove collection of linkagg definitions
|
||||||
|
net_linkagg:
|
||||||
|
collection:
|
||||||
|
- { name: bond0 }
|
||||||
|
- { name: bond1 }
|
||||||
|
state: absent
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- 'result.changed == true'
|
||||||
|
- '"delete interfaces ethernet eth1 bond-group" in result.commands'
|
||||||
|
- '"delete interfaces ethernet eth2 bond-group" in result.commands'
|
||||||
|
- '"delete interfaces bonding bond0" in result.commands'
|
||||||
|
- '"delete interfaces ethernet eth1 bond-group" in result.commands'
|
||||||
|
- '"delete interfaces ethernet eth2 bond-group" in result.commands'
|
||||||
|
- '"delete interfaces bonding bond1" in result.commands'
|
||||||
|
|
||||||
|
- name: Remove collection of linkagg definitions again (idempotent)
|
||||||
|
net_linkagg:
|
||||||
|
collection:
|
||||||
|
- { name: bond0 }
|
||||||
|
- { name: bond1 }
|
||||||
|
state: absent
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- 'result.changed == false'
|
Loading…
Reference in a new issue