mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-22 12:50:22 -07:00
Add vyos_linkagg module (#26418)
* Add vyos_linkagg module * Add vyos_linkagg integration tests * Fix pep8 issue * Address several review comments
This commit is contained in:
parent
c26a556929
commit
c73275b4b8
6 changed files with 457 additions and 1 deletions
185
test/integration/targets/vyos_linkagg/tests/cli/basic.yaml
Normal file
185
test/integration/targets/vyos_linkagg/tests/cli/basic.yaml
Normal file
|
@ -0,0 +1,185 @@
|
|||
---
|
||||
- name: Remove linkagg
|
||||
vyos_linkagg:
|
||||
name: bond0
|
||||
state: absent
|
||||
|
||||
- name: Create linkagg
|
||||
vyos_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)
|
||||
vyos_linkagg:
|
||||
name: bond0
|
||||
members:
|
||||
- eth1
|
||||
- eth2
|
||||
state: present
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == false'
|
||||
|
||||
- name: Add linkagg member
|
||||
vyos_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)
|
||||
vyos_linkagg:
|
||||
name: bond0
|
||||
members:
|
||||
- eth3
|
||||
state: present
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == false'
|
||||
|
||||
- name: Disable linkagg
|
||||
vyos_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)
|
||||
vyos_linkagg:
|
||||
name: bond0
|
||||
state: down
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == false'
|
||||
|
||||
- name: Enable linkagg
|
||||
vyos_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)
|
||||
vyos_linkagg:
|
||||
name: bond0
|
||||
state: up
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == false'
|
||||
|
||||
- name: Remove linkagg
|
||||
vyos_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)
|
||||
vyos_linkagg:
|
||||
name: bond0
|
||||
state: absent
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == false'
|
||||
|
||||
- name: Create collection of linkagg definitions
|
||||
vyos_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)
|
||||
vyos_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
|
||||
vyos_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)
|
||||
vyos_linkagg:
|
||||
collection:
|
||||
- { name: bond0 }
|
||||
- { name: bond1 }
|
||||
state: absent
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == false'
|
Loading…
Add table
Add a link
Reference in a new issue