FortiOS REST API enhances FortiManager interaction with FortiExtender 7.4.2
The FortiOS REST API enables FortiManager firmware upgrade templates for FortiExtender modems to:
-
Query the modem firmware version utilized by FortiExtender.
-
Direct FortiExtender to install modem firmware updates from FortiCloud.
This feature enhances the interaction between FortiGate, FortiManager, and FortiExtender to ensure that FortiExtender firmware is always up-to-date.
The following prerequisites are required to use this feature:
-
FortiExtender must be registered in FortiCloud.
-
FortiExtender firmware version must be 7.4 on build 231 or later.
-
FortiExtender must be connected to the internet.
-
FortiExtender is managed by FortiGate, its status is Online, and the FortiExtender IP address is shown in FortiGate interfaces.
Example
In this example, a FortiManager administrator creates a firmware upgrade template for FortiExtender modem and assigns the template to the managed FortiGate with attached FortiExtender. When the FortiManager administrator uses the template to initiate an upgrade to the FortiExtender modem firmware, the template uses the FortiOS REST API to:
-
Query the FortiGate for the current modem firmware version of the attached FortiExtender and the firmware versions available for FortiExtender on FortiCloud
-
Direct FortiExtender to install a specific version of firmware from FortiCloud.
To use FortiManager to update FortiExtender modem firmware:
-
In FortiManager create a firmware upgrade template for FortiExtender modem and assign it to the managed FortiGate with attached FortiExtender. For details, see the FortiManager 7.4 New Features.
-
In FortiManager, use the template to initiate a FortiExtender modem firmware upgrade. The template uses the FortiOS REST API to query FortiExtender for the current modem firmware version.
https://<ip address>/api/v2/monitor/extender-controller/extender/modem-firmware?serial=<number> { "http_method":"GET", "results":{ "available":[ "FEM_EM06A-22-1-1" ], "current":"FEM_EM06A-22-1-1" }, "vdom":"root", "path":"extender-controller", "name":"extender", "action":"modem-firmware", "status":"success", "serial":"<number>", "version":"v7.4.2", "build":2566 }
After receiving the API call, the following FortiOS command is run to provide the current and available FortiExtender firmware versions to FortiManager:
execute extender query-forticloud-mdmpkg-image all <serial number> Local Modem Package: FEM_07A-22-1-0-AMERICA Versions on Cloud: FEM_07A-22-2-0-AMERICA
-
After receiving the response from FortiGate, the FortiManager template automatically uses the FortiOS REST API to direct FortiExtender to download a specific firmware version from FortiCloud and install it.
POST /api/v2/monitor/extender-controller/extender/upgrade-modem-firmware { "serial": <fext_serial>, "firmware-name": <name> }
After receiving the API call, the following FortiOS command is run to download a specific firmware version from FortiCloud and install it to FortiExtender.
execute extender install-forticloud-mdm-package FEM_07A-22-2-0-AMERICA <serial number>
After the command is run on FortiGate, you can also use the FortiExtender console to view the progress of downloading and installing the modem firmware version.
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 229M 100 229M 0 0 2575k 0 0:01:31 0:01:31 --:--:-- 2744k [MDM FW upgrade]: Decompress package... Archive: /tmp/upfile.zip inflating: SWI9X50C_01.14.20.00_VERIZON_002.058_000.nvu inflating: SWI9X50C_01.14.13.00.cwe inflating: SWI9X50C_01.14.20.00.cwe inflating: SWI9X50C_01.14.13.00_ATT_002.062_000.nvu inflating: SWI9X50C_01.14.03.00_US-CELLULAR_002.011_001.nvu inflating: SWI9X50C_01.14.13.00_GENERIC_002.048_000.nvu inflating: SWI9X50C_01.14.03.00_TMO_002.005_004.nvu inflating: SWI9X50C_01.14.03.00_TELUS_001.013_003.nvu inflating: SWI9X50C_01.14.03.00.cwe inflating: carrier_profile.conf Starting modem firmware upgrade!