--- - debug: msg="START eos_interface eapi/intent.yaml on connection={{ ansible_connection }}" - name: Set test interface set_fact: test_interface_1: ethernet1 test_interface_2: ethernet2 - name: Make sure LLDP is running eos_config: lines: lldp run become: yes - name: Check intent arguments eos_interface: name: "{{ test_interface_1 }}" state: up tx_rate: ge(0) rx_rate: ge(0) authorize: yes become: yes register: result - assert: that: - "result.failed == false" - name: Check intent arguments (failed condition) eos_interface: name: "{{ test_interface_1 }}" state: down tx_rate: gt(0) rx_rate: lt(0) ignore_errors: yes become: yes register: result - assert: that: - "result.failed == true" - "'state eq(down)' in result.failed_conditions" - "'tx_rate gt(0)' in result.failed_conditions" - "'rx_rate lt(0)' in result.failed_conditions" - name: Config + intent eos_interface: name: "{{ test_interface_1 }}" enabled: False state: down become: yes register: result - assert: that: - "result.failed == false" - name: Config + intent (fail) eos_interface: name: "{{ test_interface_1 }}" enabled: False state: up ignore_errors: yes become: yes register: result - assert: that: - "result.failed == true" - "'state eq(up)' in result.failed_conditions" - name: Register show neighbors detail eos_command: commands: - show lldp neighbors management1 become: yes register: show_lldp_neighbors_result - block: - name: Check neighbors intent arguments eos_interface: name: management1 neighbors: - port: eth0 host: an-vyos-02 become: yes register: result - assert: that: - "result.failed == false" - name: Check neighbors intent arguments (failed condition) eos_interface: name: management1 neighbors: - port: dummy_port host: dummy_host ignore_errors: yes become: yes register: result - assert: that: - "result.failed == true" - "'host dummy_host' in result.failed_conditions" - "'port dummy_port' in result.failed_conditions" when: '"an-vyos-02" in show_lldp_neighbors_result.stdout[0]' - name: Aggregate config + intent (pass) eos_interface: aggregate: - name: "{{ test_interface_1 }}" enabled: True state: up ignore_errors: yes become: yes register: result - assert: that: - "result.failed == false" - block: - name: Aggregate neighbors intent (pass) eos_interface: aggregate: - name: management1 neighbors: - port: eth0 host: an-vyos-02 ignore_errors: yes become: yes register: result - assert: that: - "result.failed == false" - name: Aggregate neighbors intent (fail) eos_interface: aggregate: - name: management1 neighbors: - port: eth0 host: an-vyos-02 - port: dummy_port host: dummy_host ignore_errors: yes become: yes register: result - assert: that: - "result.failed == true" - "'host dummy_host' in result.failed_conditions" - "'port dummy_port' in result.failed_conditions" when: "'an-vyos-02' in show_lldp_neighbors_result.stdout[0]"