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