diff options
author | Bradley A. Thornton <bthornto@thethorntons.net> | 2019-08-08 12:29:41 -0700 |
---|---|---|
committer | Bradley A. Thornton <bthornto@thethorntons.net> | 2019-08-08 12:29:41 -0700 |
commit | a330106b2e2c811db49477d71b8a472c964d2aeb (patch) | |
tree | ae05d893d8bed2d04db942d4c103996b26b10be7 /test/integration/targets/vyos_interface/tests | |
parent | 5472435af823398fc63e049d7efe0938b532f3c9 (diff) | |
download | vyos.vyos-a330106b2e2c811db49477d71b8a472c964d2aeb.tar.gz vyos.vyos-a330106b2e2c811db49477d71b8a472c964d2aeb.zip |
fixed
Diffstat (limited to 'test/integration/targets/vyos_interface/tests')
3 files changed, 433 insertions, 0 deletions
diff --git a/test/integration/targets/vyos_interface/tests/cli/basic.yaml b/test/integration/targets/vyos_interface/tests/cli/basic.yaml new file mode 100644 index 00000000..22957e14 --- /dev/null +++ b/test/integration/targets/vyos_interface/tests/cli/basic.yaml @@ -0,0 +1,220 @@ +--- +- debug: msg="START cli/basic.yaml on connection={{ ansible_connection }}" + +- name: Run vyos lsmod command + vyos.vyos.vyos_command: + commands: + - lsmod + register: lsmod_out + +- name: Set up - delete interface + vyos.vyos.vyos_interface: + name: eth1 + state: absent + +- name: Set up - Create interface + vyos.vyos.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.vyos.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.vyos.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.vyos.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.vyos.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.vyos.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.vyos.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.vyos.vyos_interface: + name: eth1 + state: absent + register: result + +- assert: + that: + - 'result.changed == false' + +- name: Aggregate setup- delete interface + vyos.vyos.vyos_interface: + name: eth2 + state: absent + register: result + +- name: Set interface on aggregate + vyos.vyos.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.vyos.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.vyos.vyos_interface: + aggregate: + - name: eth1 + - name: eth2 + description: test-interface + 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.vyos.vyos_interface: + aggregate: + - name: eth1 + - name: eth2 + 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.vyos.vyos_interface: + aggregate: + - name: eth1 + - 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.vyos.vyos_interface: + aggregate: + - name: eth1 + - name: eth2 + state: absent + register: result + +- assert: + that: + - 'result.changed == false' diff --git a/test/integration/targets/vyos_interface/tests/cli/intent.yaml b/test/integration/targets/vyos_interface/tests/cli/intent.yaml new file mode 100644 index 00000000..946728db --- /dev/null +++ b/test/integration/targets/vyos_interface/tests/cli/intent.yaml @@ -0,0 +1,157 @@ +--- +- debug: msg="START cli/intent.yaml on connection={{ ansible_connection }}" #" + +# To be able to run the lldp test we need to have a neighbor configured to talk to +# In DCI & Zuul we (currently) only spin up a single network VM, so we can't configure a neighbor +# In the future when we have multi-network-nodes running we can run these tests again +# https://github.com/ansible/ansible/issues/39667 + +- name: Detect if we have existing lldp neighbors configured + vyos.vyos.vyos_command: + commands: + - show lldp neighbors detail + register: neighbors_out + +- name: Should we run lldp tests? + set_fact: + run_lldp_tests: "'PortDescr: eth0' in neighbors_out.stdout[0]" + +- name: Enable LLDP service + vyos.vyos.vyos_lldp: + state: present + when: run_lldp_tests + +- name: Create LLDP configuration + vyos.vyos.vyos_lldp_interface: + name: eth1 + state: present + when: run_lldp_tests + +- name: Setup (interface is up) + vyos.vyos.vyos_interface: + name: eth1 + enabled: True + state: present + register: result + +- name: Check intent arguments + vyos.vyos.vyos_interface: + name: eth1 + state: up + register: result + +- assert: + that: + - "result.failed == false" + +- name: Check lldp neighbors intent arguments + vyos.vyos.vyos_interface: + name: eth0 + neighbors: + - port: eth0 + when: run_lldp_tests + register: result + +- assert: + that: + - "result.failed == false" + when: run_lldp_tests + +- name: Check intent arguments (failed condition) + vyos.vyos.vyos_interface: + name: eth1 + state: down + ignore_errors: yes + register: result + +- assert: + that: + - "result.failed == true" + - "'state eq(down)' in result.failed_conditions" + +- name: Check lldp neighbors intent arguments (failed) + vyos.vyos.vyos_interface: + name: eth0 + neighbors: + - port: dummy_port + host: dummy_host + ignore_errors: yes + when: run_lldp_tests + register: result + +- assert: + that: + - "result.failed == true" + - "'host dummy_host' in result.failed_conditions" + - "'port dummy_port' in result.failed_conditions" + when: run_lldp_tests + +- name: Config + intent + vyos.vyos.vyos_interface: + name: eth1 + enabled: False + state: down + register: result + +- assert: + that: + - "result.failed == false" + +- name: Config + intent (fail) + vyos.vyos.vyos_interface: + name: eth1 + enabled: False + state: up + ignore_errors: yes + register: result + +- assert: + that: + - "result.failed == true" + - "'state eq(up)' in result.failed_conditions" + +- name: Aggregate config + intent (pass) + vyos.vyos.vyos_interface: + aggregate: + - name: eth1 + enabled: True + state: up + ignore_errors: yes + register: result + +- assert: + that: + - "result.failed == false" + +- name: Check lldp neighbors intent aggregate arguments + vyos.vyos.vyos_interface: + aggregate: + - name: eth0 + neighbors: + - port: eth0 + when: run_lldp_tests + register: result + +- assert: + that: + - "result.failed == false" + when: run_lldp_tests + +- name: Check lldp neighbors intent aggregate arguments (failed) + vyos.vyos.vyos_interface: + aggregate: + - name: eth0 + neighbors: + - port: eth0 + - port: dummy_port + host: dummy_host + ignore_errors: yes + when: run_lldp_tests + register: result + +- assert: + that: + - "result.failed == true" + - "'host dummy_host' in result.failed_conditions" + - "'port dummy_port' in result.failed_conditions" + when: run_lldp_tests diff --git a/test/integration/targets/vyos_interface/tests/cli/net_interface.yaml b/test/integration/targets/vyos_interface/tests/cli/net_interface.yaml new file mode 100644 index 00000000..4bdb6ecc --- /dev/null +++ b/test/integration/targets/vyos_interface/tests/cli/net_interface.yaml @@ -0,0 +1,56 @@ +--- +- debug: msg="START vyos cli/net_interface.yaml on connection={{ ansible_connection }}" + +# Add minimal testcase to check args are passed correctly to +# implementation module and module run is successful. + +- name: Run vyos lsmod command + vyos.vyos.vyos_command: + commands: + - lsmod + register: lsmod_out + +- name: Set up - delete interface + net_interface: + name: eth1 + state: absent + +- name: Create interface using platform agnostic module + net_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 using platform agnostic module + net_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: teardown - delete interface + net_interface: + name: eth1 + state: absent + +- debug: msg="END vyos cli/net_interface.yaml on connection={{ ansible_connection }}" |