This commit is contained in:
2026-01-21 09:45:13 +02:00
parent 0269fd0258
commit 2623f52183

View File

@@ -460,19 +460,73 @@
# ============================ COPY BLOCK SCRIPTS TO DEV2 ============================
- name: Copy block scripts to DEV2 via wrapper
- name: Ensure staging dir on DEV2 (via wrapper)
delegate_to: localhost
ansible.builtin.shell: |
export DEV2_CMD='mkdir -p "{{ block_dst_dir }}" \
&& cat > "{{ block_dst_dir }}/{{ item }}" <<'__PTSD_EOF__'
{{ lookup('file', block_src_dir ~ '/' ~ item) }}
__PTSD_EOF__
&& chmod 0755 "{{ block_dst_dir }}/{{ item }}"'
export DEV2_CMD='mkdir -p "{{ block_dst_dir }}"'
{{ dev2_exec_cmd }}
args: { executable: /bin/bash }
changed_when: false
- name: Copy block scripts controller to DEV2 direct (LLDP direct or LLDP4 fallback)
when: dev2_conn_final in ["direct_lldp", "lldp4_fallback"]
delegate_to: localhost
ansible.builtin.shell: |
set -e
if [ "{{ dev2_conn_final }}" = "direct_lldp" ]; then
HOST="{{ lldp_dev2_ip }}"
PASSFILE="{{ dev2_passfile_used_direct }}"
else
HOST="{{ lldp_dev2_ip }}"
PASSFILE="{{ dev2_passfile_used_lldp4 }}"
fi
sshpass -f "$PASSFILE" scp {{ ssh_opts_common }} -P "{{ dev2_port }}" \
"{{ block_src_dir }}/{{ item }}" \
"{{ dev2_ssh_user }}@${HOST}:{{ block_dst_dir }}/{{ item }}"
args: { executable: /bin/bash }
loop: "{{ block_files }}"
changed_when: true
- name: Copy block scripts controller to DEV1 staging (for tunnel or LLDP6 via DEV1)
when: dev2_conn_final in ["tunnel", "lldp6_via_dev1"]
delegate_to: localhost
ansible.builtin.shell: |
set -e
sshpass -p "{{ dev1_pass }}" scp {{ ssh_opts_common }} \
"{{ block_src_dir }}/{{ item }}" \
"{{ dev1_user }}@{{ inventory_hostname }}:/tmp/{{ item }}"
args: { executable: /bin/bash }
loop: "{{ block_files }}"
changed_when: true
- name: Stage DEV2 passfile on DEV1 (for DEV1 to DEV2 scp)
when: dev2_conn_final in ["tunnel", "lldp6_via_dev1"]
delegate_to: localhost
ansible.builtin.shell: |
set -e
PASSFILE="{{ dev2_passfile_used_tunnel if dev2_conn_final == 'tunnel' else dev2_passfile_used_lldp6 }}"
sshpass -p "{{ dev1_pass }}" scp {{ ssh_opts_common }} \
"$PASSFILE" \
"{{ dev1_user }}@{{ inventory_hostname }}:/tmp/ptsd_passfile_dev2"
args: { executable: /bin/bash }
changed_when: true
- name: Copy block scripts DEV1 to DEV2 (tunnel or LLDP6 via DEV1)
when: dev2_conn_final in ["tunnel", "lldp6_via_dev1"]
ansible.builtin.raw: >
{{ pathprefix }}
(HOST="{{ dev2_host }}";
PASSFILE="/tmp/ptsd_passfile_dev2";
for f in {{ block_files | join(' ') }}; do
sshpass -f "$PASSFILE" scp {{ ssh_opts_common }} -P {{ dev2_port }} "/tmp/$f" "{{ dev2_ssh_user }}@${HOST}:{{ block_dst_dir }}/$f" >/dev/null 2>&1 || exit 1;
sshpass -f "$PASSFILE" ssh {{ ssh_opts_common }} -p {{ dev2_port }} "{{ dev2_ssh_user }}@${HOST}" "chmod 0755 {{ block_dst_dir }}/$f" >/dev/null 2>&1 || exit 1;
done;
exit 0)
register: dev1_to_dev2_copy
changed_when: true
failed_when: dev1_to_dev2_copy.rc != 0
post_tasks:
- name: Cleanup note
delegate_to: localhost