Swimlane 10.26.0 Upgrade Instructions
Use these instructions to upgrade your Swimlane 10.x instance. The instructions are divided into subsections that guide you through the upgrade process based on your installation type, whether it is an embedded installation or an existing cluster.
ο»ΏEnd of Support for Red Hat Enterprise Linux 8 (RHEL 8)ο»Ώ
RHEL 8 is no longer a supported operating system for Swimlane 10x. Beginning with Swimlane 10.25.0, Kubernetes is updated to version 1.33, which does not support RHEL 8 (specifically, Linux kernel versions 4.18 and earlier). All customers running RHEL 8 must upgrade to RHEL 9 before upgrading to Swimlane version 10.25.0 or greater. You can use the following to determine your host's current RHEL version: cat /etc/redhat-release
Upgrade Swimlane on Embedded Cluster Installations
Use the following instructions to upgrade this version of Swimlane on an embedded cluster installation.
Prerequisites:
- Swimlane version 10.25.2 or later. If you are not on a version that is 10.25.2 or later, contact your Swimlane support representative.
- MongoDB 8.0.26
Important! Swimlane recommends that you perform a MongoDB backup before starting this update. For more information, see Backup and Restore on an Embedded Cluster with Snapshots.
If Swimlane uses an external MongoDB, scale down the cluster by setting the replicas for deployments and stateful sets (STS) to 0. Then upgrade your external MongoDB servers to version 8.0.29 and follow the upgrade instructions.
During the startup of the external MongoDB process, use the following commands:
Upgrade Instructions:
- SSH into any node in your deployment and execute the following command to begin the Swimlane Platform Installer component upgrade: $ curl -sSL https://kurl.sh/swimlane-platform-stable-10-26-0 | sudo bash -s ha NOTE: If you have configured SELinux, add the following to the end of the command above: installer-spec-file=se.yaml
- A Kubernetes upgrade may be required depending on the current version in your environment. 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. For example: β Kubernetes host packages installed node/ip-10-1-0-147.swimlane.io already uncordoned Drain node ip-10-1-0-186.swimlane.io to prepare for upgrade? (Y/n) y ... pod/swimlane-syslog-receiver-86f79c8fd6-2rvwt evicted pod/swimlane-tasks-5dfd4d5f94-tkrb2 evicted node/ip-10-1-0-186.swimlane.io evicted Run the upgrade script on remote node to proceed: ip-10-1-0-186.swimlane.io curl https://kurl.sh/swimlane-platform-stable-10-26-0/upgrade.sh | sudo bash -s kubernetes-version=1.35.7
- 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 3. Follow the same steps for node 2 to complete the Kubernetes portion of the upgrade.
- Once the additional nodes are complete, press Enter in the terminal window of the first node on 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 locate the newly published version. If this version doesnβt appear initially, click Check for Updates.
- A pop-up window appears, click Go to updated version.
- Click Deploy on the new 10.26.0 version with the highest sequence number at the top of the versions list (currently 10.26.0_XXX).
- Once the Application tab shows βReadyβ, your upgrade is complete.
NOTE: Certificate Authority Update for MongoDB (Ensure all MongoDB pods are restarted) # Certificate Authority Update for MongoDB ## Scope: Manual intervention only applies to HA Upgrades. Single-node and New installs are not affected. As part of this release, we are introducing cert-manager to automate the lifecycle of MongoDB certificates. Previously, MongoDB used long-lived static certificates generated automatically. With this change, MongoDB certificates will now be managed by cert-manager and issued by a new Certificate Authority (CA). Because the CA is changing, MongoDB will not automatically trust the new certificates until all MongoDB pods have been restarted. This step is required to avoid connectivity issues between MongoDB nodes. # Impact Action required: Potential manual restart of all MongoDB pods after applying the upgrade. Downtime: A brief downtime will occur while MongoDB pods restart, as all members of the replica set must be cycled to pick up the new CA. The cycling of MongoDB pods should complete on its own without the need for intervention in most cases. However, if the rollout is stuck for more than 15 minutes, it may be required to restart the MongoDB pods manually to pick up the new certificates. See Update the Swimlane Python Driver Python PackageUpdate the Swimlane Python Driver Python Package if you want to update the driver at this time.
Upgrade Swimlane on Existing Cluster Installations
Prerequisites:
- Swimlane version 10.25.2 or later If you are not on a version that is 10.25.2 or later, contact your Swimlane support representative.
- MongoDB 8.0.26
- Kubernetes 1.34.9
- KOTS kubectl plugin 1.130.9
- Velero 1.18.2
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.
ο»ΏUpgrading to Kotsadm v1.130.9ο»Ώ
- Download the latest SPI kubectl add-on for the OS version where you run kubectl commands from: $ curl https://kots.io/install/v1.130.9 | bash $ kubectl kots version The KOTS kubectl plugin version should match what is listed in the prerequisites above.
Upgrading to Velero 1.18.x:
- Verify if velero needs to be updated: $ ./velero version
- Download Velero 1.18.x for your OS version: https://github.com/vmware-tanzu/velero/releases/tag/v1.18.2ο»Ώ
- 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 -
- Upgrade container images as instructed in the Velero article upgrade to 1.18
- Confirm that both the client and server versions are on the same 1.18.2 release: $ ./velero version
Upgrade the Swimlane KOTS application:
- Next, upgrade the Swimlane Platform Installer (SPI): $ kubectl kots admin-console upgrade -n <namespace>
- Log in to the Swimlane Platform Installer dashboard (https://<SwimlaneDNS>:8800).
- Go to the Version History tab and locate the newly published version. If this version doesnβt show up initially, click Check For Updates.
- A pop-up window appears, click Go to updated version or visit the Version History tab.
- Click Deploy on the new 10.26.0 version with the highest sequence number at the top of the versions list.
- Once the Application tab shows Ready, your upgrade is complete.
The cycling of MongoDB pods should complete on its own without the need for intervention in most cases. However, if the rollout is stuck for more than 15 minutes, it may be required to restart the MongoDB pods manually to pick up the new certificates.
Downtime: A brief downtime will occur while MongoDB pods restart, as all members of the replica set must be cycled to pick up the new CA.
Action required: Potential manual restart of all MongoDB pods after applying the upgrade.
# Impact
Because the CA is changing, MongoDB will not automatically trust the new certificates until all MongoDB pods have been restarted. This step is required to avoid connectivity issues between MongoDB nodes.
As part of this release, we are introducing cert-manager to automate the lifecycle of MongoDB certificates. Previously, MongoDB used long-lived static certificates generated automatically. With this change, MongoDB certificates will now be managed by cert-manager and issued by a new Certificate Authority (CA).
# Certificate Authority Update for MongoDB ## Scope: Manual intervention only applies to HA Upgrades. Single-node and New installs are not affected.
NOTE: Certificate Authority Update for MongoDB (Ensure all MongoDB pods are restarted)
See Update the Swimlane Python Driver Python PackageUpdate the Swimlane Python Driver Python Package if you want to update the driver at this time.
Upgrade Swimlane on Embedded Airgap Cluster Installations
Prerequisites:
- Swimlane version 10.25.2 or later. If you are not on a supported version that is 10.25.2 or later, contact your Swimlane support representative.
- MongoDB 8.0.26
- Links to the Offline Installer Package and Offline Airgap Bundle If you do not have these links, 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 air-gapped server. Untar the offline installer package on each server. $ tar -xzvf swimlane-platform-10.26.0_XXX.tar.gz
- Run the Swimlane Platform Installer update on any node in your deployment: $ cat install.sh | sudo bash -s airgap ha
- Once the installation 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: cat ./tasks.sh | sudo bash -s load-images Have images been loaded on node swimlane-2? (Y/n)
- 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): β Kubernetes host packages installed node/ip-10-1-0-147.swimlane.io already uncordoned Drain node ip-10-1-0-186.swimlane.io to prepare for upgrade? (Y/n) y ... pod/swimlane-syslog-receiver-86f79c8fd6-2rvwt evicted pod/swimlane-tasks-5dfd4d5f94-tkrb2 evicted node/ip-10-1-0-186.swimlane.io evicted Run the upgrade script on remote node to proceed: ip-10-1-0-186.swimlane.io cat upgrade.sh | sudo bash -s kubernetes-version=1.34.9 docker-registry-ip=10.96.3.115
- When both upgrade scripts are complete, apply this workaround:
- ο»ΏKnown Kotsadm Issue: A known problem prevents the kotsadm pod from starting with ImagePullBackOff errors after embedded, airgap upgrades. To resolve the problem, these additional steps must be performed on the node where kotsadm is scheduled to start after the KOTS upgrade is complete.ο»Ώ
- $ cd /var/lib/kurl/addons/kotsadm/1.130.9/images $ sudo bash -c 'cat kotsadm-migrations.tar.gz | gunzip | ctr -n=k8s.io images import -' $ sudo bash -c 'cat kotsadm.tar.gz | gunzip | ctr -n=k8s.io images import -' $ sudo kubectl delete pod -l app=kotsadm
- For HA clusters, then execute these commands except for the last one (deleting the kotsadm pod) on each of the remaining nodes.
- Then press Enter on node 1 and 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 click Upload a new version, then browse to the swimlane-platform-10.26.0_XXX.airgap file and click Upload.
- The sequence number β_XXXβ of the airgap file may be higher than shown if a new sequence has been published.
- 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.26.0 version at the top of the versions list.
- Once the Application tab shows βReady', your upgrade is complete.
The cycling of MongoDB pods should complete on its own without the need for intervention in most cases. However, if the rollout is stuck for more than 15 minutes, it may be required to restart the MongoDB pods manually to pick up the new certificates
Downtime: A brief downtime will occur while MongoDB pods restart, as all members of the replica set must be cycled to pick up the new CA.
Action required: Potential manual restart of all MongoDB pods after applying the upgrade.
Impact
Because the CA is changing, MongoDB will not automatically trust the new certificates until all MongoDB pods have been restarted. This step is required to avoid connectivity issues between MongoDB nodes.
As part of this release, we are introducing cert-manager to automate the lifecycle of MongoDB certificates. Previously, MongoDB used long-lived static certificates generated automatically. With this change, MongoDB certificates will now be managed by cert-manager and issued by a new Certificate Authority (CA).
# Certificate Authority Update for MongoDB ## Scope: Manual intervention only applies to HA Upgrades. Single-node and New installs are not affected.
NOTE: Certificate Authority Update for MongoDB (Ensure all MongoDB pods are restarted)
See Update the Swimlane Python Driver Python PackageUpdate the Swimlane Python Driver Python Package if you want to update the driver at this time.
Upgrade Swimlane on Existing Airgap Cluster Installations Prerequisites:
- Swimlane version 10.25.2 or later If you are not on a supported version , contact your Swimlane support representative.
- MongoDB 8.0.26
- Kubernetes 1.34.9
- KOTS kubectl plugin 1.130.9
- Velero 1.18.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.
Upgrading to Kotsadm v1.130.9:
- Download the KOTS Kubectl add-on: Linux: https://github.com/replicatedhq/kots/releases/download/v1.130.9/kots_linux_amd64.tar.gz OSX: https://github.com/replicatedhq/kots/releases/download/v1.130.9/kots_darwin_all.tar.gzο»Ώ
- Download the latest SPI offline package: https://github.com/replicatedhq/kots/releases/download/v1.130.9/kotsadm.tar.gzο»Ώ
- Copy the KOTS Kubectl Add-on and SPI offline packages from your jumpbox to each node: $ scp kots_<OS version>.tar.gz user@<swimlaneDNS>:/tmp/kots_<OS version>.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/
- Verify version: $ kubectl kots version
Upgrading to Velero 1.18.x:
- Verify if velero needs to be updated: $ ./velero version
- Download Velero 1.18 to the jumpbox for the jumpbox's OS version: https://github.com/vmware-tanzu/velero/releases/tag/v1.18.2
- Untar the file and then change directory 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 -
- 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.
- Upgrade container images as instructed in the Velero article
- Confirm both client and server version are on the same 1.18.2 release: $ ./velero version
Upgrade the Swimlane KOTS application:
- 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.26.0_XXX.airgap file and click Upload.
- The sequence number β_XXXβ of the airgap file may be higher than shown if a new sequence has been published
- 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.26.0_XXX.
- Click Deploy on the new 10.26.0_XXX version with the highest sequence number at the top of the versions list.
- Once the Application tab shows βReadyβ your upgrade is complete.
The cycling of MongoDB pods should complete on its own without the need for intervention in most cases. However, if the rollout is stuck for more than 15 minutes, it may be required to restart the MongoDB pods manually to pick up the new certificates.
Downtime: A brief downtime will occur while MongoDB pods restart, as all members of the replica set must be cycled to pick up the new CA.
Action required: Potential manual restart of all MongoDB pods after applying the upgrade.
# Impact:
Because the CA is changing, MongoDB will not automatically trust the new certificates until all MongoDB pods have been restarted. This step is required to avoid connectivity issues between MongoDB nodes.
As part of this release, we are introducing cert-manager to automate the lifecycle of MongoDB certificates. Previously, MongoDB used long-lived static certificates generated automatically. With this change, MongoDB certificates will now be managed by cert-manager and issued by a new Certificate Authority (CA).
# Certificate Authority Update for MongoDB ## Scope: Manual intervention only applies to HA Upgrades. Single-node and New installs are not affected.
NOTE: Certificate Authority Update for MongoDB (Ensure all MongoDB pods are restarted)
See Update the Swimlane Python Driver Python PackageUpdate the Swimlane Python Driver Python Package if you want to update the driver at this time.
Download and Push New Velero Images
ο»ΏUse these commands to download and push new Velero images.ο»Ώ
Troubleshooting
Upgrading may occasionally leave the Hangfire notifications in a corrupted state, causing the swimlane-api and swimlane-tasks pods to crash loop with logs like the following:
Deleting the Hangfire notifications collection in MongoDB resolves this issue.
If dashboards or data do not load correctly after the upgrade, this is typically due to cached frontend assets. Clear browser cache and site data for the Swimlane URL, then perform a hard refresh. If using Cloudflare, purge the Cloudflare cache.
ο»Ώ
ο»Ώ