Upgrading your Anka Controller and Registry

📘

Upgrade your Anka environment

Part of our shared responsibility model puts the upgrade process for your Anka environment into the customer's control. The Anka Controller and Registry are considered Infrastructure that MacStadium provides to our customers and they are given SSH access to the Controller as well as SSH and VNC access to their Anka nodes to perform these upgrades.

The following information documents the process you can follow for upgrading your environments. As a best practice, please review the documentation on the Anka website to ensure you are following the latest steps.

If you run into any difficulties or have issues accessing your controller, please do not hesitate to reach out to the MacStadium team and we'll be happy to provide whatever assistance we can.

You can also reach out to Veertu in the following ways for direct support on the Anka product line. Let them know you are using the MacStadium Anka Cloud and they will help you resolve any and all software-related problems.

Deciding when to upgrade

Veertu's published pre-upgrade considerations will help you to decide when your team ought to upgrade your controller and registry.

Gaining access to your Anka controller environment

  1. Collect the Anka Controller IP address and the associated password from your IP Plan.
  2. With a VPN connection to your Anka environment open, SSH into the Anka Controller with the following command:
ssh anka@<IP ADDRESS>
password: <PASSWORD>

Gaining access to your Anka controller environment

  1. Collect the Anka Controller IP address and the associated password from your IP Plan.
  2. With a VPN connection to your Anka environment environment open, SSH into the Anka Controller with the following command.
ssh anka@<IP ADDRESS>
password: <PASSWORD>

Gaining access to your Anka directory

Change to the Anka directory with cd/anka and elevate privilege by running sudo su

Backing up your docker-compose.yml file

Once you've SSHed into the server, you'll first want to back up your docker-compose.yml file to save yourself the trouble of resetting ports and volume mounts in a fresh file later should something go awry.

Download and install the upgrade

NOTE: The following update will not affect your stored VM templates. However, it is highly recommended that you suspend CI jobs, and allow any remaining jobs to complete, prior to the upgrade process.

  1. Download and extract the latest version of the controller and registry by running the following:
FULL_FILE_NAME=$(echo $(curl -Ls -r 0-1 -o /dev/null -w %{url_effective} https://veertu.com/downloads/ankacontroller-registry-docker-latest) | cut -d/ -f5)
PARTIAL_FILE_NAME=$(echo $FULL_FILE_NAME | awk -F'.tar.gz' '{print $1}')
mkdir -p $PARTIAL_FILE_NAME
cd $PARTIAL_FILE_NAME
curl -Ls https://veertu.com/downloads/ankacontroller-registry-docker-latest -o $FULL_FILE_NAME
tar -xzvf $FULL_FILE_NAME
  1. Copy your docker-compose.yml file from the previous installation into your newly extracted directory.
cp <old_anka-controller-registry...>/docker-compose.yml <new_anka-controller-registry...>/docker-compose.yml
  1. Copy your /controller/controller.env file from the previous installation into your newly extracted directory.
cp <old_anka-controller-registry...>/controller/controller.env <new_anka-controller-registry...>/controller/controller.env
  1. Stop and remove the currently running deployment by running the following from within the original installation's directory:
docker-compose -f docker-compose.yml down
  1. Restart the containers with updated source code by running the following within the newly extracted directory:
docker-compose -f docker-compose.yml up -d --build

Install proper agent version across associated nodes

Veertu recommends this step to ensure the compatibility of the nodes with the newly updated controller and registry. They provide an API endpoint that will allow you to automate the node updates via the controller.

Additional support

We recommend contacting Veertu directly for product-focused support. You may reach them by email at [email protected], or on Slack at https://slack.veertu.com/

Lastly, If you have a legacy environment (pre 1.16.0-05de337e), please open a support ticket, so we can assist you and Veertu with the upgrade.