Extract the upgrade scripts from the PingIntelligence upgrade package as explained in Common upgrade tasks section
Complete the following steps to upgrade PingIntelligence for APIs Dashboard from version 4.4.1 to 5.0:
  1. Download the PingIntelligence Dashboard for APIs 5.0 binary. Copy the binary to a temporary directory and extract it.
    # cp pi-api-dashboard-5.0.tar.gz ~/pi-tmp/
    # cd ~/pi-tmp/
    # tar -xvf pi-api-dashboard-5.0.tar.gz
    
  2. Change the following variables in the upgrade.properties config file available in the ~/pi-tmp/pingidentity/upgrade/dashboard/config/ directory.
    Note: If Elasticsearch component is running on AWS, then make sure the value of Elasticsearch distribution type is set to aws in both WebGUI.properties and dashboard.properties. For more information see, Configure WebGUI properties - webgui.properties and Configure Dashboard properties - dashboard.properties.
    • When Elasticsearch component is on the same host.
      source.dashboard.dir=<dashboard installation path for 4.4.1>
      upgrade.dashboard.binary=<path of 5.0 binary>
      
      For example:
      # vim ~/pi-tmp/pingidentity/upgrade/dashboard/config/dashboard.properties
      source.dashboard.dir= /home/pi-user/pingidentity/
      upgrade.dashboard.binary= ~/pi-tmp/pi-api-dashboard-5.0.tar.gz
      .
      .
      
      Note: When the Elasticsearch component is on a remote host, set the value of upgrade.elasticsearch.url with the Elasticsearch URL on the remote host. If the Elasticsearch component is on the same host as PingIntelligence Dashboard, do not populate it.
    • When Elasticsearch component is on a remote host.
      source.dashboard.dir=<dashboard installation path for 4.4.1>
      upgrade.dashboard.binary=<path of 5.0 binary>
      upgrade.elasticsearch.url= <remote ES URL>
      upgrade.elasticsearch.username= <elasticsearch username>
      
      For example:
      # vim ~/pi-tmp/pingidentity/upgrade/dashboard/config/dashboard.properties
      source.dashboard.dir= /home/pi-user/pingidentity/
      upgrade.dashboard.binary= ~/pi-tmp/pi-api-dashboard-5.0.tar.gz
      upgrade.elasticsearch.url= https://255.255.255.255:9200/
      upgrade.elasticsearch.username= changeme
      Note: Do not set the value of upgrade.elasticsearch.username, if Elasticsearch on the remote host doesn’t support authentication. If authentication is supported, then enter the password for Elasticsearch when prompted at the terminal of the remote host.
  3. Stop all the 4.4.1 components in the following order:
    • Stop WebGUI by entering the following command.
      # /<PI Dashboard installation path>/pingidentity/webgui/bin/stop.sh
      For example
      # /home/pi-user/pingidentity/webgui/bin/stop.sh
      If WebGUI is running as a service, then run the following command.
      # systemctl stop pi-webgui.service
    • Stop Dashboard data engine by entering the following command.
      # /<PI Dashboard installation path>/pingidentity/dashboard/bin/stop.sh
      For example
      # /home/pi-user/pingidentity/dashboard/bin/stop.sh
      If Dashboard data engine is running as a service, then run the following command.
      # Systemctl stop pi-dashboard.service
    • Stop Kibana by entering the following commands
      # kill -15 `ps -ef | grep node | grep cli | grep -v grep | awk '{print $2}'
      If Kibana is running as a service, then run the following command.
      # Systemctl stop pi-kibana.service
    • Stop Elasticsearch by entering the following commands.
      # kill -15 `ps -ef | grep elasticsearch| grep java| grep -v grep | awk '{print $2}'`
      If Elasticsearch is running as a service then use the followinig command.
      # Systemctl stop pi-elasticsearch.service
    Note: Ignore the step if Elasticsearch is hosted on a remote machine.
  4. After the components are stopped, back up the listed directories using following commands:
    • WebGUI
      # mkdir ~/pi-tmp/webgui_bkup
      # cd ~/pi-tmp/webgui_bkup
      # cp -R ~/pingidentity/webgui/config ~/pi-tmp/webgui_bkup
      # cp -R ~/pingidentity/webgui/data ~/pi-tmp/webgui_bkup
      # cp -R ~/pingidentity/webgui/logs ~/pi-tmp/webgui_bkup
      
      
    • Dashboard data engine
      # mkdir ~/pi-tmp/dashboard_bkup
      # cd ~/pi-tmp/dashboard_bkup
      # cp -R ~/pingidentity/dashboard/config ~/pi-tmp/dashboard_bkup
      # cp -R ~/pingidentity/dashboard/logs  ~/pi-tmp/dashboard_bkup
      
    • Kibana
      # mkdir ~/pi-tmp/kibana_bkup
      # cd ~/pi-tmp/kibana_bkup
      # cp -R ~/pingidentity/kibana/config ~/pi-tmp/kibana_bkup
      
    • Elasticsearch
      # mkdir ~/pi-tmp/elasticsearch_bkup
      # cd ~/pi-tmp/elasticsearch_bkup
      # cp -R ~/pingidentity/elasticsearch/config ~/pi-tmp/elasticsearch_bkup
      # cp -R ~/pingidentity/elasticsearch/data ~/pi-tmp/elasticsearch_bkup
      
  5. Navigate to ~/pi-tmp/pingidentity/upgrade/dashboard/bin and execute the upgrade.sh script.
    # cd ~/pi-tmp/pingidentity/upgrade/dashboard/bin
    #./upgrade.sh
    
  6. Verify that the upgrade was successful by entering the following command.
    # cat /<PingIntelligence Dashboard installation path>/pingidentity/dashboard/version.txt
    
    # cat /<PingIntelligence Dashboard installation path>/pingidentity/webgui/version.txt
    
    
    For example
    # cat /home/pi-user/pingidentity/dashboard/version.txt
    # cat /home/pi-user/pingidentity/webgui/version.txt
    
    Note: The upgrade.sh script upgrades all the Dashboard components along with data and configuration parameters.
  7. Start the dashboard components in the following order:
    • Start Elasticsearch by executing the following command
      #./bin/elasticsearch -d -p logs/elasticsearch.pid
      Run the following command to verify the status.
      # curl -XGET -k https://127.0.0.1:9200/_cluster/health?pretty -u elastic:<elastic password>
      Note: Ignore the step if Elasticsearch is hosted on a remote machine.
    • Start the Dashboard data engine by executing the following commands.
      # /<PI Dashboard installation path>/pingidentity/dashboard/bin/start.sh
      
      For example
      # cd /home/pi-user/pingidentity/dashboard
      # ./bin/start.sh
      
      If Dashboard data engine, is running as a service, then run the following command
      # systemctl start pi-dashboard.service
      To verify the successful start of dashboard service run the following command.
      # ls -al data/dashboard.touch
    • Start Kibana.
      # cd /home/pi-user/pingidentity/kibana
      # ./bin/kibana > logs/kibana.log 2>&1 &
      
      If Kibana is running as a service, then
      # Systemctl start pi-kibana.service	
    • Start WebGUI
      # /<PI Dashboard installation path>/pingidentity/webgui/bin/start.sh
      For example
      # cd ../webgui/
      # ./bin/start.sh
      # https://<ip>:8030/
      
      If WebGUI is running as a service, then run the following command
      # systemctl start pi-webgui.service
If the upgrade process fails due to timeout or any other reason halt the ongoing process, restore the backups, and restart the process by completing the following steps:
  1. Stop the dashboard components as explained in step-3.
  2. Restore the backed up files into the component directories.
    Important: Delete any existing residual data before restoring the backed up Elasticsearch data.
    # cd /home/pi-user/pingidentity/elasticsearch
    # rm -rf data/*
    # cp ~/pi-tmp/elasticsearch_bkup/data/* data/
    
  3. Resume the upgrade process from step-5.
Note: It is recommended to not populate the pi.webgui.ase.url parameter in the WebGUI.properties file, if ASE is not reachable from WebGUI. For more information, see Configure WebGUI properties - webgui.properties.
Proceed to Step-4 Upgrading ASE