Use this procedure to upgrade the database and docker server image for Cisco IoT FND, ensuring compatibility and security by running upgrade scripts and integrating the database with Cisco IoT FND.
To ensure compatibility and security, upgrade the database and docker server image for Cisco IoT FND.
To upgrade the database and the docker server image, run the rpm scripts and auto-integrate the DB with Cisco IoT FND scripts.
Before you begin
Cisco IoT FND OVA upgrade does not upgrade the RHEL OS version. The RHEL version may vary depending on the Cisco IoT FND release. After upgrading the OVA, upgrade the OS as soon as possible. Cisco IoT FND is a secure application, but the OS security and patches must be regularly updated based on Cisco guidance.
Use this procedure to upgrade Cisco IoT FND Release 4.9.x, 4.10.x, 4.11.x, and 4.12.x to Release 5.0.x or higher.
Procedure
-
Obtain the Cisco IoT FND upgrade scripts from Cisco.
-
Check the RHEL OS version before upgrading Cisco IoT FND OVA to Cisco IoT FND Release 5.0 or higher.
Example:
[root@fnd451testupgrade ~]# hostnamectl Static hostname: fnd451testupgrade Icon name: computer-vm Chassis: vm Machine ID: 58eb8d728d834d28ad426eca3c9b9c4e Boot ID: 40511dab9f4b4beaa8de82fb105423c9 Virtualization: vmware Operating System: Red Hat Enterprise Linux CPE OS Name: cpe:/o:redhat:enterprise_linux:7.5:GA:server Kernel: Linux 3.10.0-862.el7.x86_64 Architecture: x86-64 [root@fnd451testupgrade ~]#r -
Extract the cgms rpms files to the Cisco IoT FND server.
Example:
If you are upgrading the DB and the docker server image for Cisco IoT FND release 5.0 or higher:
-
Download the upgrade script from Cisco.
Example:
CISCO-IOTFND-VPI-K9-UPGRADE-SCRIPTS-<release>-<build number>.zip -
Extract the file to get the rpm:
Example:
upgrade-ova-<release>-<build number>.rpm -
Transfer the extracted rpm file to the Cisco IoT FND server.
-
-
Navigate to the directory where the rpm file is located.
Example:
cd /opt or any directory where the upgrade-ova-<release>-<build number>.rpm file is copied.
-
Run the upgrade script:
Example:
rpm -Uvh upgrade-ova-<release>-<build number>.rpmThe sample logs:
Sample log : For upgrade to Release 5.0.0 or 5.1.0, you may see output such as:root@iot-fnd:/opt[root@iot-fnd opt]# rpm -Uvh upgrade-ova-5-0-2-8.rpm Preparing... (1%)##############(100%) Updating / installing... 1:upgrade-ova-5-0-2-8 (1%)##############(100%) Started installer in background. Please check ~/rpm.log in few minutes for details. root@iot-fnd:/optYou have new mail in /var/spool/mail/root [root@iot-fnd opt]# Mon May 9 01:59:29 PDT 2022 Background installer started Mon May 9 01:59:29 PDT 2022 Please wait until the 'RPM installation completed' message is logged Mon May 9 01:59:29 PDT 2022 Upgrading cgms-postgres-5.0.2-8.x86_64.rpm Preparing... ######################################## Updating / installing... cgms-postgres-5.0.2-8 ######################################## Cleaning up / removing... cgms-postgres-5.0-101 ######################################## Mon May 9 01:59:47 PDT 2022 Upgrading cgms-influx-4.7.2-8.x86_64.rpm Preparing... ######################################## Updating / installing... cgms-influx-5.0.2-8 ######################################## Cleaning up / removing... cgms-influx-5.0-101 ######################################## Mon May 9 02:00:04 PDT 2022 Upgrading monit-5.25.3-1.el7.x86_64.rpm warning: monit-5.25.3-1.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 222b0e83: NOKEY Preparing... ######################################## package monit-5.25.3-1.el7.x86_64 is already installed Mon May 9 02:00:18 PDT 2022 Stopping services Mon May 9 02:00:58 PDT 2022 Upgrading Postgresql to 12.5 Preparing... ######################################## Updating / installing... postgresql12-libs-12.5-1PGDG.rhel7 ######################################## postgresql12-12.5-1PGDG.rhel7 ######################################## postgresql12-server-12.5-1PGDG.rhel7 ######################################## postgresql12-contrib-12.5-1PGDG.rhel7 ######################################## Cleaning up / removing... postgresql12-contrib-12.4-1PGDG.rhel7 ######################################## postgresql12-server-12.4-1PGDG.rhel7 ######################################## postgresql12-12.4-1PGDG.rhel7 ######################################## postgresql12-libs-12.4-1PGDG.rhel7 ######################################## Mon May 9 02:01:27 PDT 2022 Restarting Postgresql Mon May 9 02:01:40 PDT 2022 Stopping InfluxDB and Kapacitor Mon May 9 02:01:50 PDT 2022 Upgrading influxdb-1.8.3.x86_64.rpm Preparing... ######################################## Updating / installing... influxdb-1.8.3-1 warning: /etc/influxdb/influxdb.conf created as /etc/influxdb/influxdb.conf.rpmnew ######################################## Cleaning up / removing... influxdb-1.5.3-1 ######################################## Mon May 9 02:02:02 PDT 2022 Upgrading kapacitor-1.5.7-1.x86_64.rpm Preparing... ######################################## Updating / installing... kapacitor-1.5.7-1 warning: /etc/kapacitor/kapacitor.conf created as /etc/kapacitor/kapacitor.conf.rpmnew ######################################## Cleaning up / removing... kapacitor-1.5.0-1 ######################################## Mon May 9 02:02:06 PDT 2022 Restarting InfluxDB and Kapacitor Mon May 9 02:02:20 PDT 2022 Stopping Docker Mon May 9 02:02:26 PDT 2022 Upgrading Docker to 19.03.15 warning: container-selinux-2.119.2-1.911c772.el7_8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY Preparing... (1%)##############(100%) Updating / installing... 1:container-selinux-2:2.119.2-1.911 (1%)##############(100%) Cleaning up / removing... 2:container-selinux-2:2.42-1.gitad8 (1%)##############(100%) Preparing... (1%)##############(100%) Updating / installing... 1:docker-ce-cli-1:19.03.15-3.el7 (1%)##############(100%) 2:containerd.io-1.4.4-3.1.el7 (1%)##############(100%) 3:docker-ce-3:19.03.15-3.el7 (1%)##############(100%) /usr/bin/dockerd has not been configured as an alternative for dockerd Cleaning up / removing... 4:docker-ce-3:18.09.6-3.el7 (1%)##############(100%) 5:containerd.io-1.2.5-3.1.el7 (1%)##############(100%) 6:docker-ce-cli-1:18.09.6-3.el7 (1%)##############(100%) Mon May 9 02:04:11 PDT 2022 Restarting Docker Mon May 9 02:04:29 PDT 2022 Restarting services Mon May 9 02:04:59 PDT 2022 RPM installation completedSample log : For upgrade to Release 26.2.1, sample log entries may include:[root@iot-fnd opt]# rpm -Uvh --force upgrade-ova-26.2.1-120.rpm Verifying... ################################# [100%] Preparing... ################################# [100%] Updating / installing... 1:upgrade-ova-26.2.1-120 ################################# [100%] Deleting /var/lib/docker/volumes/fogd_data/_data/dist/appmgr/extensions/fnd/dependencies... Deletion complete. Started installer in background. Please check ~/rpm.log in few minutes for details. IP address migration will run automatically after all installations complete. [root@iot-fnd opt]# Sat Sep 19 02:28:00 PM IST 2026 Background installer started Sat Sep 19 02:28:00 PM IST 2026 Please wait until the 'RPM installation completed' message is logged Sat Sep 19 02:28:00 PM IST 2026 Upgrading cgms-postgres-26.2.1-120.pg.x86_64.rpm Verifying... ######################################## Preparing... ######################################## Updating / installing... cgms-postgres-26.2.1-120.pg ######################################## Cleaning up / removing... cgms-postgres-5.1.0-155 ######################################## Sat Sep 19 02:28:05 PM IST 2026 Upgrading cgms-influx-26.2.1-120.x86_64.rpm Verifying... ######################################## Preparing... ######################################## Updating / installing... cgms-influx-26.2.1-120 ######################################## Cleaning up / removing... cgms-influx-5.1.0-155 ######################################## Sat Sep 19 02:28:09 PM IST 2026 monit-5.33.0-1.el9 already installed on RHEL 9 Sat Sep 19 02:28:09 PM IST 2026 Already running Postgresql 16.7 Sat Sep 19 02:28:09 PM IST 2026 Using PostgreSQL version 16 for configuration path. ALTER ROLE ALTER ROLE ALTER ROLE ALTER ROLE ALTER ROLE ALTER ROLE setting idle_in_transaction_session_timeout to 3h set idle_in_transaction_session_timeout to 3h Sat Sep 19 02:28:12 PM IST 2026 Already running influxdb 1.8.3 Sat Sep 19 02:28:12 PM IST 2026 Already running docker-ce 24.0.5-1.el9 Sat Sep 19 02:28:12 PM IST 2026 Checking for IP address migration Sat Sep 19 02:28:12 PM IST 2026 Running IP address migration script... Sat Sep 19 02:31:46 PM IST 2026 IP migration completed. Check /var/log/ip-migration.log for details Sat Sep 19 02:31:46 PM IST 2026 RPM installation completed
The upgrade of Cisco IoT FND on OVA is complete.
NoteWhen upgrading to Cisco IoT FND Release 26.2.1, Fog Director configurations may take up to 10 additional minutes to complete. This can increase the total upgrade time by up to 10 minutes.
What to do next
For the Cisco IoT FND host in this deployment, use the fnduser account for SSH access after upgrade. Direct SSH login as root is disabled by default. When root privileges are required after that, log in as fnduser and run sudo -i.