Fix junos integration zuul CI failures (#57309)
This commit is contained in:
parent
51229eb99c
commit
a867ced4de
9 changed files with 318 additions and 234 deletions
|
@ -223,9 +223,9 @@ class NetconfBase(AnsiblePlugin):
|
||||||
"""
|
"""
|
||||||
if rpc_command is None:
|
if rpc_command is None:
|
||||||
raise ValueError('rpc_command value must be provided')
|
raise ValueError('rpc_command value must be provided')
|
||||||
req = fromstring(rpc_command)
|
|
||||||
resp = self.m.dispatch(req, source=source, filter=filter)
|
resp = self.m.dispatch(fromstring(rpc_command), source=source, filter=filter)
|
||||||
return resp.data_xml if resp.data_ele else resp.xml
|
return resp.data_xml if hasattr(resp, 'data_xml') else resp.xml
|
||||||
|
|
||||||
@ensure_connected
|
@ensure_connected
|
||||||
def lock(self, target="candidate"):
|
def lock(self, target="candidate"):
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
- assert:
|
- assert:
|
||||||
that:
|
that:
|
||||||
- "result.failed == true"
|
- "result.failed == true"
|
||||||
- "result.msg == 'Subset must be one of [config, default, hardware, interfaces, ofacts], got test'"
|
- "'Subset must be one of' in result.msg"
|
||||||
|
|
||||||
- name: Collect config facts from device in set format
|
- name: Collect config facts from device in set format
|
||||||
junos_facts:
|
junos_facts:
|
||||||
|
|
|
@ -1,119 +1,138 @@
|
||||||
---
|
---
|
||||||
- debug: msg="START junos_lldp netconf/basic.yaml on connection={{ ansible_connection }}"
|
- debug: msg="START junos_lldp netconf/basic.yaml on connection={{ ansible_connection }}"
|
||||||
|
|
||||||
- name: setup - Disable lldp and remove it's configuration
|
- name: get supported protocols
|
||||||
junos_lldp:
|
junos_command:
|
||||||
state: absent
|
commands: show lldp
|
||||||
provider: "{{ netconf }}"
|
|
||||||
|
|
||||||
- name: Enable lldp
|
|
||||||
junos_lldp:
|
|
||||||
state: present
|
|
||||||
provider: "{{ netconf }}"
|
|
||||||
register: result
|
register: result
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
- assert:
|
- name: lldp supported
|
||||||
that:
|
set_fact:
|
||||||
- "result.changed == true"
|
lldp_supported: True
|
||||||
|
when: not result.failed
|
||||||
|
|
||||||
- name: Enable lldp (idempotent)
|
- name: lldp not supported
|
||||||
junos_lldp:
|
set_fact:
|
||||||
state: present
|
lldp_supported: False
|
||||||
provider: "{{ netconf }}"
|
when: result.failed
|
||||||
register: result
|
|
||||||
|
|
||||||
- assert:
|
- block:
|
||||||
that:
|
- name: setup - Disable lldp and remove it's configuration
|
||||||
- "result.changed == false"
|
junos_lldp:
|
||||||
|
state: absent
|
||||||
|
provider: "{{ netconf }}"
|
||||||
|
|
||||||
- name: configure lldp parameters and enable lldp
|
- name: Enable lldp
|
||||||
junos_lldp:
|
junos_lldp:
|
||||||
interval: 10
|
state: present
|
||||||
hold_multiplier: 5
|
provider: "{{ netconf }}"
|
||||||
transmit_delay: 2
|
register: result
|
||||||
state: present
|
|
||||||
provider: "{{ netconf }}"
|
|
||||||
register: result
|
|
||||||
|
|
||||||
- assert:
|
- assert:
|
||||||
that:
|
that:
|
||||||
- "result.changed == true"
|
- "result.changed == true"
|
||||||
- result.diff.prepared is search("\+ *advertisement-interval 10")
|
|
||||||
- result.diff.prepared is search("\+ *transmit-delay 2")
|
|
||||||
- result.diff.prepared is search("\+ *hold-multiplier 5")
|
|
||||||
|
|
||||||
- name: configure lldp parameters and enable lldp(idempotent)
|
- name: Enable lldp (idempotent)
|
||||||
junos_lldp:
|
junos_lldp:
|
||||||
interval: 10
|
state: present
|
||||||
hold_multiplier: 5
|
provider: "{{ netconf }}"
|
||||||
transmit_delay: 2
|
register: result
|
||||||
state: present
|
|
||||||
provider: "{{ netconf }}"
|
|
||||||
register: result
|
|
||||||
|
|
||||||
- assert:
|
- assert:
|
||||||
that:
|
that:
|
||||||
- "result.changed == false"
|
- "result.changed == false"
|
||||||
|
|
||||||
- name: configure lldp parameters and disable lldp
|
- name: configure lldp parameters and enable lldp
|
||||||
junos_lldp:
|
junos_lldp:
|
||||||
interval: 10
|
interval: 10
|
||||||
hold_multiplier: 5
|
hold_multiplier: 5
|
||||||
transmit_delay: 2
|
transmit_delay: 2
|
||||||
state: disabled
|
state: present
|
||||||
provider: "{{ netconf }}"
|
provider: "{{ netconf }}"
|
||||||
register: result
|
register: result
|
||||||
|
|
||||||
- assert:
|
- assert:
|
||||||
that:
|
that:
|
||||||
- "result.changed == true"
|
- "result.changed == true"
|
||||||
- result.diff.prepared is search("\+ *disable")
|
- result.diff.prepared is search("\+ *advertisement-interval 10")
|
||||||
- "'advertisement-interval 10;' not in result.diff.prepared"
|
- result.diff.prepared is search("\+ *transmit-delay 2")
|
||||||
- "'transmit-delay 2;' not in result.diff.prepared"
|
- result.diff.prepared is search("\+ *hold-multiplier 5")
|
||||||
- "'hold-multiplier 5;' not in result.diff.prepared"
|
|
||||||
|
|
||||||
- name: configure lldp parameters and enable lldp
|
- name: configure lldp parameters and enable lldp(idempotent)
|
||||||
junos_lldp:
|
junos_lldp:
|
||||||
interval: 10
|
interval: 10
|
||||||
hold_multiplier: 5
|
hold_multiplier: 5
|
||||||
transmit_delay: 2
|
transmit_delay: 2
|
||||||
state: enabled
|
state: present
|
||||||
provider: "{{ netconf }}"
|
provider: "{{ netconf }}"
|
||||||
register: result
|
register: result
|
||||||
|
|
||||||
- assert:
|
- assert:
|
||||||
that:
|
that:
|
||||||
- "result.changed == true"
|
- "result.changed == false"
|
||||||
- result.diff.prepared is search("\- *disable")
|
|
||||||
- "'advertisement-interval 10;' not in result.diff.prepared"
|
|
||||||
- "'transmit-delay 2;' not in result.diff.prepared"
|
|
||||||
- "'hold-multiplier 5;' not in result.diff.prepared"
|
|
||||||
|
|
||||||
- name: Remove lldp configuration and diable lldp
|
- name: configure lldp parameters and disable lldp
|
||||||
junos_lldp:
|
junos_lldp:
|
||||||
interval: 10
|
interval: 10
|
||||||
hold_multiplier: 5
|
hold_multiplier: 5
|
||||||
transmit_delay: 2
|
transmit_delay: 2
|
||||||
state: absent
|
state: disabled
|
||||||
provider: "{{ netconf }}"
|
provider: "{{ netconf }}"
|
||||||
register: result
|
register: result
|
||||||
|
|
||||||
- assert:
|
- assert:
|
||||||
that:
|
that:
|
||||||
- "result.changed == true"
|
- "result.changed == true"
|
||||||
- result.diff.prepared is search("\+ *disable")
|
- result.diff.prepared is search("\+ *disable")
|
||||||
- result.diff.prepared is search("\- *advertisement-interval 10")
|
- "'advertisement-interval 10;' not in result.diff.prepared"
|
||||||
- result.diff.prepared is search("\- *transmit-delay 2")
|
- "'transmit-delay 2;' not in result.diff.prepared"
|
||||||
- result.diff.prepared is search("\- *hold-multiplier 5")
|
- "'hold-multiplier 5;' not in result.diff.prepared"
|
||||||
|
|
||||||
- name: Remove lldp (idempotent)
|
- name: configure lldp parameters and enable lldp
|
||||||
junos_lldp:
|
junos_lldp:
|
||||||
state: absent
|
interval: 10
|
||||||
provider: "{{ netconf }}"
|
hold_multiplier: 5
|
||||||
register: result
|
transmit_delay: 2
|
||||||
|
state: enabled
|
||||||
|
provider: "{{ netconf }}"
|
||||||
|
register: result
|
||||||
|
|
||||||
- assert:
|
- assert:
|
||||||
that:
|
that:
|
||||||
- "result.changed == false"
|
- "result.changed == true"
|
||||||
|
- result.diff.prepared is search("\- *disable")
|
||||||
|
- "'advertisement-interval 10;' not in result.diff.prepared"
|
||||||
|
- "'transmit-delay 2;' 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: 2
|
||||||
|
state: absent
|
||||||
|
provider: "{{ netconf }}"
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- "result.changed == true"
|
||||||
|
- result.diff.prepared is search("\+ *disable")
|
||||||
|
- result.diff.prepared is search("\- *advertisement-interval 10")
|
||||||
|
- result.diff.prepared is search("\- *transmit-delay 2")
|
||||||
|
- result.diff.prepared is search("\- *hold-multiplier 5")
|
||||||
|
|
||||||
|
- name: Remove lldp (idempotent)
|
||||||
|
junos_lldp:
|
||||||
|
state: absent
|
||||||
|
provider: "{{ netconf }}"
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- "result.changed == false"
|
||||||
|
|
||||||
|
when: lldp_supported
|
||||||
|
|
||||||
- debug: msg="END junos_lldp netconf/basic.yaml on connection={{ ansible_connection }}"
|
- debug: msg="END junos_lldp netconf/basic.yaml on connection={{ ansible_connection }}"
|
||||||
|
|
|
@ -3,25 +3,42 @@
|
||||||
|
|
||||||
# Add minimal testcase to check args are passed correctly to
|
# Add minimal testcase to check args are passed correctly to
|
||||||
# implementation module and module run is successful.
|
# implementation module and module run is successful.
|
||||||
|
- name: get supported protocols
|
||||||
- name: setup - Disable lldp - setup
|
junos_command:
|
||||||
net_lldp:
|
commands: show lldp
|
||||||
state: absent
|
|
||||||
provider: "{{ netconf }}"
|
|
||||||
|
|
||||||
- name: Enable lldp using platform agnostic module
|
|
||||||
net_lldp:
|
|
||||||
state: present
|
|
||||||
provider: "{{ netconf }}"
|
|
||||||
register: result
|
register: result
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
- assert:
|
- name: lldp supported
|
||||||
that:
|
set_fact:
|
||||||
- "result.changed == true"
|
lldp_supported: True
|
||||||
|
when: not result.failed
|
||||||
|
|
||||||
- name: setup - Disable lldp - teardown
|
- name: lldp not supported
|
||||||
net_lldp:
|
set_fact:
|
||||||
state: absent
|
lldp_supported: False
|
||||||
provider: "{{ netconf }}"
|
when: result.failed
|
||||||
|
|
||||||
|
- block:
|
||||||
|
- name: setup - Disable lldp - setup
|
||||||
|
net_lldp:
|
||||||
|
state: absent
|
||||||
|
provider: "{{ netconf }}"
|
||||||
|
|
||||||
|
- name: Enable lldp using platform agnostic module
|
||||||
|
net_lldp:
|
||||||
|
state: present
|
||||||
|
provider: "{{ netconf }}"
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- "result.changed == true"
|
||||||
|
|
||||||
|
- name: setup - Disable lldp - teardown
|
||||||
|
net_lldp:
|
||||||
|
state: absent
|
||||||
|
provider: "{{ netconf }}"
|
||||||
|
when: lldp_supported
|
||||||
|
|
||||||
- debug: msg="START junos netconf/net_lldp.yaml on connection={{ ansible_connection }}"
|
- debug: msg="START junos netconf/net_lldp.yaml on connection={{ ansible_connection }}"
|
||||||
|
|
|
@ -1,106 +1,124 @@
|
||||||
---
|
---
|
||||||
- debug: msg="START junos_lldp_interface netconf/basic.yaml on connection={{ ansible_connection }}"
|
- debug: msg="START junos_lldp_interface netconf/basic.yaml on connection={{ ansible_connection }}"
|
||||||
|
|
||||||
- name: setup - Remove lldp interface configuration
|
- name: get supported protocols
|
||||||
junos_lldp_interface:
|
junos_command:
|
||||||
name: ge-0/0/5
|
commands: show lldp
|
||||||
state: absent
|
|
||||||
provider: "{{ netconf }}"
|
|
||||||
|
|
||||||
- name: lldp interface configuration
|
|
||||||
junos_lldp_interface:
|
|
||||||
name: ge-0/0/5
|
|
||||||
state: present
|
|
||||||
provider: "{{ netconf }}"
|
|
||||||
register: result
|
register: result
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
- assert:
|
- name: lldp supported
|
||||||
that:
|
set_fact:
|
||||||
- "result.changed == true"
|
lldp_supported: True
|
||||||
- result.diff.prepared is search("\+ *interface ge-0/0/5")
|
when: not result.failed
|
||||||
|
|
||||||
- name: lldp interface configuration (idempotent)
|
- name: lldp not supported
|
||||||
junos_lldp_interface:
|
set_fact:
|
||||||
name: ge-0/0/5
|
lldp_supported: False
|
||||||
state: present
|
when: result.failed
|
||||||
provider: "{{ netconf }}"
|
|
||||||
register: result
|
|
||||||
|
|
||||||
- assert:
|
- block:
|
||||||
that:
|
- name: setup - Remove lldp interface configuration
|
||||||
- "result.changed == false"
|
junos_lldp_interface:
|
||||||
|
name: ge-0/0/5
|
||||||
|
state: absent
|
||||||
|
provider: "{{ netconf }}"
|
||||||
|
|
||||||
- name: Deactivate lldp interface configuration
|
- name: lldp interface configuration
|
||||||
junos_lldp_interface:
|
junos_lldp_interface:
|
||||||
name: ge-0/0/5
|
name: ge-0/0/5
|
||||||
state: present
|
state: present
|
||||||
active: False
|
provider: "{{ netconf }}"
|
||||||
provider: "{{ netconf }}"
|
register: result
|
||||||
register: result
|
|
||||||
|
|
||||||
- assert:
|
- assert:
|
||||||
that:
|
that:
|
||||||
- "result.changed == true"
|
- "result.changed == true"
|
||||||
- result.diff.prepared is search("! *inactive[:] interface ge-0/0/5")
|
- result.diff.prepared is search("\+ *interface ge-0/0/5")
|
||||||
|
|
||||||
- name: Activate lldp interface configuration
|
- name: lldp interface configuration (idempotent)
|
||||||
junos_lldp_interface:
|
junos_lldp_interface:
|
||||||
name: ge-0/0/5
|
name: ge-0/0/5
|
||||||
state: present
|
state: present
|
||||||
active: True
|
provider: "{{ netconf }}"
|
||||||
provider: "{{ netconf }}"
|
register: result
|
||||||
register: result
|
|
||||||
|
|
||||||
- assert:
|
- assert:
|
||||||
that:
|
that:
|
||||||
- "result.changed == true"
|
- "result.changed == false"
|
||||||
- result.diff.prepared is search("! *active[:] interface ge-0/0/5")
|
|
||||||
|
|
||||||
- name: Disable lldp on particular interface
|
- name: Deactivate lldp interface configuration
|
||||||
junos_lldp_interface:
|
junos_lldp_interface:
|
||||||
name: ge-0/0/5
|
name: ge-0/0/5
|
||||||
state: disabled
|
state: present
|
||||||
provider: "{{ netconf }}"
|
active: False
|
||||||
register: result
|
provider: "{{ netconf }}"
|
||||||
|
register: result
|
||||||
|
|
||||||
- assert:
|
- assert:
|
||||||
that:
|
that:
|
||||||
- "result.changed == true"
|
- "result.changed == true"
|
||||||
- result.diff.prepared is search("\+ *disable")
|
- result.diff.prepared is search("! *inactive[:] interface ge-0/0/5")
|
||||||
|
|
||||||
- name: Enable lldp on particular interface
|
- name: Activate lldp interface configuration
|
||||||
junos_lldp_interface:
|
junos_lldp_interface:
|
||||||
name: ge-0/0/5
|
name: ge-0/0/5
|
||||||
state: enabled
|
state: present
|
||||||
provider: "{{ netconf }}"
|
active: True
|
||||||
register: result
|
provider: "{{ netconf }}"
|
||||||
|
register: result
|
||||||
|
|
||||||
- assert:
|
- assert:
|
||||||
that:
|
that:
|
||||||
- "result.changed == true"
|
- "result.changed == true"
|
||||||
- result.diff.prepared is search("\- *disable")
|
- result.diff.prepared is search("! *active[:] interface ge-0/0/5")
|
||||||
|
|
||||||
- name: Delete lldp on particular interface
|
- name: Disable lldp on particular interface
|
||||||
junos_lldp_interface:
|
junos_lldp_interface:
|
||||||
name: ge-0/0/5
|
name: ge-0/0/5
|
||||||
state: absent
|
state: disabled
|
||||||
provider: "{{ netconf }}"
|
provider: "{{ netconf }}"
|
||||||
register: result
|
register: result
|
||||||
|
|
||||||
- assert:
|
- assert:
|
||||||
that:
|
that:
|
||||||
- "result.changed == true"
|
- "result.changed == true"
|
||||||
- result.diff.prepared is search("\- *interface ge-0/0/5")
|
- result.diff.prepared is search("\+ *disable")
|
||||||
|
|
||||||
- name: Delete lldp on particular interface (idempotent)
|
- name: Enable lldp on particular interface
|
||||||
junos_lldp_interface:
|
junos_lldp_interface:
|
||||||
name: ge-0/0/5
|
name: ge-0/0/5
|
||||||
state: absent
|
state: enabled
|
||||||
provider: "{{ netconf }}"
|
provider: "{{ netconf }}"
|
||||||
register: result
|
register: result
|
||||||
|
|
||||||
- assert:
|
- assert:
|
||||||
that:
|
that:
|
||||||
- "result.changed == false"
|
- "result.changed == true"
|
||||||
|
- result.diff.prepared is search("\- *disable")
|
||||||
|
|
||||||
|
- 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"
|
||||||
|
- result.diff.prepared is search("\- *interface ge-0/0/5")
|
||||||
|
|
||||||
|
- 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"
|
||||||
|
when: lldp_supported
|
||||||
|
|
||||||
- debug: msg="END junos_lldp_interface netconf/basic.yaml on connection={{ ansible_connection }}"
|
- debug: msg="END junos_lldp_interface netconf/basic.yaml on connection={{ ansible_connection }}"
|
||||||
|
|
|
@ -4,28 +4,46 @@
|
||||||
# Add minimal testcase to check args are passed correctly to
|
# Add minimal testcase to check args are passed correctly to
|
||||||
# implementation module and module run is successful.
|
# implementation module and module run is successful.
|
||||||
|
|
||||||
- name: setup - Remove lldp interface configuration
|
- name: get supported protocols
|
||||||
net_lldp_interface:
|
junos_command:
|
||||||
name: ge-0/0/5
|
commands: show lldp
|
||||||
state: absent
|
|
||||||
provider: "{{ netconf }}"
|
|
||||||
|
|
||||||
- name: lldp interface configuration using platform agnostic module
|
|
||||||
net_lldp_interface:
|
|
||||||
name: ge-0/0/5
|
|
||||||
state: present
|
|
||||||
provider: "{{ netconf }}"
|
|
||||||
register: result
|
register: result
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
- assert:
|
- name: lldp supported
|
||||||
that:
|
set_fact:
|
||||||
- "result.changed == true"
|
lldp_supported: True
|
||||||
- result.diff.prepared is search("\+ *interface ge-0/0/5")
|
when: not result.failed
|
||||||
|
|
||||||
- name: teardown - Remove lldp interface configuration
|
- name: lldp not supported
|
||||||
net_lldp_interface:
|
set_fact:
|
||||||
name: ge-0/0/5
|
lldp_supported: False
|
||||||
state: absent
|
when: result.failed
|
||||||
provider: "{{ netconf }}"
|
|
||||||
|
- block:
|
||||||
|
- name: setup - Remove lldp interface configuration
|
||||||
|
net_lldp_interface:
|
||||||
|
name: ge-0/0/5
|
||||||
|
state: absent
|
||||||
|
provider: "{{ netconf }}"
|
||||||
|
|
||||||
|
- name: lldp interface configuration using platform agnostic module
|
||||||
|
net_lldp_interface:
|
||||||
|
name: ge-0/0/5
|
||||||
|
state: present
|
||||||
|
provider: "{{ netconf }}"
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- "result.changed == true"
|
||||||
|
- result.diff.prepared is search("\+ *interface ge-0/0/5")
|
||||||
|
|
||||||
|
- name: teardown - Remove lldp interface configuration
|
||||||
|
net_lldp_interface:
|
||||||
|
name: ge-0/0/5
|
||||||
|
state: absent
|
||||||
|
provider: "{{ netconf }}"
|
||||||
|
when: lldp_supported
|
||||||
|
|
||||||
- debug: msg="END junos netconf/net_lldp_interface.yaml on connection={{ ansible_connection }}"
|
- debug: msg="END junos netconf/net_lldp_interface.yaml on connection={{ ansible_connection }}"
|
||||||
|
|
|
@ -10,14 +10,14 @@
|
||||||
- assert:
|
- assert:
|
||||||
that:
|
that:
|
||||||
- "result.changed == false"
|
- "result.changed == false"
|
||||||
- "'<name>\nem0\n</name>' in result['xml']"
|
- "'<interface-information' in result['xml']"
|
||||||
- "result.output is defined"
|
- "result.output is defined"
|
||||||
|
|
||||||
- name: Execute RPC with args on device
|
- name: Execute RPC with args on device
|
||||||
junos_rpc:
|
junos_rpc:
|
||||||
rpc: get-interface-information
|
rpc: get-interface-information
|
||||||
args:
|
args:
|
||||||
interface-name: em0
|
interface-name: lo0
|
||||||
media: True
|
media: True
|
||||||
provider: "{{ netconf }}"
|
provider: "{{ netconf }}"
|
||||||
register: result
|
register: result
|
||||||
|
@ -25,8 +25,9 @@
|
||||||
- assert:
|
- assert:
|
||||||
that:
|
that:
|
||||||
- "result.changed == false"
|
- "result.changed == false"
|
||||||
- "'<name>\nem0\n</name>' in result['xml']"
|
- "'<name>\nlo0\n</name>' in result['xml']"
|
||||||
- "'<name>\nlo0\n</name>' not in result['xml']"
|
- "'<name>\nem0\n</name>' not in result['xml']"
|
||||||
|
- "'<name>\fxp0\n</name>' not in result['xml']"
|
||||||
|
|
||||||
- name: Execute RPC on device and get output in text format
|
- name: Execute RPC on device and get output in text format
|
||||||
junos_rpc:
|
junos_rpc:
|
||||||
|
@ -40,14 +41,14 @@
|
||||||
- "result.changed == false"
|
- "result.changed == false"
|
||||||
- "result.output is defined"
|
- "result.output is defined"
|
||||||
- "result.output_lines is defined"
|
- "result.output_lines is defined"
|
||||||
- "'Physical interface: em0' in result['output']"
|
- "'Physical interface' in result['output']"
|
||||||
|
|
||||||
- name: Execute RPC on device and get output in json format
|
- name: Execute RPC on device and get output in json format
|
||||||
junos_rpc:
|
junos_rpc:
|
||||||
rpc: get-interface-information
|
rpc: get-interface-information
|
||||||
output: json
|
output: json
|
||||||
args:
|
args:
|
||||||
interface-name: em0
|
interface-name: lo0
|
||||||
media: True
|
media: True
|
||||||
provider: "{{ netconf }}"
|
provider: "{{ netconf }}"
|
||||||
register: result
|
register: result
|
||||||
|
@ -56,7 +57,7 @@
|
||||||
that:
|
that:
|
||||||
- "result.changed == false"
|
- "result.changed == false"
|
||||||
- "result.output is defined"
|
- "result.output is defined"
|
||||||
- "result['output']['interface-information'][0]['physical-interface'][0]['name'][0]['data'] == \"em0\""
|
- "result['output']['interface-information'][0]['physical-interface'][0]['name'][0]['data'] == \"lo0\""
|
||||||
|
|
||||||
- name: Execute invalid RPC
|
- name: Execute invalid RPC
|
||||||
junos_rpc:
|
junos_rpc:
|
||||||
|
|
|
@ -27,11 +27,22 @@
|
||||||
that:
|
that:
|
||||||
- "result.changed == false"
|
- "result.changed == false"
|
||||||
|
|
||||||
- name: configure syslog file replace
|
- name: replace default operation fail
|
||||||
netconf_config:
|
netconf_config:
|
||||||
content: "{{ syslog_config_replace }}"
|
content: "{{ syslog_config_replace }}"
|
||||||
default_operation: 'replace'
|
default_operation: 'replace'
|
||||||
register: result
|
register: result
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- "result.failed == true"
|
||||||
|
- "'Missing mandatory statement' in result.msg"
|
||||||
|
|
||||||
|
- name: replace syslog config with operation key in content
|
||||||
|
netconf_config:
|
||||||
|
content: "{{ syslog_config_replace }}"
|
||||||
|
register: result
|
||||||
|
|
||||||
- assert:
|
- assert:
|
||||||
that:
|
that:
|
||||||
|
@ -55,7 +66,7 @@
|
||||||
- name: save config
|
- name: save config
|
||||||
netconf_config:
|
netconf_config:
|
||||||
backup: yes
|
backup: yes
|
||||||
register: result
|
register: result
|
||||||
|
|
||||||
- assert:
|
- assert:
|
||||||
that:
|
that:
|
||||||
|
|
|
@ -24,7 +24,7 @@ syslog_config_replace: |
|
||||||
<config xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0">
|
<config xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0">
|
||||||
<configuration>
|
<configuration>
|
||||||
<system>
|
<system>
|
||||||
<syslog>
|
<syslog operation="replace">
|
||||||
<file>
|
<file>
|
||||||
<name>test_netconf_config</name>
|
<name>test_netconf_config</name>
|
||||||
<contents>
|
<contents>
|
||||||
|
|
Loading…
Reference in a new issue