Skip to main content

Upgrade from 2018.3

Follow these instructions to upgrade from 2018.3 to 2018.4.

Important

You have to run the Promote upgrade script from a machine with SSH access to your Promote cluster.

Pre-Upgrade Checks

Make sure you walk through each of these steps before running the 2018.1 script.

1. Update Promote's base image for Python to yhat/promote-python:2018.4.1.

Under the Admin tab in the Promote UI, navigate to the Advanced settings. There, input yhat/promote-python:2018.4.1 in the appropriate field to upgrade the Python base image.

Wait for the base image to upgrade. (Normally you see a status bar for the upgrade, but in some cases, you may see only a circular loading indicator. In that case, wait five minutes and then refresh the page. You should see that you successfully updated the base image.)

2. Update Promote's base image for R to yhat/promote-r:2018.4.

Under the Admin tab in the Promote UI, navigate to the Advanced settings. There, input yhat/promote-r:2018.3.1 in the appropriate field to upgrade the R base image.

Wait for the base image to upgrade. (Normally you see a status bar for the upgrade, but in some cases, you may see only a circular loading indicator. In that case, wait five minutes and then refresh the page. You should see that you successfully updated the base image.)

3. If you intend to deploy new R models to Promote version 2018.4, make sure you've installed the correct version of R client:

# The correct version is 1.1.0 for Promote 2018.4

library(promote)
packageVersion("promote")

If you don't have version 1.1.0 of the Promote R client, install it:

# You need the devtools package to install older versions of the Promote R client

install.packages("devtools")

# Use install_versions(), located in devtools, to install the correct version of the R client

require(devtools)
install_versions("promote", version = "1.1.0")

# Now make sure you have the correct version of the R client

packageVersion("promote")

Upgrade Instructions

Open the upgrade script using a text editor (such as vi):

vi PATH/TO/upgrade_to_2018.4.1.sh

After you open the file, it should look like this:

NODE_1_IP=''
NODE_2_IP=''
NODE_3_IP=''
NODE_1_INT_IP=''
NODE_2_INT_IP=''
NODE_3_INT_IP=''
SSH_USER=''
KEY_PATH='' # Path on local machine

Within each set of single quotation marks, use vi to insert this information:

  • External IP addresses of the nodes that are already a part of your Promote cluster

  • Internal IP addresses of the nodes that are already a part of your Promote cluster

  • SSH user and key file

When you finish updating the empty fields with needed information, the file should look like this:

NODE_1_IP='NODE1_EXTERNAL_IP'
NODE_2_IP='NODE2_EXTERNAL_IP'
NODE_3_IP='NODE3_EXTERNAL_IP'
NODE_1_INT_IP='NODE1_INTERNAL_IP'
NODE_2_INT_IP='NODE2_INTERNAL_IP'
NODE_3_INT_IP='NODE3_INTERNAL_IP'
SSH_USER='USERNAME_FOR_SSH'
KEY_PATH='PATH/TO/SSH/KEY' # Path on local machine

Now that you've provided needed information to the upgrade script, run it:

sh upgrade_to_2018.3.1.sh

The script prompts you to clean up old Promote instances. Answer y to clean up those instances. (The only reason to answer nhere is if you've already run this script and you received an error message when you tried to answer with y.)

The script kicks off several upgrade actions on your nodes:

1. Your manager node performs these actions:

  • Stops Promote

  • Waits about 10 seconds for Promote services to shut down

2. All nodes perform these actions:

  • Replace the promote.yml compose file

  • Replace the updateImages.py file

3. Promote then restarts, which triggers a redeploy of all models.

After the script completes, wait for Promote services to build the UI and verify that it is up and running. You can watch these services generate:

watch -n .3 docker service ls

Check the Promote UI to verify that it is running and that all your models successfully redeploy.

Troubleshoot

If a model fails to redeploy, select the Redeploy button in the UI to trigger manual redeploy. Find the Redeploy button under the Advanced settings for your model. If manual redeploy fails to resolve the problem, contact Alteryx Support.