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:
Ricardo Carrillo Cruz 2017-07-06 10:07:48 +02:00 committed by GitHub
commit c73275b4b8
6 changed files with 457 additions and 1 deletions

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