Skip to main content

Upgrade from 2018.4

Follow these instructions to upgrade from 2018.4 to 2019.1.

Importante

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 2019.1 script.

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

Under the Admin tab in the Promote UI, navigate to the Advanced settings. There, input yhat/promote-python:2019.1.0 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:2019.1.0.

Under the Admin tab in the Promote UI, navigate to the Advanced settings. There, input yhat/promote-r:2019.1.0 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 2019.1, make sure you've installed the correct version of the R client:

# The correct version is 1.1.1 for Promote 2018.4

library(promote)
packageVersion("promote")

If you don't have version 1.1.1 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.1")

# 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_2019.1.0.sh

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

NODE_1_IP=''
NODE_2_IP=''
NODE_3_IP=''

SSH_USER=''
KEY_PATH=''

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

  • 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'

SSH_USER='USERNAME_FOR_SSH'
KEY_PATH='PATH/TO/SSH/KEY'

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

sh upgrade_to_2019.1.0.sh

The script prompts you to make a couple selections. Confirm that all information is correct by providing either a yes or no response to each prompt:

  • If the script detects a custom-overlay subnet configuration in the promote.yml file on your nodes, it asks if you would like to maintain it. We recommend that you answer yes if you see this prompt. Answer no to remove your custom subnet configuration and continue with default settings.

  • The script asks if Promote is currently running. If so, answer yes, because you must stop Promote to upgrade (unless you are troubleshooting a problem with support).

After you make those selections, 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.

  • Upgrade Docker from version 17.09 to 18.09.

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 you experience a browser error when you try to reload the UI, delete your Promote browser cookie. Reload the UI.

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.