0750
This commit is contained in:
@@ -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
|
||||||
Reference in New Issue
Block a user