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