Upgrade from Previous Versions¶
Upgrading the Genvid SDK from one version to another may include some manual steps. This page includes any steps required to update to version 1.25.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.
In This Section
General Upgrade Instructions¶
Upgrade the Genvid SDK¶
To set up the new SDK locally:
Install the new SDK.
Run the Python script to install the Genvid Toolbox.
py install-toolbox.py
Run the Genvid Bastion script to update your bastion.
genvid-bastion reinstall --reconfigure -b {mybastion} -uml
Update Your Broadcast Website¶
If you used code from the samples we provide in your own project, note that we recently enforced a best practice concerning service discovery using consul in those samples. You should check again the samples and update your project accordingly. We invite you to use the consul health api instead of the catalog api to fetch the url of your services, since it is more likely that the url will point to a healthy service.
Update Your Game¶
To update your game without applying new features, just
replace the old genvid.dll
from the previous SDK with the one
from the new SDK. The old plugins and integration should work as-is,
with the exception of the specific upgrade instructions below.
Attention
Always follow the full upgrade path for the Genvid SDK version you’re using. For example: If you’re upgrading from version 1.6.0 to 1.10.0, start by upgrading from 1.6.0 to 1.7.0 then continue with each version.
See the full list of upgrade instructions for your specific version.
Upgrade the Javascript API¶
You should also upgrade the Genvid JavaScript API on your website.
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:
- Set up a new wingame AMI that matches the new version.
- Create new clusters.
To create a new local cluster, follow the standard instructions listed in the Initialize 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.
Update Genvid SDK Samples¶
Along with your own project, make sure you update any of the Genvid SDK samples you’ve previously installed.
Upgrade from 1.24.0 to 1.25.0¶
Studio is now a service.¶
Studio is now part of the services job and no longer a sample. When you start the services job in the Cluster UI, studioD will start along with the other services.
The Studio service is deactivated by default – there is an option to enable it in the Cluster UI settings. You also need to enable the composition functions and the show monitor option.
You can also make these modifications using a HCL file that you load on your local cluster.
genvid-sdk load-config myhclfile.hcl
Or a cloud cluster:
genvid-sdk -c $mycluster load-config myhclfile.hcl
You can find an example of a configuration file in the Studio documentation.
After loading the configuration:
Go to the Jobs page.
Click Start All.
Wait for the Studio link to become enabled.
Click the Studio link to go to the Studio UI.
Default version of Python now 3.8.¶
We are now using Python 3.8 as the default version of Python for the Genvid SDK. Note that version 3.8 can be installed in parallel with 3.5.
The toolbox is still compatible with Python 3.5 for Genvid SDK 1.25.0 and you can use 3.5 for local development and AWS environments. However, version 3.8 is required to work with Azure environments. We recommend converting to 3.8 as this might be required in our future releases.
You can still use Python 3.5 by calling py -3.5
or using a 3.5
virtual environment.
To upgrade a Python 3.5 virtual environment to 3.8, run the following command:
py -3.8 venv --upgrade <venv folder>
Local drive clusters now encrypted by default.¶
New clusters created with 1.25.0 are now locally encrypted by default.
To avoid data loss when upgrading from a prior version, you should disable
local drive encryption by setting use_drive_encryption
to false.
See Terraform Settings for more information.
AWS Variable Name Changes¶
We renamed the following Terraform variables and outputs in AWS clusters:
iam_role_name_server -> server_instance_profile_name
iam_role_name_server -> game_instance_profile
Modules impacted:
basic/basic_cluster
basic/basic_cluster_alb_ssl
basic/minimal_cluster
basic/minimal_cluster_alb_ssl
basic/minimal_setup_ami
basic/setup_ami
Removed variables private_subnets
and public_subnets
from AWS cluster basic_cluster_alb_ssl
.¶
We removed the variables private_subnets
and public_subnets
from the
AWS cluster basic_cluster_alb_ssl
, as they were not intented to be
publicly available. The intent behind the basic_cluster_alb_ssl
is to
create a simple, working cluster for you.
If you need to specify subnets for your cluster, use the cluster
minimal_cluster_alb_ssl
instead.
UE4 Plugin SubmitNotification
moved from GenvidStreams
to GenvidSession
.¶
We moved the SubmitNotification
function from GenvidStreams
to
GenvidSession
because notifications are not streams. This clarification
helps avoid possible misunderstandings about the design of streams and
notifications.
Beginning with version 1.25.0, you will no longer be able to create new
scripts using SubmitNotification
in GenvidStreams
.
Current scripts using the function in GenvidStreams
will remain
functional.
Create new scripts using SubmitNotification
in GenvidSession
to be
compliant with the new design.
Upgrading from Older Versions¶
Note
If there aren’t specific instructions listed for a version, then there aren’t any special steps for upgrading that version.
- Upgrade from 1.0.0 to 1.1.0
- Upgrade from 1.2.0 to 1.3.0
- Upgrade from 1.3.0 to 1.4.0
- Upgrade from 1.6.0 to 1.7.0
- Upgrade from 1.7.0 to 1.8.0
- Upgrade from 1.8.0 to 1.9.0
- Upgrade from 1.9.0 to 1.10.0
- Upgrade from 1.11.0 to 1.12.0
- Upgrade from 1.12.0 to 1.13.0
- Upgrade from 1.13.0 to 1.14.0
- Upgrade from 1.15.0 to 1.15.1
- Upgrade from 1.16.0 to 1.17.0
- Upgrade from 1.17.0 to 1.18.0
- Upgrade from 1.18.0 to 1.19.0
- Upgrade from 1.19.0 to 1.20.0
- Upgrade from 1.20.1 to 1.21.0
- Upgrade from 1.21.2 to 1.22.0
- Upgrade from 1.22.0 to 1.23.0
- Upgrade from 1.23.0 to 1.24.0