ansible/test/integration/targets/vyos_interface/tests/cli/intent.yaml
John R Barker de8213e230
vyos_interface require multiple network nodes to run (#39670) (#39691)
* vyos_interface require multiple network nodes to run

We don't have the ability to run these currently, so disable them.
The original logic was also incorrect, the tests don't pass on lab, DCI
nor single instance nodepool, so disable

https://github.com/ansible/ansible/issues/39667 tracks getting these
enabled again

* eth0 -> Gi0/0

* Correctly detect if we should run lldp

* Correctly detect if we should run lldp

(cherry picked from commit 923a81e9e5)
2018-05-03 18:52:42 +01:00

157 lines
3.3 KiB
YAML

---
- 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_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_lldp:
state: present
when: run_lldp_tests
- name: Create LLDP configuration
vyos_lldp_interface:
name: eth1
state: present
when: run_lldp_tests
- name: Setup (interface is up)
vyos_interface:
name: eth1
enabled: True
state: present
register: result
- name: Check intent arguments
vyos_interface:
name: eth1
state: up
register: result
- assert:
that:
- "result.failed == false"
- name: Check lldp neighbors intent arguments
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_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_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_interface:
name: eth1
enabled: False
state: down
register: result
- assert:
that:
- "result.failed == false"
- name: Config + intent (fail)
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_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_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_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