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/changeport.yaml

105 lines
2.7 KiB
YAML

---
- 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 }}"