summaryrefslogtreecommitdiff
path: root/tests/integration
diff options
context:
space:
mode:
Diffstat (limited to 'tests/integration')
-rw-r--r--tests/integration/targets/vyos_firewall_rules/vars/v1_4.yaml1
-rw-r--r--tests/integration/targets/vyos_interfaces/tests/cli/_get_version.yaml28
-rw-r--r--tests/integration/targets/vyos_interfaces/tests/cli/_populate.yaml16
-rw-r--r--tests/integration/targets/vyos_interfaces/tests/cli/_remove_config.yaml13
-rw-r--r--tests/integration/targets/vyos_interfaces/tests/cli/replaced.yaml16
-rw-r--r--tests/integration/targets/vyos_interfaces/vars/main.yaml43
-rw-r--r--tests/integration/targets/vyos_interfaces/vars/pre-v1_5.yaml2
-rw-r--r--tests/integration/targets/vyos_interfaces/vars/v1_5.yaml1
-rw-r--r--tests/integration/targets/vyos_l3_interfaces/vars/main.yaml6
9 files changed, 60 insertions, 66 deletions
diff --git a/tests/integration/targets/vyos_firewall_rules/vars/v1_4.yaml b/tests/integration/targets/vyos_firewall_rules/vars/v1_4.yaml
index 267803f6..08675983 100644
--- a/tests/integration/targets/vyos_firewall_rules/vars/v1_4.yaml
+++ b/tests/integration/targets/vyos_firewall_rules/vars/v1_4.yaml
@@ -85,7 +85,6 @@ overridden_commands:
- set firewall ipv4 name Downlink rule 502 description 'Rule 502 is configured by Ansible'
- set firewall ipv4 name Downlink rule 502 protocol 'tcp'
-
rendered:
commands:
- set firewall ipv6 name UPLINK default-action 'accept'
diff --git a/tests/integration/targets/vyos_interfaces/tests/cli/_get_version.yaml b/tests/integration/targets/vyos_interfaces/tests/cli/_get_version.yaml
new file mode 100644
index 00000000..46f4b821
--- /dev/null
+++ b/tests/integration/targets/vyos_interfaces/tests/cli/_get_version.yaml
@@ -0,0 +1,28 @@
+- name: make sure to get facts
+ vyos.vyos.vyos_facts:
+ vars:
+ ansible_connection: ansible.netcommon.network_cli
+ register: vyos_facts
+ when: vyos_version is not defined
+
+- name: debug vyos_facts
+ debug:
+ var: vyos_facts
+
+- name: pull version from facts
+ set_fact:
+ vyos_version: "{{ vyos_facts.ansible_facts.ansible_net_version.split('-')[0].split(' ')[-1] }}"
+ when: vyos_version is not defined
+
+- name: fix '.0' versions
+ set_fact:
+ vyos_version: "{{ vyos_version }}.0"
+ when: vyos_version.count('.') == 1
+
+- name: include correct vars
+ include_vars: pre-v1_5.yaml
+ when: vyos_version is version('1.5.0', '<', version_type='semver')
+
+- name: include correct vars
+ include_vars: v1_5.yaml
+ when: vyos_version is version('1.5.0', '>=', version_type='semver')
diff --git a/tests/integration/targets/vyos_interfaces/tests/cli/_populate.yaml b/tests/integration/targets/vyos_interfaces/tests/cli/_populate.yaml
index c6cc1a8d..45bd9b6a 100644
--- a/tests/integration/targets/vyos_interfaces/tests/cli/_populate.yaml
+++ b/tests/integration/targets/vyos_interfaces/tests/cli/_populate.yaml
@@ -1,17 +1,15 @@
---
+- name: ensure facts
+ include_tasks: _get_version.yaml
+
- ansible.builtin.include_tasks: _remove_config.yaml
- name: Setup
- vars:
- lines: |-
+ ansible.netcommon.cli_config:
+ config: |-
+ {% for intf in ('eth1','eth2') %}
set interfaces ethernet "{{ intf }}" description 'Configured by Ansible'
set interfaces ethernet "{{ intf }}" mtu '1500'
set interfaces ethernet "{{ intf }}" vif 200
set interfaces ethernet "{{ intf }}" vif 200 description 'VIF - 200'
- loop:
- - eth1
- - eth2
- loop_control:
- loop_var: intf
- ansible.netcommon.cli_config:
- config: "{{ lines }}"
+ {% endfor %}
diff --git a/tests/integration/targets/vyos_interfaces/tests/cli/_remove_config.yaml b/tests/integration/targets/vyos_interfaces/tests/cli/_remove_config.yaml
index ed2b424b..73f481bf 100644
--- a/tests/integration/targets/vyos_interfaces/tests/cli/_remove_config.yaml
+++ b/tests/integration/targets/vyos_interfaces/tests/cli/_remove_config.yaml
@@ -1,17 +1,12 @@
---
- name: Remove Config
- vars:
- lines: |-
+ ansible.netcommon.cli_config:
+ config: |-
+ {% for intf in ('eth1','eth2') %}
delete interfaces ethernet "{{ intf }}" description
delete interfaces ethernet "{{ intf }}" speed
delete interfaces ethernet "{{ intf }}" duplex
delete interfaces ethernet "{{ intf }}" mtu
delete interfaces ethernet "{{ intf }}" disable
delete interfaces ethernet "{{ intf }}" vif
- loop:
- - eth1
- - eth2
- loop_control:
- loop_var: intf
- ansible.netcommon.cli_config:
- config: "{{ lines }}"
+ {% endfor %}
diff --git a/tests/integration/targets/vyos_interfaces/tests/cli/replaced.yaml b/tests/integration/targets/vyos_interfaces/tests/cli/replaced.yaml
index 6309c590..9d0a3a8b 100644
--- a/tests/integration/targets/vyos_interfaces/tests/cli/replaced.yaml
+++ b/tests/integration/targets/vyos_interfaces/tests/cli/replaced.yaml
@@ -23,7 +23,7 @@
- name: Assert that correct set of commands were generated
assert:
that:
- - "{{ replaced['commands'] | symmetric_difference(result['commands']) |length == 0 }}"
+ - replaced['commands'] | symmetric_difference(result['commands']) |length == 0
- debug:
var: populate | symmetric_difference(result['before'])
@@ -31,7 +31,7 @@
- name: Assert that before dicts are correctly generated
assert:
that:
- - "{{ populate | symmetric_difference(result['before']) |length == 0 }}"
+ - populate | symmetric_difference(result['before']) |length == 0
- debug:
var: replaced['after'] | symmetric_difference(result['after'])
@@ -39,7 +39,15 @@
- name: Assert that after dict is correctly generated
assert:
that:
- - "{{ replaced['after'] | symmetric_difference(result['after']) |length == 0 }}"
+ - replaced['after'] | symmetric_difference(result['after']) |length == 0
+
+ - vyos.vyos.vyos_facts:
+ gather_network_resources: interfaces
+
+ - name: Assert that the facts and the after dict are the same
+ assert:
+ that:
+ - result.after == ansible_facts['network_resources']['interfaces']
- name: Replace device configurations of listed interfaces with provided configurarions (IDEMPOTENT)
register: result
@@ -53,6 +61,6 @@
- name: Assert that before dict is correctly generated
assert:
that:
- - "{{ replaced['after'] | symmetric_difference(result['before']) |length == 0 }}"
+ - replaced['after'] | symmetric_difference(result['before']) |length == 0
always:
- include_tasks: _remove_config.yaml
diff --git a/tests/integration/targets/vyos_interfaces/vars/main.yaml b/tests/integration/targets/vyos_interfaces/vars/main.yaml
index 9d931707..be87cf8c 100644
--- a/tests/integration/targets/vyos_interfaces/vars/main.yaml
+++ b/tests/integration/targets/vyos_interfaces/vars/main.yaml
@@ -9,8 +9,6 @@ merged:
enabled: true
- name: eth2
enabled: true
- - name: lo
- enabled: true
commands:
- set interfaces ethernet eth1 description 'Configured by Ansible - Interface 1'
- set interfaces ethernet eth1 mtu '1500'
@@ -21,8 +19,6 @@ merged:
- set interfaces ethernet eth2 mtu '1406'
- set interfaces ethernet eth2 disable
after:
- - name: lo
- enabled: true
- name: eth0
enabled: true
duplex: auto
@@ -44,8 +40,6 @@ merged:
mtu: 1406
enabled: false
populate:
- - name: lo
- enabled: true
- name: eth1
enabled: true
description: Configured by Ansible
@@ -69,15 +63,13 @@ populate:
replaced:
commands:
- delete interfaces ethernet eth1 mtu
- - delete interfaces ethernet eth1 vif 200 description
+ - delete interfaces ethernet eth1 vif 200
- set interfaces ethernet eth1 description 'Replaced by Ansible'
- set interfaces ethernet eth1 vif 100 description 'VIF 100 - Replaced by Ansible'
- - delete interfaces ethernet eth2 vif 200 description
+ - delete interfaces ethernet eth2 vif 200
- set interfaces ethernet eth2 description 'Replaced by Ansible'
- set interfaces ethernet eth2 mtu '1400'
after:
- - name: lo
- enabled: true
- name: eth1
description: Replaced by Ansible
enabled: true
@@ -85,15 +77,10 @@ replaced:
- vlan_id: 100
enabled: true
description: VIF 100 - Replaced by Ansible
- - vlan_id: 200
- enabled: true
- name: eth2
mtu: 1400
description: Replaced by Ansible
enabled: true
- vifs:
- - vlan_id: 200
- enabled: true
- name: eth0
enabled: true
duplex: auto
@@ -120,29 +107,21 @@ overridden:
commands:
- delete interfaces ethernet eth1 description
- delete interfaces ethernet eth1 mtu
- - delete interfaces ethernet eth1 vif 200 description
- - delete interfaces ethernet eth2 vif 200 description
+ - delete interfaces ethernet eth1 vif 200
+ - delete interfaces ethernet eth2 vif 200
- set interfaces ethernet eth2 description 'Overridden by Ansible'
- set interfaces ethernet eth2 mtu '1402'
after:
- - name: lo
- enabled: true
- name: eth0
enabled: true
speed: auto
duplex: auto
- name: eth1
enabled: true
- vifs:
- - vlan_id: 200
- enabled: true
- name: eth2
enabled: true
description: Overridden by Ansible
mtu: 1402
- vifs:
- - vlan_id: 200
- enabled: true
rendered:
commands:
- set interfaces ethernet eth1 description 'Configured by Ansible - Interface 1'
@@ -157,31 +136,21 @@ deleted:
commands:
- delete interfaces ethernet eth1 description
- delete interfaces ethernet eth1 mtu
- - delete interfaces ethernet eth1 vif 200 description
+ - delete interfaces ethernet eth1 vif 200
- delete interfaces ethernet eth2 description
- delete interfaces ethernet eth2 mtu
- - delete interfaces ethernet eth2 vif 200 description
+ - delete interfaces ethernet eth2 vif 200
after:
- - name: lo
- enabled: true
- name: eth0
enabled: true
speed: auto
duplex: auto
- name: eth1
enabled: true
- vifs:
- - vlan_id: 200
- enabled: true
- name: eth2
enabled: true
- vifs:
- - vlan_id: 200
- enabled: true
round_trip:
after:
- - name: lo
- enabled: true
- name: eth0
enabled: true
speed: auto
diff --git a/tests/integration/targets/vyos_interfaces/vars/pre-v1_5.yaml b/tests/integration/targets/vyos_interfaces/vars/pre-v1_5.yaml
new file mode 100644
index 00000000..1026b30e
--- /dev/null
+++ b/tests/integration/targets/vyos_interfaces/vars/pre-v1_5.yaml
@@ -0,0 +1,2 @@
+---
+# Remove the lo0 interface for older versions of VyOS (pre-v1.4)
diff --git a/tests/integration/targets/vyos_interfaces/vars/v1_5.yaml b/tests/integration/targets/vyos_interfaces/vars/v1_5.yaml
new file mode 100644
index 00000000..ed97d539
--- /dev/null
+++ b/tests/integration/targets/vyos_interfaces/vars/v1_5.yaml
@@ -0,0 +1 @@
+---
diff --git a/tests/integration/targets/vyos_l3_interfaces/vars/main.yaml b/tests/integration/targets/vyos_l3_interfaces/vars/main.yaml
index deec3faa..e9781e6a 100644
--- a/tests/integration/targets/vyos_l3_interfaces/vars/main.yaml
+++ b/tests/integration/targets/vyos_l3_interfaces/vars/main.yaml
@@ -1,7 +1,6 @@
---
merged:
before:
- - name: lo
- name: eth0
ipv4:
- address: dhcp
@@ -14,7 +13,6 @@ merged:
- set interfaces ethernet eth2 vif 101 address '198.51.100.130/25'
- set interfaces ethernet eth2 vif 101 address '2001:db8::20/32'
after:
- - name: lo
- name: eth0
ipv4:
- address: dhcp
@@ -33,7 +31,6 @@ merged:
ipv6:
- address: 2001:db8::20/32
populate:
- - name: lo
- name: eth1
ipv4:
- address: 192.0.2.14/24
@@ -57,7 +54,6 @@ replaced:
- delete interfaces ethernet eth1 address '192.0.2.14/24'
- set interfaces ethernet eth1 address '192.0.2.19/24'
after:
- - name: lo
- name: eth2
ipv6:
- address: 2001:db8::11/32
@@ -76,7 +72,6 @@ overridden:
- delete interfaces ethernet eth2 address '2001:db8::10/32'
- delete interfaces ethernet eth2 address '2001:db8::12/32'
after:
- - name: lo
- name: eth0
ipv4:
- address: dhcp
@@ -116,7 +111,6 @@ deleted:
- delete interfaces ethernet eth2 address '2001:db8::10/32'
- delete interfaces ethernet eth2 address '2001:db8::12/32'
after:
- - name: lo
- name: eth0
ipv4:
- address: dhcp