Swimlane 10.11.3 Upgrade Instructions
Use these instructions to upgrade your instance of Swimlane 10.x.
Upgrade Swimlane 10.11.3_480 on Embedded Online Cluster Installations
Use the following instructions to upgrade this version of Swimlane on an embedded cluster installation.
Prerequisites:
- Swimlane version 10.6 or greater. If you are not on a version that is > 10.6, contact your Swimlane support representative.
- MongoDB 4.4.11
Important! Swimlane recommends that you perform a MongoDB backup prior to starting this update. For more information, see Backup and Restore on an Embedded Cluster with Snapshots.
Upgrade Instructions:
- SSH into any node in your deployment and execute the following commands to begin the Swimlane Platform Installer component upgrade: $ kubectl annotate crd prometheuses.monitoring.coreos.com kubectl.kubernetes.io/last-applied-configuration- $ curl -sSL https://kurl.sh/swimlane-platform-stable-10-11-3 | sudo bash -s ha load-balancer-address=<SwimlaneDNS>:6443 NOTE: If you have configured SELinux, append this to the command above: installer-spec-file=se.yaml0
- For a multi-node (HA) cluster, the script prompts you to drain node one (1) and apply the upgrade. Once the upgrade on node one (1) is complete, the process continues running. It then asks for confirmation to drain node two (2) as well as a command to run in that node. See this example:
- Run the upgrade command on the node that was drained. Use kubectl get nodes -o wide to find the IP of the node that was drained. The primary script that ran in node 1 will detect that node 2 has been upgraded, and will now ask to drain and upgrade node three (3). Follow the same steps for node 2 to complete the upgrade.
- Once the additional nodes are complete, press Enter in the terminal window of the first node in which you ran the install command to complete the installation.
- Log in to the Swimlane Platform Installer dashboard (https://<SwimlaneDNS>:8800).
- Go to the Version History tab and look for version 10.11.3_480If this version doesn’t show up initially, click Check For Updates.
- A pop-up window appears, click Go to updated version.
- Click Deploy on the new 10.11.3_480 version with the highest sequence number at the top of the versions list.
- Once the Application tab shows ‘Ready’ your upgrade is complete.
See Update the Swimlane Python Driver Python Package if you want to update the driver at this time.
Upgrade Swimlane 10.11.3_480 on Existing Online Cluster Installations
Prerequisites:
- Swimlane version 10.6 or greater If you are not on a version that is > 10.6, contact your Swimlane support representative.
- MongoDB 4.4.11
- Kubernetes 1.19-1.24
- KOTS kubectl plugin 1.90.0
- Velero 1.9.x
Important! Swimlane recommends that you perform a MongoDB backup prior to starting this update. For more information, see Backup and Restore on an Existing Cluster with Snapshots.
Upgrade Instructions:
- Download the SPI kubectl add-on version 1.90.0: $ curl https://kots.io/install/1.90.0 | bash
- Next, upgrade the Swimlane Platform Installer (SPI): $ kubectl kots admin-console upgrade -n <namespace>
- Download Velero 1.9.2 for your OS version: https://github.com/vmware-tanzu/velero/releases/tag/v1.9.2 For example: $ curl -sSL https://github.com/vmware-tanzu/velero/releases/download/v1.9.2/velero-v1.9.2-linux-amd64.tar.gz -o velero-v1.9.2-linux-amd64.tar.gz Untar the file and then change directory (cd) into the uncompressed directory: $ tar -zxf <FILENAME>.tar.gz$ cd <DIRECTORY>
- Update Velero custom resource definitions: $ ./velero install --crds-only --dry-run -o yaml | kubectl apply -f -
$ kubectl set image daemonset/restic restic=velero/velero:v1.9.2 --namespace velero Note: This update may take a minute in order to get the new pods rolled out.
- Update the images Velero and Restic use to 1.9.2. $ kubectl set image deployment/velero velero=velero/velero:v1.9.2 --namespace velero
- Confirm that both the client and server versions are on the same 1.9.2 release: $ ./velero version
- Log in to the Swimlane Platform Installer dashboard (https://<SwimlaneDNS>:8800).
- Go to the Version History tab and look for version 10.11.3_480 If this version doesn’t show up initially, click Check For Updates. If you are asked to configure, scroll to PostgreSQL
- On PostrgreSQL Settings, input values for the required fields and then click Save config. PostgreSQL requires a persistent volume, so you must set a PVC storageclass. The default size is 8 GB.
- A pop-up window appears, click Go to updated version or visit the Version History tab.
- Click Deploy on the new 10.11.3.480 version with the highest sequence number at the top of the versions list.
- Once the Application tab shows ‘Ready’ your upgrade is complete.
See Update the Swimlane Python Driver Python Package if you want to update the driver at this time.
Upgrade Swimlane 10.11.3_480 on Embedded Airgap Cluster Installations
Prerequisites
- Swimlane version 10.6+If you are not on a version that is > 10.6, contact your Swimlane support representative.
- MongoDB 4.4.11
- Links to the Offline Installer Package and Offline Airgap Bundle If you do not have these linked, contact your Swimlane support representative.
Important! Swimlane recommends that you perform a MongoDB backup prior to starting this update. For more information, see Backup and Restore on an Embedded Cluster with Snapshots.
Upgrade Instructions:
- Copy the latest offline installer package to each airgapped server. Untar the offline installer package on each server. $ tar -xzvf swimlane-platform-10.11.3_471.tar.gz
- Run this command on any node in your deployment before the upgrade can start, it removes an annotation from a Prometheus resource. $ kubectl annotate crd prometheuses.monitoring.coreos.com kubectl.kubernetes.io/last-applied-configuration-
- Run the Swimlane Platform Installer update on any node in your deployment: $ cat install.sh | sudo bash -s airgap ha
- Once the install is complete, if you have a multi-node (HA) cluster, the script prompts you to run an additional command on every node.
Run this script on node swimlane-2 to load required images before proceeding:
- Run cat ./tasks.sh | sudo bash -s load-images on nodes two (2) and node three (3) before proceeding to run the command on node one (1). This command can be run simultaneously on nodes 2 and 3. Once the load-images script completes on nodes 2 and 3, enter Y in the node 1 terminal session twice.
- The install script now runs on node 1 for a few minutes. Once it completes, follow the prompts to run the upgrade script on nodes 2 and 3, similar to this example (the IP address will depend on your deployment):
- When both upgrade scripts are complete, press Enter on node 1 and then upload the airgap bundle to the SPI dashboard.
- Log in to the Swimlane Platform Installer dashboard (https://<SwimlaneDNS>:8800).
- Go to the Version History tab and look for version 10.11.3_480. If this version doesn’t show up initially, click Check For Updates
- Browse to the swimlane-platform-10.11.3_480.airgap file and click upload. Once the upload of the airgap completes, refresh the page or switch tabs to see the status of the file extraction.
- Go back to the Version History tab and click Deploy on the new 10.11.3_480 version with the highest sequence number at the top of the versions list.
- Once the Application tab shows ‘Ready’ your upgrade is complete.
See Update the Swimlane Python Driver Python Package if you want to update the driver at this time.
Upgrade Swimlane 10.11.3_480 on Existing Airgap Cluster Installations
Prerequisites
- Swimlane version 10.6+ If you are not on a version that is > 10.6, contact your Swimlane support representative.
- MongoDB 4.4.11
- Kubernetes 1.19-1.24
- KOTS kubectl plugin 1.90.0
- Velero 1.9.x
Important! Swimlane recommends that you perform a MongoDB backup prior to starting this update. For more information, see Backup and Restore on an Existing Cluster with Snapshots.
Upgrade Instructions:
- Download the SPI Kubectl Add-on version 1.90.0: $ curl -sSL https://github.com/replicatedhq/kots/releases/download/v1.90.0/kots_linux_amd64.tar.gz -o kots_linux_amd64.tar.gz
- Download the latest SPI offline package: https://get.swimlane.io/existing-cluster/install/offline-package
- Copy the SPI Kubectl Add-on and SPI offline packages to your jumpbox: $ scp kots_linux_amd64.tar.gz user@<swimlaneDNS>:/tmp/kots_linux_amd64.tar.gz $ scp kotsadm.tar.gz user@<swimlaneDNS>:/tmp/kotsadm.tar.gz
- Untar the SPI Kubectl Add-on: $ tar -zxvf kots_<OS version>.tar.gz
- Rename or remove the original kubectl-kots file: $ rm /usr/local/bin/kubectl-kots
- Rename and move the latest SPI Kubectl Add-on file to /usr/local/bin/kubectl-kots $ mv kots kubectl-kots$ mv kubectl-kots /usr/local/bin/
- Download Velero 1.9.2 to the jumpbox for the jumpbox's OS version: https://github.com/vmware-tanzu/velero/releases/tag/v1.9.2
- Untar the file and then change directory into the uncompressed directory: $ tar -zxf <FILENAME>.tar.gzcd <DIRECTORY>
- Update Velero custom resource definitions: $ ./velero install --crds-only --dry-run -o yaml | kubectl apply -f -
- Download the new Velero images and push them to your private registry from your jumpbox. For specific steps on how to download and push new Velero images, see Download and Push New Velero Images.
- Update the images Velero and Restic are using to 1.9.2 (this update will take a minute to get new pods rolled out): $ kubectl set image deployment/velero velero=<my-registry>/<my-namespace>velero/velero:v1.9.2 --namespace velero $ kubectl set image daemonset/restic restic=<my-registry>/<my-namespace>velero/velero:v1.9.2 --namespace velero Note: This update may take a minute in order to get the new pods rolled out.
- Confirm both client and server version are on the same 1.9.2 release: $ ./velero version
- Push the SPI (kotsadm) images to your registry: $ kubectl kots admin-console push-images kotsadm.tar.gz <your-registry-endpoint>/<your-registry-name> --registry-username <username> --registry-password <password>
- Next, upgrade the Swimlane Platform Installer (SPI): $ kubectl kots admin-console upgrade --kotsadm-registry <your-registry-endpoint>/<your-registry-name> --registry-username <username> --registry-password <password> -n <namespace> When the SPI upgrade is complete, upload the Swimlane airgap bundle to the SPI dashboard.
- Log in to the Swimlane Platform Installer dashboard (https://<SwimlaneDNS>:8800).
- Go to the Version History tab and click Upload a new version, then browse to the swimlane-platform-10.11.3_480.airgap file and click Upload. Once the upload of the airgap completes, refresh the page or switch tabs to see the status of the file extraction.
- Go to the Version History tab - you will see a version for 10.11.3_480. If you are asked to configure, scroll to PostgreSQL.
- On PostgreSQL Settings, input the values for the required fields and then click Save config. PostgreSQL requires a persistent volume, so you must set a PVC storageclass. The default size is 8 GB.
- A pop-up window appears, click Go to updated version or visit the Version History tab.
- Click Deploy on the new 10.11.3_480 version with the highest sequence number at the top of the versions list.
- Once the Application tab shows ‘Ready’ your upgrade is complete.
See Update the Swimlane Python Driver Python Package if you want to update the driver at this time.
Update the Swimlane Python Driver Python Package
Beginning with Swimlane version 10.2.0, the Python Driver swimlane Python package must be manually updated after an upgrade.
- Delete the old swimlane Python package.
- Update the swimlane Python package in the Swimlane UI to version 10.9.1If this is an embedded airgapped upgrade, please download the swimlane Python wheel (.whl) package from here and update it in the Swimlane UI.
- Restart the Swimlane API and tasks pods with this command: kubectl rollout restart deployments/swimlane-api deployments/swimlane-tasks
Download and Push New Velero Images
Use these commands to download and push new Velero images.
Troubleshooting
- On rare occasion, pgpool has been reported to be in an unhealthy state after an update. To remediate, restart the pgpool deployment object.
kubectl rollout restart deployment postgresql-pgpool --namespace <namespace>