abb4361990
* Add default description string to vyos_interface * If `state=up` it should remove the `disable` configuration for interface. However, if no other interface parameter is configured this ends up deleting the interface itself which is not the desired behaviour. Hence adding a default description field to avoid such scenario's. * Minor changes * Add default description to aggregate
215 lines
5.9 KiB
YAML
215 lines
5.9 KiB
YAML
---
|
|
- debug: msg="START vyos_interface cli/basic.yaml"
|
|
|
|
- name: Run vyos lsmod command
|
|
vyos_command:
|
|
commands:
|
|
- lsmod
|
|
register: lsmod_out
|
|
|
|
- name: Set up - delete interface
|
|
vyos_interface:
|
|
name: eth1
|
|
state: absent
|
|
|
|
- name: Set up - Create interface
|
|
vyos_interface:
|
|
name: eth1
|
|
state: present
|
|
description: test-interface
|
|
register: result
|
|
|
|
- assert:
|
|
that:
|
|
- 'result.changed == true'
|
|
- '"set interfaces ethernet eth1" in result.commands'
|
|
- '"set interfaces ethernet eth1 description test-interface" in result.commands'
|
|
|
|
- name: Configure interface params
|
|
vyos_interface:
|
|
name: eth1
|
|
state: present
|
|
description: test-interface-1
|
|
speed: 100
|
|
duplex: half
|
|
mtu: 256
|
|
when: "'virtio_net' not in lsmod_out.stdout[0]"
|
|
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 256" in result.commands'
|
|
when: "'virtio_net' not in lsmod_out.stdout[0]"
|
|
|
|
- name: Configure interface params (idempotent)
|
|
vyos_interface:
|
|
name: eth1
|
|
state: present
|
|
description: test-interface-1
|
|
speed: 100
|
|
duplex: half
|
|
mtu: 256
|
|
register: result
|
|
when: "'virtio_net' not in lsmod_out.stdout[0]"
|
|
|
|
- assert:
|
|
that:
|
|
- 'result.changed == false'
|
|
when: "'virtio' not in lsmod_out.stdout[0]"
|
|
|
|
- name: Change interface params
|
|
vyos_interface:
|
|
name: eth1
|
|
state: present
|
|
description: test-interface-2
|
|
speed: 1000
|
|
duplex: full
|
|
mtu: 512
|
|
register: result
|
|
when: "'virtio_net' not in lsmod_out.stdout[0]"
|
|
|
|
- assert:
|
|
that:
|
|
- 'result.changed == true'
|
|
- '"set interfaces ethernet eth1 description test-interface-2" 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'
|
|
when: "'virtio_net' not in lsmod_out.stdout[0]"
|
|
|
|
- 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
|
|
when: "'virtio_net' not in lsmod_out.stdout[0]"
|
|
|
|
- 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'
|
|
when: "'virtio_net' not in lsmod_out.stdout[0]"
|
|
|
|
- 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
|
|
when: "'virtio_net' not in lsmod_out.stdout[0]"
|
|
|
|
- assert:
|
|
that:
|
|
- 'result.changed == false'
|
|
when: "'virtio_net' not in lsmod_out.stdout[0]"
|
|
|
|
- name: Disable interface on aggregate
|
|
vyos_interface:
|
|
aggregate:
|
|
- { name: eth1, description: test-interface-1, state: down}
|
|
- { name: eth2, description: test-interface-2, 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, state: present}
|
|
- { name: eth2, description: test-interface-2, 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'
|