1
0
Fork 0
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:
Ricardo Carrillo Cruz 2017-07-06 11:25:15 +02:00 committed by GitHub
parent 8b0e052b88
commit c6c5c6cf81
8 changed files with 218 additions and 2 deletions

View file

@ -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

View file

@ -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

View file

@ -0,0 +1,3 @@
---
testcase: "*"
test_items: []

View 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

View file

@ -0,0 +1,2 @@
---
- { include: cli.yaml, tags: ['cli'] }

View file

@ -0,0 +1,4 @@
---
- include: "{{ role_path }}/tests/vyos/basic.yaml"
when: hostvars[inventory_hostname]['ansible_network_os'] == 'vyos'

View 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'