diff --git a/ansible/opnsense/update_opnsense_ha_cluster.yml b/ansible/opnsense/update_opnsense_ha_cluster.yml index af2327c..555335a 100644 --- a/ansible/opnsense/update_opnsense_ha_cluster.yml +++ b/ansible/opnsense/update_opnsense_ha_cluster.yml @@ -51,13 +51,14 @@ retries: 12 delay: 5 - - name: Store firmware facts + - name: Store node facts ansible.builtin.set_fact: firmware_action: "{{ opnsense_action | default('update')}}" firmware_status: "{{ _firmware_status.json.status }}" firmware_current_version: "{{ _firmware_status.json.product_version | default('unknown') }}" firmware_new_version: "{{ _firmware_status.json.upgrade_packages | selectattr('name', 'equalto', 'opnsense') | map(attribute='new_version') | first | default('') }}" firmware_upgrade_version: "{{ _firmware_status.json.upgrade_major_version | default('unknown') }}" + firmware_upgrade_message: "{{ _firmware_status.json.upgrade_major_message | default('') }}" needs_reboot: "{{ true if _firmware_status.json.needs_reboot == '1' else false }}" total_vips: "{{ _vip_status.json.rowCount }}" mismatched_vips: "{{ _vip_status.json.rows | rejectattr('status', 'equalto', main_role) | list | length }}" @@ -81,13 +82,6 @@ - total_vips > 0 quiet: true - - name: Display firmware status - ansible.builtin.debug: - msg: >- - {{ inventory_hostname }} ({{ main_role }}): {{ firmware_status }} - ({{ firmware_current_version }} - {% if firmware_new_version %} → {{ firmware_new_version }} (reboot: {{ needs_reboot }}){% endif %}) - rescue: - name: Send Ntfy notification @@ -100,11 +94,15 @@ body: | Current version: {{ firmware_current_version }} {% if firmware_action != firmware_status %} - {% if firmware_status == "upgrade" %} - Upgrade to {{ firmware_upgrade_version }} available, relaunch the playbook manually to proceed. - {% else %} + {% if firmware_status == "upgrade" %} + Upgrade to {{ firmware_upgrade_version }} available, but no upgrade requested. + {% if firmware_upgrade_message != "" %} + Upgrade message: + {{ firmware_upgrade_message }} + {% endif %} + {% else %} No updates available on the cluster. - {% endif %} + {% endif %} {% elif in_maintenance %} The node {{ inventory_hostname }} is in CARP maintenance mode. {% elif mismatched_vips > 0 %}