You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/test/integration/targets/eos_interface/tests/eapi/intent.yaml

175 lines
3.9 KiB
YAML

---
- 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
authorize: yes
provider: "{{ eapi }}"
become: yes
- name: Check intent arguments
eos_interface:
name: "{{ test_interface_1 }}"
state: up
tx_rate: ge(0)
rx_rate: ge(0)
authorize: yes
provider: "{{ eapi }}"
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)
authorize: yes
provider: "{{ eapi }}"
ignore_errors: 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
authorize: yes
provider: "{{ eapi }}"
register: result
- assert:
that:
- "result.failed == false"
- name: Config + intent (fail)
eos_interface:
name: "{{ test_interface_1 }}"
enabled: False
authorize: yes
state: up
provider: "{{ eapi }}"
ignore_errors: 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
authorize: yes
provider: "{{ eapi }}"
register: show_lldp_neighbors_result
- block:
- name: Check neighbors intent arguments
eos_interface:
name: management1
neighbors:
- port: eth0
host: an-vyos-02
authorize: yes
provider: "{{ eapi }}"
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
authorize: yes
provider: "{{ eapi }}"
ignore_errors: 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
authorize: yes
provider: "{{ eapi }}"
ignore_errors: 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
authorize: yes
provider: "{{ eapi }}"
ignore_errors: 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
authorize: yes
provider: "{{ eapi }}"
ignore_errors: 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: Make sure LLDP is running (teardown)
eos_config:
lines: no lldp run
authorize: yes
provider: "{{ eapi }}"