Skip to content

Commit

Permalink
[lldp] call py.test to run lldp test; from now on any change/new test…
Browse files Browse the repository at this point in the history
… cases for lldp should be done in pytest

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
  • Loading branch information
Stepan Blyschak committed Aug 1, 2019
1 parent bedbbc9 commit 295ea96
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 85 deletions.
63 changes: 3 additions & 60 deletions ansible/roles/test/tasks/lldp.yml
Original file line number Diff line number Diff line change
@@ -1,61 +1,4 @@
# Gather minigraph facts
- name: Gathering minigraph facts about the device
minigraph_facts:
host: "{{ inventory_hostname }}"

- name: Print neighbors in minigraph
debug: msg="{{ minigraph_neighbors }}"

- name: find minigraph lldp neighbor
set_fact:
minigraph_lldp_nei: "{{ minigraph_lldp_nei|default({}) | combine({ item.key : item.value}) }}"
when: "'server' not in item.value['name'] | lower"
with_dict: minigraph_neighbors

- name: Gather information from LLDP
lldp:
- name: run test
include: roles/test/tasks/pytest_runner.yml
vars:
ansible_shell_type: docker
ansible_python_interpreter: docker exec -i lldp python

- name: Print LLDP information
debug: msg="{{ lldp }}"

- name: Verify LLDP information is available on most interfaces
assert: { that: "{{ lldp|length }} > {{ minigraph_lldp_nei|length * 0.8 }}"}

- name: Compare the LLDP neighbor name with minigraph neigbhor name (exclude the management port)
assert: { that: "'{{ lldp[item]['chassis']['name'] }}' == '{{ minigraph_lldp_nei[item]['name'] }}'" }
with_items: "{{ lldp.keys() }}"
when: item != "eth0"

- name: Compare the LLDP neighbor interface with minigraph neigbhor interface (exclude the management port)
assert: { that: "'{{ lldp[item]['port']['ifname'] }}' == '{{ minigraph_neighbors[item]['port'] }}'" }
with_items: "{{ lldp.keys() }}"
when: item != "eth0"

- block:
- name: Obtain the system description of the DUT chassis
shell: "docker exec -i lldp lldpcli show chassis | grep \"SysDescr:\" | sed -e 's/^\\s*SysDescr:\\s*//g'"
register: result

- name: Store system description of the DUT chassis as a fact
set_fact:
dut_system_description: "{{ result.stdout }}"

###TODO: fix this lldp_neighbor validation, this part is not running
- name: Iterate through each LLDP neighbor and verify the information received by neighbor is correct
add_host:
name: "{{ lldp[item]['chassis']['mgmt-ip'] }}"
groups: "lldp_neighbors,eos"
neighbor_interface: "{{ lldp[item]['port']['ifname'] }}"
dut_interface: "{{ item }}"
hname: "{{ lldp[item]['chassis']['mgmt-ip'] }}"
dut_chassis_id: "0x{{ ansible_eth0['macaddress'] | replace(':', '') }}"
dut_hostname: "{{ inventory_hostname }}"
dut_port_alias: "{{ minigraph_ports[item]['alias'] }}"
dut_port_description: "{{ minigraph_neighbors[item]['name'] }}:{{ minigraph_neighbors[item]['port'] }}"
dut_system_description: "{{ dut_system_description }}"
with_items: "{{ lldp.keys() }}"
when: item != "eth0"

test_node: test_lldp.py
25 changes: 0 additions & 25 deletions ansible/roles/test/tasks/lldp_neighbor.yml

This file was deleted.

0 comments on commit 295ea96

Please sign in to comment.