de8213e230
* 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
)
157 lines
3.3 KiB
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: 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
|