This commit is contained in:
2026-01-27 07:50:47 +02:00
parent d942a71269
commit ba02447bf3

View File

@@ -49,12 +49,13 @@
dev2_passfile_used_lldp6: "NONE" dev2_passfile_used_lldp6: "NONE"
changed_when: false changed_when: false
- name: Read DEV1 hostname (busybox-safe) - name: Report init migrate accumulator
- name: Init ptsd migrate report accumulator delegate_to: localhost
ansible.builtin.set_fact: ansible.builtin.set_fact:
ptsd_migrate_report: "" ptsd_migrate_report: ""
changed_when: false changed_when: false
- name: Read DEV1 hostname (busybox-safe)
ansible.builtin.raw: > ansible.builtin.raw: >
{{ pathprefix }} {{ pathprefix }}
(cat /proc/sys/kernel/hostname 2>/dev/null || echo "") (cat /proc/sys/kernel/hostname 2>/dev/null || echo "")
@@ -514,6 +515,12 @@
{%- endif -%} {%- endif -%}
changed_when: false changed_when: false
- name: Report record connectivity mode
delegate_to: localhost
ansible.builtin.set_fact:
ptsd_migrate_report: "{{ (ptsd_migrate_report | default('')) ~ (', ' if (ptsd_migrate_report | default('')) != '' else '') ~ ('conn ' ~ dev2_conn_final) }}"
changed_when: false
- name: Abort if all DEV2 connection methods failed - name: Abort if all DEV2 connection methods failed
when: dev2_conn_final == "none" when: dev2_conn_final == "none"
ansible.builtin.fail: ansible.builtin.fail:
@@ -537,11 +544,6 @@
- "lldp ipv4={{ lldp_dev2_ip | default('') }}" - "lldp ipv4={{ lldp_dev2_ip | default('') }}"
- "lldp ipv6={{ lldp_dev2_ip6 | default('') }}" - "lldp ipv6={{ lldp_dev2_ip6 | default('') }}"
- name: Report milestone connectivity selected
ansible.builtin.set_fact:
ptsd_migrate_report: "{{ (ptsd_migrate_report ~ 'conn ' ~ dev2_conn_final ~ '; ') }}"
changed_when: false
- name: Build DEV2 exec wrapper (controller-side) for Phase 1 commands - name: Build DEV2 exec wrapper (controller-side) for Phase 1 commands
delegate_to: localhost delegate_to: localhost
ansible.builtin.set_fact: ansible.builtin.set_fact:
@@ -687,6 +689,13 @@
}} }}
changed_when: false changed_when: false
- name: Report record eligibility
when: dev2_pre_migration_ok | bool
delegate_to: localhost
ansible.builtin.set_fact:
ptsd_migrate_report: "{{ (ptsd_migrate_report | default('')) ~ (', ' if (ptsd_migrate_report | default('')) != '' else '') ~ ('eligible PPP') }}"
changed_when: false
- name: "PHASE 0 (LAST) | Stop if DEV2 is NOT a pure old PPP device" - name: "PHASE 0 (LAST) | Stop if DEV2 is NOT a pure old PPP device"
when: not (dev2_pre_migration_ok | bool) when: not (dev2_pre_migration_ok | bool)
delegate_to: localhost delegate_to: localhost
@@ -752,6 +761,12 @@
args: { executable: /bin/bash } args: { executable: /bin/bash }
changed_when: true changed_when: true
- name: Report record backup
delegate_to: localhost
ansible.builtin.set_fact:
ptsd_migrate_report: "{{ (ptsd_migrate_report | default('')) ~ (', ' if (ptsd_migrate_report | default('')) != '' else '') ~ ('backup config-orig') }}"
changed_when: false
- name: PHASE 1 | DEV2 set /tmp/ptsd.inprogress marker before controller config copy - name: PHASE 1 | DEV2 set /tmp/ptsd.inprogress marker before controller config copy
delegate_to: localhost delegate_to: localhost
ansible.builtin.shell: | ansible.builtin.shell: |
@@ -761,9 +776,10 @@
changed_when: true changed_when: true
- name: Report milestone marker set - name: Report record inprogress marker
delegate_to: localhost
ansible.builtin.set_fact: ansible.builtin.set_fact:
ptsd_migrate_report: "{{ (ptsd_migrate_report ~ 'marker set; ') }}" ptsd_migrate_report: "{{ (ptsd_migrate_report | default('')) ~ (', ' if (ptsd_migrate_report | default('')) != '' else '') ~ ('mark inprogress') }}"
changed_when: false changed_when: false
- name: PHASE 1 | Download /tmp/config.json from DEV2 to controller (tunnel) - name: PHASE 1 | Download /tmp/config.json from DEV2 to controller (tunnel)
@@ -922,6 +938,13 @@
changed_when: true changed_when: true
failed_when: scp_up_tunnel.rc != 0 failed_when: scp_up_tunnel.rc != 0
- name: Report record DHCP upload
when: dev2_conn_final == "tunnel"
delegate_to: localhost
ansible.builtin.set_fact:
ptsd_migrate_report: "{{ (ptsd_migrate_report | default('')) ~ (', ' if (ptsd_migrate_report | default('')) != '' else '') ~ ('upload DHCP config') }}"
changed_when: false
- name: PHASE 1 | Upload config-dhcp.json to DEV2 (direct LLDP IPv4) - name: PHASE 1 | Upload config-dhcp.json to DEV2 (direct LLDP IPv4)
when: dev2_conn_final == "direct_lldp" when: dev2_conn_final == "direct_lldp"
delegate_to: localhost delegate_to: localhost
@@ -937,6 +960,13 @@
changed_when: true changed_when: true
failed_when: scp_up_direct.rc != 0 failed_when: scp_up_direct.rc != 0
- name: Report record DHCP upload
when: dev2_conn_final == "direct_lldp"
delegate_to: localhost
ansible.builtin.set_fact:
ptsd_migrate_report: "{{ (ptsd_migrate_report | default('')) ~ (', ' if (ptsd_migrate_report | default('')) != '' else '') ~ ('upload DHCP config') }}"
changed_when: false
- name: PHASE 1 | Upload config-dhcp.json to DEV2 (LLDP IPv4 fallback) - name: PHASE 1 | Upload config-dhcp.json to DEV2 (LLDP IPv4 fallback)
when: dev2_conn_final == "lldp4_fallback" when: dev2_conn_final == "lldp4_fallback"
delegate_to: localhost delegate_to: localhost
@@ -952,6 +982,13 @@
changed_when: true changed_when: true
failed_when: scp_up_lldp4.rc != 0 failed_when: scp_up_lldp4.rc != 0
- name: Report record DHCP upload
when: dev2_conn_final == "lldp4"
delegate_to: localhost
ansible.builtin.set_fact:
ptsd_migrate_report: "{{ (ptsd_migrate_report | default('')) ~ (', ' if (ptsd_migrate_report | default('')) != '' else '') ~ ('upload DHCP config') }}"
changed_when: false
- name: PHASE 1 | Upload config-dhcp.json to DEV2 (LLDP IPv6 via DEV1 nested; last resort) - name: PHASE 1 | Upload config-dhcp.json to DEV2 (LLDP IPv6 via DEV1 nested; last resort)
when: dev2_conn_final == "lldp6_via_dev1" when: dev2_conn_final == "lldp6_via_dev1"
delegate_to: localhost delegate_to: localhost
@@ -980,6 +1017,13 @@
changed_when: true changed_when: true
failed_when: scp_up_lldp6.rc != 0 failed_when: scp_up_lldp6.rc != 0
- name: Report record DHCP upload
when: dev2_conn_final == "lldp6_via_dev1"
delegate_to: localhost
ansible.builtin.set_fact:
ptsd_migrate_report: "{{ (ptsd_migrate_report | default('')) ~ (', ' if (ptsd_migrate_report | default('')) != '' else '') ~ ('upload DHCP config') }}"
changed_when: false
- name: PHASE 1 | DEV2 md5sum of uploaded config-dhcp.json via wrapper - name: PHASE 1 | DEV2 md5sum of uploaded config-dhcp.json via wrapper
delegate_to: localhost delegate_to: localhost
ansible.builtin.shell: | ansible.builtin.shell: |
@@ -1035,11 +1079,6 @@
args: { executable: /bin/bash } args: { executable: /bin/bash }
changed_when: true changed_when: true
- name: Report milestone config converted and staged
ansible.builtin.set_fact:
ptsd_migrate_report: "{{ (ptsd_migrate_report ~ 'config backed up, converted, uploaded; ') }}"
changed_when: false
- name: PHASE 1 | DEV2 arm parachute reboot delayed 600 seconds - name: PHASE 1 | DEV2 arm parachute reboot delayed 600 seconds
delegate_to: localhost delegate_to: localhost
ansible.builtin.shell: | ansible.builtin.shell: |
@@ -1048,9 +1087,10 @@
args: { executable: /bin/bash } args: { executable: /bin/bash }
changed_when: true changed_when: true
- name: Report milestone parachute armed - name: Report record parachute arm
delegate_to: localhost
ansible.builtin.set_fact: ansible.builtin.set_fact:
ptsd_migrate_report: "{{ (ptsd_migrate_report ~ 'parachute reboot armed; ') }}" ptsd_migrate_report: "{{ (ptsd_migrate_report | default('')) ~ (', ' if (ptsd_migrate_report | default('')) != '' else '') ~ ('arm parachute') }}"
changed_when: false changed_when: false
- name: PHASE 1 | DEV2 simulate upgrade marker /tmp/AA_startedupgrade - name: PHASE 1 | DEV2 simulate upgrade marker /tmp/AA_startedupgrade
@@ -1070,11 +1110,6 @@
args: { executable: /bin/bash } args: { executable: /bin/bash }
changed_when: true changed_when: true
- name: Report milestone lld restart scheduled
ansible.builtin.set_fact:
ptsd_migrate_report: "{{ (ptsd_migrate_report ~ 'lld restart scheduled; ') }}"
changed_when: false
- name: PHASE 1 | initiating actual upgrade - name: PHASE 1 | initiating actual upgrade
delegate_to: localhost delegate_to: localhost
ansible.builtin.shell: | ansible.builtin.shell: |
@@ -1083,9 +1118,10 @@
args: { executable: /bin/bash } args: { executable: /bin/bash }
changed_when: true changed_when: true
- name: Report milestone upgrade started - name: Report record activation
delegate_to: localhost
ansible.builtin.set_fact: ansible.builtin.set_fact:
ptsd_migrate_report: "{{ (ptsd_migrate_report ~ 'upgrade started; ') }}" ptsd_migrate_report: "{{ (ptsd_migrate_report | default('')) ~ (', ' if (ptsd_migrate_report | default('')) != '' else '') ~ ('activate config-test') }}"
changed_when: false changed_when: false
post_tasks: post_tasks:
@@ -1132,20 +1168,11 @@
and ('Cannot assign requested address' not in (del_ip.stdout | default(''))) and ('Cannot assign requested address' not in (del_ip.stdout | default('')))
and ('Cannot assign requested address' not in (del_ip.stderr | default(''))) and ('Cannot assign requested address' not in (del_ip.stderr | default('')))
- name: Report milestone cleanup completed - name: Report record cleanup completion
when: dev2_conn_method | default('') == "tunnel" when: dev2_conn_final == "tunnel"
ansible.builtin.set_fact:
ptsd_migrate_report: "{{ (ptsd_migrate_report ~ 'cleanup done; ') }}"
changed_when: false
- name: PHASE Y | Final cumulative migrate report
hosts: all
gather_facts: false
tasks:
- name: Migrate final cumulative report
delegate_to: localhost delegate_to: localhost
ansible.builtin.debug: ansible.builtin.set_fact:
msg: "{{ ptsd_migrate_report | default('') | regex_replace('\\s+', ' ') | trim }}" ptsd_migrate_report: "{{ (ptsd_migrate_report | default('')) ~ (', ' if (ptsd_migrate_report | default('')) != '' else '') ~ ('cleanup done') }}"
changed_when: false changed_when: false
- name: PHASE X | Wait 45 seconds after config activation - name: PHASE X | Wait 45 seconds after config activation
@@ -1155,5 +1182,16 @@
- ansible.builtin.pause: - ansible.builtin.pause:
seconds: 45 seconds: 45
- import_playbook: ptsd_reacquire_attempt.yml - name: Report record post activation wait
delegate_to: localhost
ansible.builtin.set_fact:
ptsd_migrate_report: "{{ (ptsd_migrate_report | default('')) ~ (', ' if (ptsd_migrate_report | default('')) != '' else '') ~ ('wait 45s') }}"
changed_when: false
- name: Final migrate cumulative report
delegate_to: localhost
ansible.builtin.debug:
msg: "{{ ptsd_migrate_report | default('') }}"
changed_when: false
- import_playbook: ptsd_reacquire_attempt.yml