Tableau have now launched support for Ubuntu 20.04 LTS just in time for 18.04 coming to the end of hardware and update support on April 30, 2023. Extended Security Maintenance will last into 2026, however the desire to move to a supported operating system will be at the forefront of most IT and server admin minds. The great news is that this support isn’t just for 2023.1 onwards, and the latest minor releases of last year’s 2022.1 and 2022.3 now support 20.04, shown below. Any version prior to these is not supported and require updating Tableau Server prior to OS changes.
Supported minor release versions:
This isn’t as visual or appealing to end-users, but it’s critical for server admins to have a secure, maintained and updated operating system that’s future proofed for at least the next two years whilst Tableau work on support for 22.04.
Preferably, you will want to spin up a new machine on 20.04 alongside your current deployment with Tableau Server installed, restore the backup and config, and then switch your load balancer to point at your new machine with minimal downtime and risk. However, that doesn’t work in all situations where cost and resource may be a factor.
With this blog, we’re going to talk about how to complete an in-place upgrade from 18.04 to 20.04 on the machine Tableau is running. We will backup your server, export settings, run over a key checklist and then perform the OS upgrade in steps.
I will be using a single-node deployment on a virtual machine hosted on AWS to perform the steps required, however the steps will be pretty much identical to multi-node, physical machines, and other cloud providers.
I’ll SSH into the machine but SSM, IAP or RDP will also work. Once you have access to your machine, we will want to take precautionary steps before we upgrade the OS, I have tested this several times but it’s always best to be prepared for the worst-case scenario.
The Prep Work
We can run ‘lsb_release -a’ to check the current Ubuntu version:
We will look at some maintenance first. I’ll list the commands below and explain the steps and benefits as well.
- tsm maintenance cleanup -a (this will clear out temp and log files which will speed up the next step and reduce the backup size):
- tsm maintenance backup -f ubuntu_upgrade_backup.tsbak (we will backup the application side of Tableau Server and if possible, store this off the machine in S3, Azure Blob, GCS Buckets or a network drive):
- tsm settings export -f ubuntu_upgrade_config.json (this will store this file in the directory the command is run. You can specify the path prior to the file name. Again, store this off the machine if possible):
In addition to the above, we want to check that we have the SSL cert and key files on hand if this is applied to your server. The same goes for 5AML cert, key and metadata.xml as these aren’t applied on the import of either backup or settings if we lose the server.
That’s the prep work out of the way, so let’s get to upgrading the OS. We will want to stop the server using “tsm stop” and, when fully stopped, “tsm licenses list” to bring up all of your licenses. Take note of your licenses and then use “tsm licenses deactivate -k <license_key>” to deactivate them one at a time.
Next, we need to perform some Ubuntu commands to start off the upgrade:
- sudo apt update && sudo apt upgrade (This will update all packages on 18.04)
- sudo apt install update-manager-core (Installs the Ubuntu update tool)
- sudo do-release-upgrade -c (Verifies the version of Ubuntu to upgrade to. This is a stepped approach so you can’t move from 18.04 to 22.04 as Tableau isn’t compatible with the later)
- sudo do-release-upgrade (Starts to upgrade of the OS)
A new shell will open and start giving updates and prompts on the upgrade. The first is regarding SSH if you have used this method, and you can enter “y” and press “enter,” then hit “enter” again on the next prompt:
You’ll be prompted on packages no longer supported by Canonical which you can then enter “y” and “enter” to move past:
You will start to see updates scrolling and the next prompt will be regarding service restarts and the bypass of prompts. We can select “yes,” and press “enter” again:
Next, we get a prompt regarding LXD. This should auto select 4.0, so we can press “enter” to use this version:
From here, you may receive prompts pertinent to your machine such as overwriting crontab files with a new version, sshd_config or snmpd.conf files. I would recommend keeping existing local files as you may have edited this to work with your current setup and overwriting will lose that configuration:
You will have hit the end of the upgrade when you are prompted to reboot the machine. Type “y” and hit “enter,” wait five minutes while they access your machine again the same way they did previously:
We should now be on a 20.04 Ubuntu machine, so let’s run “lsb_release -a” again and look at the output:
License your server using “tsm licenses activate -k <license_key>” using the keys saved previously and then “tsm start” to start the service:
When this has all started, check the server status with “tsm status -v” and then perform your front-end post-upgrade checks such as login, running an extract and accessing a dashboard:
And that’s it! Your server should now be running Ubuntu 20.04. If you have further questions, or want to see what other help we can provide with your Tableau Server, feel free to reach out!