ansible/test/integration/targets/vyos_interface/tests/cli/intent.yaml

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: true
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: true
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: true
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: true
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: true
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