--- - 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 enabled: False register: result - assert: that: - 'result.changed == true' - '"set interfaces ethernet eth1 disable" in result.commands' - name: Enable interface vyos_interface: name: eth1 enabled: True 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, enabled: False} - { name: eth2, description: test-interface-2, enabled: False} 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, enabled: True} - { name: eth2, description: test-interface-2, enabled: True} 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'