diff options
Diffstat (limited to 'tests/integration')
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 |