summaryrefslogtreecommitdiff
path: root/tests/integration/targets/vyos_interface
diff options
context:
space:
mode:
Diffstat (limited to 'tests/integration/targets/vyos_interface')
-rw-r--r--tests/integration/targets/vyos_interface/defaults/main.yaml2
-rw-r--r--tests/integration/targets/vyos_interface/tasks/cli.yaml14
-rw-r--r--tests/integration/targets/vyos_interface/tasks/main.yaml4
-rw-r--r--tests/integration/targets/vyos_interface/tests/cli/basic.yaml116
-rw-r--r--tests/integration/targets/vyos_interface/tests/cli/intent.yaml75
-rw-r--r--tests/integration/targets/vyos_interface/tests/cli/net_interface.yaml33
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
+ }}"