Upgrade from Previous Versions

Upgrading the Genvid Toolbox from one version to another may include some manual steps. This page includes any steps required to update to version 1.45.0 from the last version. If you’re upgrading an older version of the SDK, start with any special upgrade instructions for your version found here.

General Upgrade Instructions

Upgrade the Genvid Toolbox

Important

Since version 1.33, the Genvid Toolbox package no longer depends on the Azure CLI. Instead, it uses the standalone Azure CLI Installer to avoid some dependency conflicts. When upgrading, you might get some conflict errors. However, the installation favors the last package, so your Toolbox installation will be successful despite these messages. As a precaution, you might want to remove the Azure CLI package and its dependencies and use the standalone Azure CLI installer instead.

To set up the Toolbox locally:

  1. Install the new toolbox.

  2. Run the Python script to install the Genvid Toolbox.

    py install-toolbox.py
    
  3. Run the Genvid Bastion script to update your bastion.

    genvid-bastion reinstall --reconfigure --resetconfig -b {mybastion} -uml
    

Update Your Cluster

We strongly recommend keeping your old clusters as-is and creating a new one for the update.

To create a new cloud-based cluster, follow the standard instructions:

  1. Set up a new wingame AMI that matches the new version.

  2. Create new clusters.

To create a new local cluster, follow the standard instructions listed in the Initializing a Local Cluster section.

Once you have replaced all your clusters, you can remove the old SDK repositories from the Modules Section page.

Updating an Existing Cluster

Warning

Updating your cluster can replace all your instances and even erase your current configuration. We recommend not updating a live cluster. If you do, carefully check the changes before applying the plan.

You can update the module used to build your cluster by clicking on Reimport Module in the module section of your cluster infrastructure, then select the module new version and import it. Finally, click apply in the Terraform section.

Note

Some changes can take time to propagate to AWS. This is especially true for IAM roles and policies, which could then create some conflicts when recreated. Re-applying the Terraform plan should fix the problem.

Upgrade from 1.44.0 to 1.45.0

New Visual C++ Redistributable Installed on the Wingame AMI

The previous package installed the Visual C++ libraries for version 2015, 2017, and 2019. The new package also installs the 2022 version.

Refresh job definitions

The jobs API now allow job definitions to be refreshed without having to deregister their jobs first. Just start the job again after submitting the new template. It works also for the startAll method.

Important

The task counts of the current job will be preserved. If you want to use the one in the job definition instead, you need to pass the force=true parameter.

Warning

Updating the job definition can stop or break a task or the whole job. To control how updates are managed, use the update block in the Nomad’s job definition.

Nomad jobs are no longer purged when stopped

The stop methods will no longer purge the jobs from Nomad. By default, jobs stopped but not purged will now show a status of DEAD rather than UNREGISTERED. Instead, a purge option has been added to for the purge to happen immediately. Nomad GC will eventually purge a stopped job after some time.

Studio API is no longer accessible through the Cluster UI Swagger page

You can still access it from the Studio UI.

Cluster Management API are now exposed under Traefik

The Cluster Management APIs are now going through a reverse proxy, allowing to configure and unify those APIs exposition. Following this change, the GENVID_BASTION_URL should now take into account the prefix for the bastion API (/bastion) and the GENVID_BASTION_BINDING_PORT is no longer used by default (the bastion port is dynamic, but the proxy port is static and configurable).

Warning

A current issue with current (1.45.0) and older Genvid MILE SDK is that genvid-sdk clean-config will removed the now customized Hashi-UI link on the local cluster. Running genvid-sdk setup after that bring back the right URL. Future version of the SDK will prevent that issue.

Upgrading from Older Versions

For upgrading from version before the Genvid Toolbox 1.42.0, please refer to the Upgrade Notes of the Genvid MILE SDK 1.42.0 upgrade notes

Note

If there aren’t specific instructions listed for a version, then there aren’t any special steps for upgrading that version.