|
|
|
---
|
|
|
|
- debug: msg="START netconf/changeport.yaml on connection={{ ansible_connection }}"
|
|
|
|
|
|
|
|
- name: Setup
|
|
|
|
junos_netconf:
|
|
|
|
state: present
|
|
|
|
|
|
|
|
###################################
|
|
|
|
|
|
|
|
- name: Change port
|
|
|
|
junos_netconf:
|
|
|
|
state: present
|
|
|
|
netconf_port: 8022
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- "result.changed == true"
|
|
|
|
|
|
|
|
- name: idempotent tests
|
|
|
|
junos_netconf:
|
|
|
|
state: present
|
|
|
|
netconf_port: 8022
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- "result.changed == false"
|
|
|
|
|
|
|
|
- name: wait for netconf port tcp/8022 to be open
|
|
|
|
wait_for:
|
|
|
|
host: "{{ hostvars[item].ansible_host }}"
|
|
|
|
port: 8022
|
|
|
|
with_inventory_hostnames: junos
|
|
|
|
|
|
|
|
- name: Reset ansible connections
|
|
|
|
meta: reset_connection
|
|
|
|
|
|
|
|
- name: Ensure we can communicate over 8022
|
|
|
|
include: "{{ role_path }}/tests/utils/junos_command.yaml ansible_connection=netconf ansible_port=8022 is_ignore_errors=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
|
|
|
|
|
|
|
|
# This protects against the port override above not being honoured and a bug setting the port
|
|
|
|
- name: Ensure we can NOT communicate over default port
|
|
|
|
include: "{{ role_path }}/tests/utils/junos_command.yaml ansible_connection=netconf ansible_port=830 is_ignore_errors=true"
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- "result.failed == true"
|
|
|
|
|
|
|
|
- name: Set back netconf to default port
|
|
|
|
junos_netconf:
|
|
|
|
state: present
|
|
|
|
|
|
|
|
- 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: Change port (check mode)
|
|
|
|
junos_netconf:
|
|
|
|
state: present
|
|
|
|
netconf_port: 12345
|
|
|
|
register: result
|
|
|
|
check_mode: true
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- "result.changed == true"
|
|
|
|
|
|
|
|
- name: wait for netconf port tcp/12345 to be closed
|
|
|
|
wait_for:
|
|
|
|
host: "{{ hostvars[item].ansible_host }}"
|
|
|
|
port: 12345
|
|
|
|
state: stopped
|
|
|
|
with_inventory_hostnames: junos
|
|
|
|
|
|
|
|
- name: Reset ansible connections
|
|
|
|
meta: reset_connection
|
|
|
|
|
|
|
|
- name: Ensure we can NOT communicate over non-default port
|
|
|
|
include: "{{ role_path }}/tests/utils/junos_command.yaml ansible_connection=netconf ansible_port=12345 is_ignore_errors=true"
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- "result.failed == true"
|
|
|
|
|
|
|
|
- name: Ensure we can communicate over default port
|
|
|
|
include: "{{ role_path }}/tests/utils/junos_command.yaml ansible_connection=netconf ansible_port=830 is_ignore_errors=false"
|
|
|
|
|
|
|
|
- debug: msg="END netconf/changeport.yaml on connection={{ ansible_connection }}"
|