Upgrade from 2018.3
Follow these instructions to upgrade from 2018.3 to 2018.4.
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 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 n
here 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.