mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-06-04 07:19:10 -07:00
net_lldp_interface module implementation for junos (#26915)
* junos_lldp_interface module implementation * junos_lldp_interface integration test * net_lldp_interface module intgration test for junos * Add lldp configuration parameter in junos_lldp * Modify junos_lldp testcase as per above change * Add net_lldp_interface module documentation
This commit is contained in:
parent
3f67d167fe
commit
b8cd646afd
12 changed files with 628 additions and 15 deletions
|
@ -127,6 +127,13 @@
|
|||
rescue:
|
||||
- set_fact: test_failed=true
|
||||
|
||||
- block:
|
||||
- include_role:
|
||||
name: junos_lldp_interface
|
||||
when: "limit_to in ['*', 'junos_lldp_interface']"
|
||||
rescue:
|
||||
- set_fact: test_failed=true
|
||||
|
||||
###########
|
||||
- name: Has any previous test failed?
|
||||
fail:
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
---
|
||||
- debug: msg="START junos_lldp netconf/basic.yaml"
|
||||
|
||||
- name: setup - remove lldp
|
||||
- name: setup - Disable lldp and remove it's configuration
|
||||
junos_lldp:
|
||||
state: absent
|
||||
provider: "{{ netconf }}"
|
||||
|
||||
- name: configure lldp
|
||||
- name: Enable lldp
|
||||
junos_lldp:
|
||||
state: present
|
||||
provider: "{{ netconf }}"
|
||||
|
@ -15,9 +15,8 @@
|
|||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'[edit]\n- protocols {\n- lldp {\n- disable;\n- }\n- }' in result.diff.prepared"
|
||||
|
||||
- name: configure lldp (idempotent)
|
||||
- name: Enable lldp (idempotent)
|
||||
junos_lldp:
|
||||
state: present
|
||||
provider: "{{ netconf }}"
|
||||
|
@ -27,8 +26,74 @@
|
|||
that:
|
||||
- "result.changed == false"
|
||||
|
||||
- name: Disable lldp
|
||||
- name: configure lldp parameters and enable lldp
|
||||
junos_lldp:
|
||||
interval: 10
|
||||
hold_multiplier: 5
|
||||
transmit_delay: 30
|
||||
state: present
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'+ advertisement-interval 10;' in result.diff.prepared"
|
||||
- "'+ transmit-delay 30;' in result.diff.prepared"
|
||||
- "'+ hold-multiplier 5;' in result.diff.prepared"
|
||||
|
||||
- name: configure lldp parameters and enable lldp(idempotent)
|
||||
junos_lldp:
|
||||
interval: 10
|
||||
hold_multiplier: 5
|
||||
transmit_delay: 30
|
||||
state: present
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == false"
|
||||
|
||||
- name: configure lldp parameters and disable lldp
|
||||
junos_lldp:
|
||||
interval: 10
|
||||
hold_multiplier: 5
|
||||
transmit_delay: 30
|
||||
state: disabled
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'+ disable;' in result.diff.prepared"
|
||||
- "'advertisement-interval 10;' not in result.diff.prepared"
|
||||
- "'transmit-delay 30;' not in result.diff.prepared"
|
||||
- "'hold-multiplier 5;' not in result.diff.prepared"
|
||||
|
||||
- name: configure lldp parameters and enable lldp
|
||||
junos_lldp:
|
||||
interval: 10
|
||||
hold_multiplier: 5
|
||||
transmit_delay: 30
|
||||
state: enabled
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'- disable;' in result.diff.prepared"
|
||||
- "'advertisement-interval 10;' not in result.diff.prepared"
|
||||
- "'transmit-delay 30;' not in result.diff.prepared"
|
||||
- "'hold-multiplier 5;' not in result.diff.prepared"
|
||||
|
||||
- name: Remove lldp configuration and diable lldp
|
||||
junos_lldp:
|
||||
interval: 10
|
||||
hold_multiplier: 5
|
||||
transmit_delay: 30
|
||||
state: absent
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
@ -36,9 +101,12 @@
|
|||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'[edit]\n+ protocols {\n+ lldp {\n+ disable;\n+ }\n+ }' in result.diff.prepared"
|
||||
- "'+ disable;' in result.diff.prepared"
|
||||
- "'- advertisement-interval 10;' in result.diff.prepared"
|
||||
- "'- transmit-delay 30;' in result.diff.prepared"
|
||||
- "'- hold-multiplier 5;' in result.diff.prepared"
|
||||
|
||||
- name: Disable lldp (idempotent)
|
||||
- name: Remove lldp (idempotent)
|
||||
junos_lldp:
|
||||
state: absent
|
||||
provider: "{{ netconf }}"
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
---
|
||||
testcase: "*"
|
|
@ -0,0 +1,2 @@
|
|||
---
|
||||
- { include: netconf.yaml, tags: ['netconf'] }
|
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
- name: collect all netconf test cases
|
||||
find:
|
||||
paths: "{{ role_path }}/tests/netconf"
|
||||
patterns: "{{ testcase }}.yaml"
|
||||
register: test_cases
|
||||
delegate_to: localhost
|
||||
|
||||
- name: set test_items
|
||||
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
|
||||
|
||||
- name: run test case
|
||||
include: "{{ test_case_to_run }}"
|
||||
with_items: "{{ test_items }}"
|
||||
loop_control:
|
||||
loop_var: test_case_to_run
|
|
@ -0,0 +1,104 @@
|
|||
---
|
||||
- debug: msg="START junos_lldp_interface netconf/basic.yaml"
|
||||
|
||||
- name: setup - Remove lldp interface configuration
|
||||
junos_lldp_interface:
|
||||
name: ge-0/0/5
|
||||
state: absent
|
||||
provider: "{{ netconf }}"
|
||||
|
||||
- name: lldp interface configuration
|
||||
junos_lldp_interface:
|
||||
name: ge-0/0/5
|
||||
state: present
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'+ interface ge-0/0/5;' in result.diff.prepared"
|
||||
|
||||
- name: lldp interface configuration (idempotent)
|
||||
junos_lldp_interface:
|
||||
name: ge-0/0/5
|
||||
state: present
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == false"
|
||||
|
||||
- name: Deactivate lldp interface configuration
|
||||
junos_lldp_interface:
|
||||
name: ge-0/0/5
|
||||
state: present
|
||||
active: False
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'! inactive: interface ge-0/0/5' in result.diff.prepared"
|
||||
|
||||
- name: Activate lldp interface configuration
|
||||
junos_lldp_interface:
|
||||
name: ge-0/0/5
|
||||
state: present
|
||||
active: True
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'! active: interface ge-0/0/5' in result.diff.prepared"
|
||||
|
||||
- name: Disable lldp on particular interface
|
||||
junos_lldp_interface:
|
||||
name: ge-0/0/5
|
||||
state: disabled
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'[edit protocols lldp interface ge-0/0/5]\n+ disable;' in result.diff.prepared"
|
||||
|
||||
- name: Enable lldp on particular interface
|
||||
junos_lldp_interface:
|
||||
name: ge-0/0/5
|
||||
state: enabled
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'[edit protocols lldp interface ge-0/0/5]\n- disable;' in result.diff.prepared"
|
||||
|
||||
- name: Delete lldp on particular interface
|
||||
junos_lldp_interface:
|
||||
name: ge-0/0/5
|
||||
state: absent
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'[edit protocols lldp]\n- interface ge-0/0/5;' in result.diff.prepared"
|
||||
|
||||
- name: Delete lldp on particular interface (idempotent)
|
||||
junos_lldp_interface:
|
||||
name: ge-0/0/5
|
||||
state: absent
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == false"
|
|
@ -16,7 +16,7 @@
|
|||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'[edit]\n- protocols {\n- lldp {\n- disable;\n- }\n- }' in result.diff.prepared"
|
||||
- "'- disable;' in result.diff.prepared"
|
||||
|
||||
- name: configure lldp (idempotent)
|
||||
net_lldp:
|
||||
|
@ -37,7 +37,7 @@
|
|||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'[edit]\n+ protocols {\n+ lldp {\n+ disable;\n+ }\n+ }' in result.diff.prepared"
|
||||
- "'+ disable;' in result.diff.prepared"
|
||||
|
||||
- name: Disable lldp (idempotent)
|
||||
net_lldp:
|
||||
|
|
|
@ -0,0 +1,78 @@
|
|||
---
|
||||
- debug: msg="START net_lldp_interface junos/basic.yaml"
|
||||
|
||||
- name: setup - Remove lldp interface configuration
|
||||
net_lldp_interface:
|
||||
name: ge-0/0/5
|
||||
state: absent
|
||||
provider: "{{ netconf }}"
|
||||
|
||||
- name: lldp interface configuration
|
||||
net_lldp_interface:
|
||||
name: ge-0/0/5
|
||||
state: present
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'+ interface ge-0/0/5;' in result.diff.prepared"
|
||||
|
||||
- name: lldp interface configuration (idempotent)
|
||||
net_lldp_interface:
|
||||
name: ge-0/0/5
|
||||
state: present
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == false"
|
||||
|
||||
- name: Disable lldp on particular interface
|
||||
net_lldp_interface:
|
||||
name: ge-0/0/5
|
||||
state: disabled
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'[edit protocols lldp interface ge-0/0/5]\n+ disable;' in result.diff.prepared"
|
||||
|
||||
- name: Enable lldp on particular interface
|
||||
net_lldp_interface:
|
||||
name: ge-0/0/5
|
||||
state: enabled
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'[edit protocols lldp interface ge-0/0/5]\n- disable;' in result.diff.prepared"
|
||||
|
||||
- name: Delete lldp on particular interface
|
||||
net_lldp_interface:
|
||||
name: ge-0/0/5
|
||||
state: absent
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'[edit protocols lldp]\n- interface ge-0/0/5;' in result.diff.prepared"
|
||||
|
||||
- name: Delete lldp on particular interface (idempotent)
|
||||
net_lldp_interface:
|
||||
name: ge-0/0/5
|
||||
state: absent
|
||||
provider: "{{ netconf }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == false"
|
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
- include: "{{ role_path }}/tests/junos/basic.yaml"
|
||||
when: hostvars[inventory_hostname]['ansible_network_os'] == 'junos'
|
Loading…
Add table
Add a link
Reference in a new issue