46 lines
1.8 KiB
YAML
46 lines
1.8 KiB
YAML
# 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 |