Description |
This article describes how to use the Firmware Manager CLI and API. |
Scope | FortiManager 6.2, 6.4, 7.0, 7.2. |
Solution |
The firmware manager within FortiManager is available for use with the CLI and through an API as well as from the GUI.
To upgrade a FortiGate using Firmware Manager CLI, follow the steps below:
1) Verify the upgrade path: In the below example, the device is a VM64 running 5.6.14 and upgraded to 6.4.7.
FMG # diag fwmanager show-dev-upgrade-path FGT 6.4.7
2) Provided the unit is already registered in the FortiManager, it is possible to schedule the upgrade (in a similar way to the GUI):
# diag fwmanager set-dev-schedule <device name> <target version> <flags> <date in format "YYYY/MM/DD_hh:mm:ss">
The main flags options are as below: - Null: Default options (all below options disabled) - bool_alt: Boot from alternate partition after upgrade. - skip_retrieve: Do not retrieve the configuration. - skip_multi_steps: Do not use the upgrade path. - fortiguard_img: Let the unit download the firmware from FortiGuard.
See the following example:
FMG # diag fwmanager set-dev-schedule FGT 6.4.7 null 2021/12/27_01:00:00 platform FGVMK6, upgrade path from 6.0.14-457 to 6.4.7-1911: [6.2.10-1263 --> 6.4.7-1911] possible path: [6.2.9-1234 --> 6.4.7-1911] Upgrade to image 6.4.7 Do you want to continue? (y/n)y set_dev_schedule: task id = 66
3) Once the previous command has been run, the FortiManager creates a task that can be viewed either in the GUI or CLI.
FMG # diag fwmanager get-all-schedule schedule: device_id: 134 serial: FGVM010000011238 boot_alt: 0 firmware: 06002000 release: 6.2.10 buldnum: 1263 scheduled time: 2021/12/27_01:00:00 taskid: 66 sched_seq: 1640604693 prev_seq: 0 status: accepted
FMG # diag dvm task list root running ADOM: root ID Source Description User Status Start Time -------------------------------------------- 66 fwm Image Upgrade admin running Mon Dec 27 12:31:29 2021
Note that in a similar way to the CLI, the Firmware Manager API can be used as follows:
{ "session" : "{{session}}", "id" : 1, "method" : "exec", "params" : [{ "data": { "adom": "root", "create_task": "enable", "device": [{ "name": "FGT" }], "flags": 7, "image": { "release": "6.4.7" }}, "url": "um/image/upgrade" }], "verbose" : 1 }
The flags correspond to the CLI flags:
Null=0, skip_retrieve=1, skip_multi_steps=2, fortiguard_img=4, fortiguard=8, preview=16, force=16. Multiple flags may be added together to combine the different options. For example, fortiguard + skip_retrieve = 9.
Troubleshooting: If the upgrade fails, run the below log retrieval process while running the upgrade:
# diagnose fwmanager fwm-log
Alternatively, restart the service:
# diagnose fwmanager service-restart
Related article: Technical Tip: How to download and import firmware images into FortiManager |
The Fortinet Security Fabric brings together the concepts of convergence and consolidation to provide comprehensive cybersecurity protection for all users, devices, and applications and across all network edges.
Copyright 2024 Fortinet, Inc. All Rights Reserved.