Skip to content

Commit

Permalink
Fix junos integration zuul CI failures (#57309)
Browse files Browse the repository at this point in the history
  • Loading branch information
ganeshrn authored and danielmellado committed Jun 10, 2019
1 parent 51229eb commit a867ced
Show file tree
Hide file tree
Showing 9 changed files with 347 additions and 263 deletions.
6 changes: 3 additions & 3 deletions lib/ansible/plugins/netconf/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -223,9 +223,9 @@ def dispatch(self, rpc_command=None, source=None, filter=None):
"""
if rpc_command is None:
raise ValueError('rpc_command value must be provided')
req = fromstring(rpc_command)
resp = self.m.dispatch(req, source=source, filter=filter)
return resp.data_xml if resp.data_ele else resp.xml

resp = self.m.dispatch(fromstring(rpc_command), source=source, filter=filter)
return resp.data_xml if hasattr(resp, 'data_xml') else resp.xml

@ensure_connected
def lock(self, target="candidate"):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
- assert:
that:
- "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
junos_facts:
Expand Down
245 changes: 132 additions & 113 deletions test/integration/targets/junos_lldp/tests/netconf/basic.yaml
Original file line number Diff line number Diff line change
@@ -1,119 +1,138 @@
---
- debug: msg="START junos_lldp netconf/basic.yaml on connection={{ ansible_connection }}"

- name: setup - Disable lldp and remove it's configuration
junos_lldp:
state: absent
provider: "{{ netconf }}"

- name: Enable lldp
junos_lldp:
state: present
provider: "{{ netconf }}"
- name: get supported protocols
junos_command:
commands: show lldp
register: result

- assert:
that:
- "result.changed == true"

- name: Enable lldp (idempotent)
junos_lldp:
state: present
provider: "{{ netconf }}"
register: result

- assert:
that:
- "result.changed == false"

- name: configure lldp parameters and enable lldp
junos_lldp:
interval: 10
hold_multiplier: 5
transmit_delay: 2
state: present
provider: "{{ netconf }}"
register: result

- assert:
that:
- "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)
junos_lldp:
interval: 10
hold_multiplier: 5
transmit_delay: 2
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: 2
state: disabled
provider: "{{ netconf }}"
register: result

- assert:
that:
- "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: configure lldp parameters and enable lldp
junos_lldp:
interval: 10
hold_multiplier: 5
transmit_delay: 2
state: enabled
provider: "{{ netconf }}"
register: result

- assert:
that:
- "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"
ignore_errors: yes

- name: lldp supported
set_fact:
lldp_supported: True
when: not result.failed

- name: lldp not supported
set_fact:
lldp_supported: False
when: result.failed

- block:
- name: setup - Disable lldp and remove it's configuration
junos_lldp:
state: absent
provider: "{{ netconf }}"

- name: Enable lldp
junos_lldp:
state: present
provider: "{{ netconf }}"
register: result

- assert:
that:
- "result.changed == true"

- name: Enable lldp (idempotent)
junos_lldp:
state: present
provider: "{{ netconf }}"
register: result

- assert:
that:
- "result.changed == false"

- name: configure lldp parameters and enable lldp
junos_lldp:
interval: 10
hold_multiplier: 5
transmit_delay: 2
state: present
provider: "{{ netconf }}"
register: result

- assert:
that:
- "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)
junos_lldp:
interval: 10
hold_multiplier: 5
transmit_delay: 2
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: 2
state: disabled
provider: "{{ netconf }}"
register: result

- assert:
that:
- "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: configure lldp parameters and enable lldp
junos_lldp:
interval: 10
hold_multiplier: 5
transmit_delay: 2
state: enabled
provider: "{{ netconf }}"
register: result

- assert:
that:
- "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 }}"
49 changes: 33 additions & 16 deletions test/integration/targets/junos_lldp/tests/netconf/net_lldp.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,42 @@

# Add minimal testcase to check args are passed correctly to
# implementation module and module run is successful.
- name: get supported protocols
junos_command:
commands: show lldp
register: result
ignore_errors: yes

- name: setup - Disable lldp - setup
net_lldp:
state: absent
provider: "{{ netconf }}"
- name: lldp supported
set_fact:
lldp_supported: True
when: not result.failed

- name: Enable lldp using platform agnostic module
net_lldp:
state: present
provider: "{{ netconf }}"
register: result
- name: lldp not supported
set_fact:
lldp_supported: False
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"
- assert:
that:
- "result.changed == true"

- name: setup - Disable lldp - teardown
net_lldp:
state: absent
provider: "{{ netconf }}"
- 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 }}"
Loading

0 comments on commit a867ced

Please sign in to comment.