Technical Tip: HA upgrade fails when upgrading from v7.0.16 to v7.2.10 or v7.4.5 firmware on FortiGate-90G/91G and 120G/121G models
| Description | This article describes an upgrade failure scenario while upgrading an HA cluster from firmware 7.0.16/7.0.17 to 7.2.10 or 7.4.5 or later on the FortiGate-90/91G and 120/121G models, and the possible solutions. |
| Scope | FortiGate v7.0.16/v7.0.17 |
| Solution | HA cluster upgrades could fail on the FortiGate-90/91G and 120/121G models due to high BIOS security level. This is related to known issue 1102588.
get system status
During the upgrade process, FortiGate could encounter the error 'firmware failed signature validation', and the upgrade process will be aborted.
diagnose debug application hatalk 255 Debug messages will be on for 30 minutes.
diagnose debug application hasync 255 Debug messages will be on for 30 minutes.
diagnose debug en
<hasync> reap child: pid=25485, status=0 <hatalk> vcluster_0: ha_prio=1(secondary), state/chg_time/now=3(standby)/1733453659/1733879631 <hasync> reap child: pid=25486, status=0 <hatalk> vcluster_0: ha_prio=1(secondary), state/chg_time/now=3(standby)/1733453659/1733879641 <hasync:WARN> conn=0x36f2af50, peer closed the connection: dst=169.254.0.1, sync_type=18(byod) <hatalk> vcluster_0: ha_prio=1(secondary), state/chg_time/now=3(standby)/1733453659/1733879651 <hatalk> vcluster_0: ha_prio=1(secondary), state/chg_time/now=3(standby)/1733453659/1733879661 <hatalk> parse options for 'FG120GTK24007657', packet_version=58 <hatalk> cfg_changed is set to 1: intf-changed <hatalk> vcluster_0: vmember 'FG120GTK24007657' updated, override=0, usr_priority=200, mondev/pingsvr=0/0, uptime/reset_count=1950/0, flag=0x00000009 <hatalk> vcluster_0: reelect=1, vmember updated <hatalk> vcluster_0: ha_prio's are not changed after HA election <hatalk> cfg_changed is set to 0: hatalk_packet_setup_heartbeat <hatalk> setup new heartbeat packet: hbdev='port1', packet_version=39 <hatalk> options buf is small: opt_type=41(DEVINFO), opt_sz=13806, buf_sz=1231 <hatalk> pack compressed dev_info: dev_nr=33, orig_sz=13800, z_len=253 <hatalk> heartbeat packet is set on hbdev 'port1' <hatalk> setup new heartbeat packet: hbdev='port2', packet_version=39 <hatalk> options buf is small: opt_type=41(DEVINFO), opt_sz=13806, buf_sz=1231 <hatalk> pack compressed dev_info: dev_nr=33, orig_sz=13800, z_len=253 <hatalk> heartbeat packet is set on hbdev 'port2' <hasync> reap child: pid=25491, status=0 <hasync:WARN> conn=0x36f2af50, peer closed the connection: dst=169.254.0.1, sync_type=5(conf) <hasync:WARN> conn=0x36f2af50, peer closed the connection: dst=169.254.0.1, sync_type=10(cli-command) Get image from ha primary OK. Verifying the integrity of the firmware image... ******WARNING: This firmware failed signature validation.****** Fortinet cannot verify the authenticity of this firmware and therefore there may be a risk that the firmware contains code unknown to Fortinet. In short, Fortinet cannot validate the firmware and makes no warranties or representations concerning the firmware.
Installation Aborted.
Workarounds: There are two workarounds for this issue:
Workaround 1:
Lower the BIOS security level on each FortiGate of the HA cluster, perform the upgrades one at a time and, once the upgrade is done, ask the admin to switch the BIOS level back to high.
To change the security level:
The following is a way to do this with minimal downtime for the HA cluster:
At the end of the above steps, verify that FGT-1 is Primary and FGT-2 is Secondary, both are upgraded and are in ha sync - using the commands "get sys status", "diagnose sys ha status" and "get sys ha status".
Workaround 2:
Another option is to break the HA Cluster briefly and upgrade the device one at a time, and then re-add the HA cluster once the upgrades are complete. More details are available in Technical Tip: How to break a HA cluster and use one of the members as standalone. |
