Refactor os-updates: deb822 support, codename alignment, logging, reboot task, drop major-version upgrade; add healthcheck to update playbook
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
# Postflight logging: which packages were updated and how long it took.
|
||||
# Run logging steps only when os_update_logging_enabled is true.
|
||||
|
||||
- name: Logging - Record end epoch
|
||||
command: date +%s
|
||||
register: os_update_log_end_ts
|
||||
changed_when: false
|
||||
when: os_update_logging_enabled | bool
|
||||
|
||||
- name: Logging - Compute upgrade duration
|
||||
set_fact:
|
||||
os_update_duration_seconds: "{{ (os_update_log_end_ts.stdout | int) - (os_update_log_start_ts.stdout | int) }}"
|
||||
when: os_update_logging_enabled | bool
|
||||
|
||||
- name: Logging - Ensure log directory exists
|
||||
file:
|
||||
path: "{{ os_update_log_file | dirname }}"
|
||||
state: directory
|
||||
delegate_to: localhost
|
||||
when: os_update_logging_enabled | bool
|
||||
|
||||
- name: Logging - Write update log entry
|
||||
blockinfile:
|
||||
path: "{{ os_update_log_file }}"
|
||||
create: yes
|
||||
marker: "# {mark} ANSIBLE-OS-UPDATE"
|
||||
block: |
|
||||
host: {{ ansible_facts['hostname'] }}
|
||||
started: {{ os_update_log_start_iso.stdout }}
|
||||
duration_seconds: {{ os_update_duration_seconds }}
|
||||
upgradable_packages_count: {{ os_update_upgradable_count }}
|
||||
upgrade_changed: {{ os_update_upgrade_result.changed | default(false) }}
|
||||
upgrade_failed: {{ os_update_upgrade_result.failed | default(false) }}
|
||||
upgradable_packages:
|
||||
{% for ver in os_update_upgradable_versions %}
|
||||
- {{ ver.split()[0] }} ({{ ver.split()[1] }} -> {{ ver.split()[2] }})
|
||||
{% endfor %}
|
||||
reboot_required: {{ os_update_reboot_required }}
|
||||
reboot_reason: {{ os_update_reboot_reason }}
|
||||
reboot_triggered: {{ os_update_reboot_triggered }}
|
||||
reboot_started: {{ os_update_reboot_start_iso }}
|
||||
reboot_downtime_seconds: {{ os_update_reboot_downtime_seconds }}
|
||||
kernel_before: {{ os_update_running_kernel.stdout | default('n/a') }}
|
||||
kernel_after: {{ os_update_running_kernel_after }}
|
||||
delegate_to: localhost
|
||||
when: os_update_logging_enabled | bool
|
||||
Reference in New Issue
Block a user