diff options
Diffstat (limited to 'tests/integration/targets/vyos_interface')
6 files changed, 138 insertions, 106 deletions
diff --git a/tests/integration/targets/vyos_interface/defaults/main.yaml b/tests/integration/targets/vyos_interface/defaults/main.yaml index 9ef5ba5..a845c24 100644 --- a/tests/integration/targets/vyos_interface/defaults/main.yaml +++ b/tests/integration/targets/vyos_interface/defaults/main.yaml @@ -1,3 +1,3 @@ --- -testcase: "*" +testcase: '*' test_items: [] diff --git a/tests/integration/targets/vyos_interface/tasks/cli.yaml b/tests/integration/targets/vyos_interface/tasks/cli.yaml index 890d3ac..90f265f 100644 --- a/tests/integration/targets/vyos_interface/tasks/cli.yaml +++ b/tests/integration/targets/vyos_interface/tasks/cli.yaml @@ -1,22 +1,22 @@ --- - name: collect all cli test cases find: - paths: "{{ role_path }}/tests/cli" - patterns: "{{ testcase }}.yaml" + paths: '{{ role_path }}/tests/cli' + patterns: '{{ testcase }}.yaml' register: test_cases delegate_to: localhost - name: set test_items set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}" -- name: run test case (connection=network_cli) - include: "{{ test_case_to_run }} ansible_connection=network_cli" - with_items: "{{ test_items }}" +- name: run test case (connection=ansible.netcommon.network_cli) + include: '{{ test_case_to_run }} ansible_connection=ansible.netcommon.network_cli' + with_items: '{{ test_items }}' loop_control: loop_var: test_case_to_run - name: run test case (connection=local) - include: "{{ test_case_to_run }} ansible_connection=local" - with_first_found: "{{ test_items }}" + include: '{{ test_case_to_run }} ansible_connection=local' + with_first_found: '{{ test_items }}' loop_control: loop_var: test_case_to_run diff --git a/tests/integration/targets/vyos_interface/tasks/main.yaml b/tests/integration/targets/vyos_interface/tasks/main.yaml index d4cf26f..a3db933 100644 --- a/tests/integration/targets/vyos_interface/tasks/main.yaml +++ b/tests/integration/targets/vyos_interface/tasks/main.yaml @@ -1,2 +1,4 @@ --- -- {include: cli.yaml, tags: ['cli']} +- include: cli.yaml + tags: + - cli diff --git a/tests/integration/targets/vyos_interface/tests/cli/basic.yaml b/tests/integration/targets/vyos_interface/tests/cli/basic.yaml index 168d666..b50d7da 100644 --- a/tests/integration/targets/vyos_interface/tests/cli/basic.yaml +++ b/tests/integration/targets/vyos_interface/tests/cli/basic.yaml @@ -2,10 +2,10 @@ - debug: msg="START cli/basic.yaml on connection={{ ansible_connection }}" - name: Run vyos lsmod command + register: lsmod_out vyos.vyos.vyos_command: commands: - lsmod - register: lsmod_out - name: Set up - delete interface vyos.vyos.vyos_interface: @@ -13,19 +13,21 @@ state: absent - name: Set up - Create interface + register: result vyos.vyos.vyos_interface: name: eth1 state: present description: test-interface - register: result - assert: that: - - 'result.changed == true' + - result.changed == true - '"set interfaces ethernet eth1" in result.commands' - - '"set interfaces ethernet eth1 description ''test-interface''" in result.commands' + - "\"set interfaces ethernet eth1 description 'test-interface'\" in result.commands" - name: Configure interface params + when: "'virtio_net' not in lsmod_out.stdout[0]" + register: result vyos.vyos.vyos_interface: name: eth1 state: present @@ -33,19 +35,19 @@ 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' + - 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) + register: result + when: "'virtio_net' not in lsmod_out.stdout[0]" vyos.vyos.vyos_interface: name: eth1 state: present @@ -53,15 +55,15 @@ speed: 100 duplex: half mtu: 256 - register: result - when: "'virtio_net' not in lsmod_out.stdout[0]" - assert: that: - - 'result.changed == false' + - result.changed == false when: "'virtio' not in lsmod_out.stdout[0]" - name: Change interface params + register: result + when: "'virtio_net' not in lsmod_out.stdout[0]" vyos.vyos.vyos_interface: name: eth1 state: present @@ -69,152 +71,178 @@ 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' + - 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 + register: result vyos.vyos.vyos_interface: name: eth1 enabled: false - register: result - assert: that: - - 'result.changed == true' + - result.changed == true - '"set interfaces ethernet eth1 disable" in result.commands' - name: Enable interface + register: result vyos.vyos.vyos_interface: name: eth1 enabled: true - register: result - assert: that: - - 'result.changed == true' + - result.changed == true - '"delete interfaces ethernet eth1 disable" in result.commands' - name: Delete interface + register: result vyos.vyos.vyos_interface: name: eth1 state: absent - register: result - assert: that: - - 'result.changed == true' + - result.changed == true - '"delete interfaces ethernet eth1" in result.commands' - name: Delete interface (idempotent) + register: result vyos.vyos.vyos_interface: name: eth1 state: absent - register: result - assert: that: - - 'result.changed == false' + - result.changed == false - name: Aggregate setup- delete interface + register: result 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]" + 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 - assert: that: - - 'result.changed == true' - - '"set interfaces ethernet eth1 description ''test-interface-1''" in result.commands' + - 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 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]" + 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 - assert: that: - - 'result.changed == false' + - result.changed == false when: "'virtio_net' not in lsmod_out.stdout[0]" - name: Disable interface on aggregate + register: result vyos.vyos.vyos_interface: aggregate: + - name: eth1 + - name: eth2 description: test-interface enabled: false - register: result - assert: that: - - 'result.changed == true' + - result.changed == true - '"set interfaces ethernet eth1 disable" in result.commands' - '"set interfaces ethernet eth2 disable" in result.commands' - name: Enable interface on aggregate + register: result vyos.vyos.vyos_interface: aggregate: + - name: eth1 + - name: eth2 enabled: true - register: result - assert: that: - - 'result.changed == true' + - result.changed == true - '"delete interfaces ethernet eth1 disable" in result.commands' - '"delete interfaces ethernet eth2 disable" in result.commands' - name: Delete interface aggregate + register: result vyos.vyos.vyos_interface: aggregate: + - name: eth1 + - name: eth2 state: absent - register: result - assert: that: - - 'result.changed == true' + - result.changed == true - '"delete interfaces ethernet eth1" in result.commands' - '"delete interfaces ethernet eth2" in result.commands' - name: Delete interface aggregate (idempotent) + register: result vyos.vyos.vyos_interface: aggregate: + - name: eth1 + - name: eth2 state: absent - register: result - assert: that: - - 'result.changed == false' + - result.changed == false diff --git a/tests/integration/targets/vyos_interface/tests/cli/intent.yaml b/tests/integration/targets/vyos_interface/tests/cli/intent.yaml index 1c14a7b..69ab779 100644 --- a/tests/integration/targets/vyos_interface/tests/cli/intent.yaml +++ b/tests/integration/targets/vyos_interface/tests/cli/intent.yaml @@ -1,157 +1,160 @@ --- - 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 + register: neighbors_out 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 + when: run_lldp_tests vyos.vyos.vyos_lldp: state: present - when: run_lldp_tests - name: Create LLDP configuration + when: run_lldp_tests vyos.vyos.vyos_lldp_interface: name: eth1 state: present - when: run_lldp_tests - name: Setup (interface is up) + register: result vyos.vyos.vyos_interface: name: eth1 enabled: true state: present - register: result - name: Check intent arguments + register: result vyos.vyos.vyos_interface: name: eth1 state: up - register: result - assert: that: - - "result.failed == false" + - result.failed == false - name: Check lldp neighbors intent arguments + when: run_lldp_tests + register: result vyos.vyos.vyos_interface: name: eth0 neighbors: + - port: eth0 - when: run_lldp_tests - register: result - assert: that: - - "result.failed == false" + - result.failed == false when: run_lldp_tests - name: Check intent arguments (failed condition) + ignore_errors: true + register: result vyos.vyos.vyos_interface: name: eth1 state: down - ignore_errors: true - register: result - assert: that: - - "result.failed == true" + - result.failed == true - "'state eq(down)' in result.failed_conditions" - name: Check lldp neighbors intent arguments (failed) + ignore_errors: true + when: run_lldp_tests + register: result vyos.vyos.vyos_interface: name: eth0 neighbors: + - port: dummy_port host: dummy_host - ignore_errors: true - when: run_lldp_tests - register: result - assert: that: - - "result.failed == true" + - result.failed == true - "'host dummy_host' in result.failed_conditions" - "'port dummy_port' in result.failed_conditions" when: run_lldp_tests - name: Config + intent + register: result vyos.vyos.vyos_interface: name: eth1 enabled: false state: down - register: result - assert: that: - - "result.failed == false" + - result.failed == false - name: Config + intent (fail) + ignore_errors: true + register: result vyos.vyos.vyos_interface: name: eth1 enabled: false state: up - ignore_errors: true - register: result - assert: that: - - "result.failed == true" + - result.failed == true - "'state eq(up)' in result.failed_conditions" - name: Aggregate config + intent (pass) + ignore_errors: true + register: result vyos.vyos.vyos_interface: aggregate: + - name: eth1 enabled: true state: up - ignore_errors: true - register: result - assert: that: - - "result.failed == false" + - result.failed == false - name: Check lldp neighbors intent aggregate arguments + when: run_lldp_tests + register: result vyos.vyos.vyos_interface: aggregate: + - name: eth0 neighbors: + - port: eth0 - when: run_lldp_tests - register: result - assert: that: - - "result.failed == false" + - result.failed == false when: run_lldp_tests - name: Check lldp neighbors intent aggregate arguments (failed) + ignore_errors: true + when: run_lldp_tests + register: result vyos.vyos.vyos_interface: aggregate: + - name: eth0 neighbors: + - port: eth0 + - port: dummy_port host: dummy_host - ignore_errors: true - when: run_lldp_tests - register: result - assert: that: - - "result.failed == true" + - result.failed == true - "'host dummy_host' in result.failed_conditions" - "'port dummy_port' in result.failed_conditions" when: run_lldp_tests diff --git a/tests/integration/targets/vyos_interface/tests/cli/net_interface.yaml b/tests/integration/targets/vyos_interface/tests/cli/net_interface.yaml index 4bdb6ec..045daa2 100644 --- a/tests/integration/targets/vyos_interface/tests/cli/net_interface.yaml +++ b/tests/integration/targets/vyos_interface/tests/cli/net_interface.yaml @@ -1,56 +1,55 @@ --- -- 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. +- debug: msg="START vyos cli/net_interface.yaml on connection={{ ansible_connection + }}" - name: Run vyos lsmod command + register: lsmod_out vyos.vyos.vyos_command: commands: - lsmod - register: lsmod_out - name: Set up - delete interface - net_interface: + ansible.netcommon.net_interface: name: eth1 state: absent - name: Create interface using platform agnostic module - net_interface: + register: result + ansible.netcommon.net_interface: name: eth1 state: present description: test-interface - register: result - assert: that: - - 'result.changed == true' + - result.changed == true - '"set interfaces ethernet eth1" in result.commands' - - '"set interfaces ethernet eth1 description ''test-interface''" in result.commands' + - "\"set interfaces ethernet eth1 description 'test-interface'\" in result.commands" - name: Configure interface params using platform agnostic module - net_interface: + when: "'virtio_net' not in lsmod_out.stdout[0]" + register: result + ansible.netcommon.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' + - 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: + ansible.netcommon.net_interface: name: eth1 state: absent -- debug: msg="END vyos cli/net_interface.yaml on connection={{ ansible_connection }}" +- debug: msg="END vyos cli/net_interface.yaml on connection={{ ansible_connection + }}" |