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/junos_netconf/tests/cli/netconf.yaml

110 lines
2.4 KiB
YAML

---
- debug: msg="START netconf/netconf.yaml on connection={{ ansible_connection }}"
- name: Ensure netconf is enabled
junos_netconf:
state: present
- name: idempotent tests
junos_netconf:
state: present
register: result
- assert:
that:
- "result.changed == false"
###################################
- name: wait for netconf port tcp/830 to be open
wait_for:
host: "{{ hostvars[item].ansible_host }}"
port: 830
with_inventory_hostnames: junos
- name: Reset ansible connections
meta: reset_connection
- name: Ensure we can communicate over netconf
include: "{{ role_path }}/tests/utils/junos_command.yaml ansible_connection=netconf ansible_port=830 is_ignore_errors=false"
- name: Disable netconf (check mode)
junos_netconf:
state: absent
register: result
check_mode: yes
- assert:
that:
- "result.changed == true"
- name: wait for persistent socket to timeout
pause:
seconds: 120
- name: Ensure we can communicate over netconf
include: "{{ role_path }}/tests/utils/junos_command.yaml ansible_connection=netconf ansible_port=830 is_ignore_errors=false"
# Disable netconf
- name: Disable netconf
junos_netconf:
state: absent
register: result
- assert:
that:
- "result.changed == true"
- name: idempotent tests
junos_netconf:
state: absent
register: result
- assert:
that:
- "result.changed == false"
- name: wait for netconf port tcp/830 to be closed
wait_for:
host: "{{ hostvars[item].ansible_host }}"
port: 830
state: stopped
with_inventory_hostnames: junos
- name: Reset ansible connections
meta: reset_connection
- name: Ensure we can NOT talk via netconf
include: "{{ role_path }}/tests/utils/junos_command.yaml ansible_connection=netconf ansible_port=830 is_ignore_errors=true"
- assert:
that:
- "result.failed == true"
- name: Enable netconf (check mode)
junos_netconf:
state: present
register: result
check_mode: yes
- assert:
that:
- "result.changed == true"
- name: wait for netconf server to come up
pause:
seconds: 10
- name: Ensure we can NOT talk via netconf
include: "{{ role_path }}/tests/utils/junos_command.yaml ansible_connection=netconf ansible_port=830 is_ignore_errors=true"
- assert:
that:
- "result.failed == true"
- name: re-enable netconf
junos_netconf:
state: present
- debug: msg="END netconf/netconfg.yaml on connection={{ ansible_connection }}"