This guide explains how to upgrade your software for the Itential Automation Platform (IAP).
Prerequisites
- Please review all Breaking Changes in the Product Notices section before upgrading IAP.
- Itential currently supports the use of
MongoDB 4.2.xon all released IAP versions. If you are using an earlier version it is recommended that you upgrade.
Steps to Upgrade IAP Software
To upgrade the core IAP software from 2018.3 or 2019.1:
Verify the latest version of IAP has been copied to the server. You can acquire the link for this build from the portal.
The upgrade will capture your latest
/opt/pronghorn/current/properties.jsonfile and use it for your upgraded installation.Shutdown IAP.
Refer to the
Installing Dependenciessection in theIAP Installation Guideto ensure that all dependency requirements have been met prior to continuing.Change,
cd, to the directory where the latest IAP install build.binfile is stored.Run the following command to upgrade IAP (add -v for verbose output).
bash pronghorn-<build-id>.linux.x86_64.bin -pChange,
cd, to the migration script directory./opt/pronghorn/current/node_modules/@itential/pronghorn-core/migration_scriptsRun the migration script.
node migratePropertiesToDatabase.jsImportant Notes
Running
node migratePropertiesToDatabase.js unattendedwill automatically respondyesto all prompts, requiring no user input.During an upgrade, a database backup will be triggered via installer script. For instances where IAP is connected via SSL to a mongo database and mongo is configured with the
requireSSLproperty, the backup may fail with the following message:Failed: error connecting to db server: no reachable servers.A mongo database backup can be created using a mongodump command like this:
sudo mongodump --ssl --db pronghorn --host $hostname --port 27017 --username $mongoUsername --password $MONGOPASS --sslCAFile $pathToCert
Respond to the migration script prompts to match the deployment environment.
Retrieving properties.json file... Found properties. Connecting to Database... Are you sure you want to delete the following databases: iap_profiles service_configs (y)es (n)o y y No service_configs collection detected, skipping. No iap_profiles collection detected, skipping. RabbitMQ hostname and port are currently set to "localhost:5671". Do you wish to keep these? (y)es (n)o y y Retaining localhost:5671 Would you like to run WITHOUT SSL? (y)es (n)o y y RabbitMQ credentials currently set to username: guest password: guest Do you wish to keep these? (y)es (n)o y y Retaining guest credentials RabbitMQ properties: { "protocol": "amqp", "hostname": "localhost", "port": 5672, "username": "guest", "password": "$ENC84ff82395069f15bdb8e014991d32417818a228dad", "locale": "en_US", "frameMax": 0, "heartbeat": 0, "vhost": "/", "certPath": "", "keyPath": "", "passphrase": "guest", "caPath": "" } Backing up properties.json to /opt/pronghorn/itential-1568912783776/properties_9c95343d-51df-41a7-9073-d21f34c840f8.json Loading services... (node:7345) Warning: Use Cipheriv for counter mode of aes-256-ctr Services loaded 8 Generating init file data... Config data generated. Generating DB data... DB data generated. Connection established. Creating databases... Creating service_configs Creating iap_profiles Database creation complete. Creating IAP database config... Collection iap_profiles created! IAP database config created. Creating service configs entries... Collection service_configs created! Service configs entries created. Cleaning up properties.json... Migration complete!Note: The migration script output above assumes that RabbitMQ is running on the same node as IAP, using default RabbitMQ credentials, and has SSL disabled. For security reasons this RabbitMQ configuration is not recommended for a production environment.
The migration script will migrate much of the
/opt/pronghorn/current/properties.jsoncontent to the Mongo database. A backup of the originalproperties.jsonfile is generated during migration and will appear similar to/opt/pronghorn/current/properties_4d37a26d-e5e1-4796-845d-220f09681d65.json.Note any adapter schema errors in startup logs. Errors for adapter schema issues should be fixed in the
properties.jsonfile, or using the System > Adapters view.
Restart IAP & Login
Restart IAP.
Login to verify the service is up.
In the event you are unable to find old automations, tags, etc., run the migration script for the respective application and refresh IAP.
For example, if you are not finding tags created on a previous version of IAP:
Locate the migration script for tags.
cd /opt/pronghorn/current/node_modules/@itential/tags/migration_scriptsRun the script.
node migrateTagRefs.jsRefresh IAP.
If you are still experiencing issues after running the migration script, please log a ticket with the Itential Service Desk. Be sure to provide all necessary information to reproduce the issue and one of our Customer Success Agents will help to address your issue.