From 991451fc795fb25d9e0d59da3b82dba80d4e2077 Mon Sep 17 00:00:00 2001 From: pavel Date: Fri, 7 Nov 2025 07:55:17 +0200 Subject: [PATCH] 07:55 --- files/ansible-playbooks/sot-updater.yml | 64 ++++++++++++++++++++----- 1 file changed, 52 insertions(+), 12 deletions(-) diff --git a/files/ansible-playbooks/sot-updater.yml b/files/ansible-playbooks/sot-updater.yml index bd2634a..68c3e5e 100644 --- a/files/ansible-playbooks/sot-updater.yml +++ b/files/ansible-playbooks/sot-updater.yml @@ -558,8 +558,8 @@ delegate_to: localhost shell: | for f in basicpass basicpass2; do - if sshpass -f "$f" ssh -o StrictHostKeyChecking=no -o PubkeyAuthentication=no \ - -o ConnectTimeout=15 \ + if timeout 20s sshpass -f "$f" ssh {{ ssh_opts_common }} \ + -o ConnectionAttempts=1 -o ConnectTimeout=10 \ "{{ dev2_ssh_user }}@{{ lldp_dev2_ip }}" "echo ok" >/dev/null 2>&1; then echo "$f"; exit 0 fi @@ -570,6 +570,19 @@ failed_when: false ignore_errors: true + # Debug 1: what happened during LLDP auth try + - name: Dev2 | LLDP path selection debug + when: + - tunnel_ok | default(false) + - dev2_passfile_used == 'NONE' + - lldp_dev2_ip | length > 0 + delegate_to: localhost + debug: + msg: + - "LLDP candidate IP={{ lldp_dev2_ip }}" + - "LLDP auth rc={{ dev2_auth_lldp.rc | default('n/a') }}" + - "passfile (if any) will follow in next step" + - name: Set dev2_passfile_used_lldp when: - tunnel_ok | default(false) @@ -579,20 +592,47 @@ set_fact: dev2_passfile_used_lldp: "{{ (dev2_auth_lldp.rc | default(1)) == 0 | ternary(dev2_auth_lldp.stdout | default('') | trim, 'NONE') }}" - - name: Dev2 | Read firmux (primary tunnel) - when: tunnel_ok|default(false) and dev2_passfile_used != 'NONE' + # Debug 2: which passfile will be used for firmux read + - name: Dev2 | LLDP passfile decision + when: + - tunnel_ok | default(false) + - dev2_passfile_used == 'NONE' + - lldp_dev2_ip | length > 0 delegate_to: localhost - shell: | - PORT="{{ _local_port }}" - sshpass -f "{{ dev2_passfile_used }}" ssh \ - -o StrictHostKeyChecking=no -o PubkeyAuthentication=no \ - -o ConnectTimeout=15 \ - -p "$PORT" "{{ dev2_ssh_user }}@127.0.0.1" \ - "cat /usr/lib/release/firmux 2>/dev/null || true" - register: dev2_firmux + debug: + msg: + - "Using passfile for LLDP path: {{ dev2_passfile_used_lldp }}" + + # Optional quick TCP check so you see port reachability (no fail) + - name: Dev2 | Check TCP/22 reachability (LLDP) + when: + - tunnel_ok | default(false) + - dev2_passfile_used == 'NONE' + - lldp_dev2_ip | length > 0 + delegate_to: localhost + shell: "nc -z -w3 {{ lldp_dev2_ip }} 22" + register: lldp_ssh_tcp + changed_when: false failed_when: false ignore_errors: true + - name: Dev2 | Read firmux (direct LLDP IP) + when: + - tunnel_ok | default(false) + - dev2_passfile_used == 'NONE' + - lldp_dev2_ip | length > 0 + - dev2_passfile_used_lldp != 'NONE' + delegate_to: localhost + shell: | + timeout 20s sshpass -f "{{ dev2_passfile_used_lldp }}" ssh {{ ssh_opts_common }} \ + -o ConnectionAttempts=1 -o ConnectTimeout=10 \ + "{{ dev2_ssh_user }}@{{ lldp_dev2_ip }}" \ + "cat /usr/lib/release/firmux 2>/dev/null || true" + register: dev2_firmux_lldp + failed_when: false + ignore_errors: true + + - name: Dev2 | Read firmux (direct LLDP IP) when: - tunnel_ok | default(false)