Upgrading the applications

Depending on what types of applications can be upgraded, we need to make changes in the Helm values file for the syntho-ui Helm chart or the Helm values file for the ray Helm chart. The following sections will describe the changes that need to be made for each type of upgrade.

Updating the license key and ImagePullSecret

If the license key expired, the value SynthoLicense needs to be updated in thesyntho-ui helm chart value. For the Raychart this is in the following section:

ray-cluster:
    common:
        containerEnv:
        - name: LICENSE_KEY_SIGNED
          value: ""

If license key was expired, the registry credentials most likely are expired as well. If the documentation was followed, there should be an imagePullSecret set in both Helm charts called syntho-cr-secret. Please update this secret by deleting the old one and creating the new one again:

kubectl delete secret syntho-cr-secret -n <syntho-namespace>
kubectl create secret docker-registry syntho-cr-secret --namespace syntho --docker-server=<registry> --docker-username=<username> --docker-password=<password>

Updating the applications

In order to update the application to a newer version, we need to adjust the ray and syntho-ui Helm chart values. For the ray chart, the following values should be adjusted:

ray-cluster:
  image:
    tag: <latest-version-number>

For the syntho-ui Helm chart, the following sections can be adjusted with the new version number:

core:
  ...
  image:
    ...
    tag: <version-number>
backend:
  ...
  image:
    ...
    tag: <version-number>
frontend:
  ...
  image:
    ...
    tag: <version-number>

Once this has been updated, the following sections can be used to actually upgrade the application.

Upgrading the Helm chart for Ray

Some upgrades of Ray might require reinstalling the CRDs (if an older Helm chart was used). See the section Upgrading Ray CRDs for more information.

In most cases, the upgrading of the Ray chart will be necessary. For example, upgrading to a new version of Ray or upgrading the number of workers. After the necessary changes have been made to the values.yaml file, we can uninstall the Helm chart and then reinstall it in order to upgrade Ray. To upgrade the Ray chart, we can simply run the following commands:

helm upgrade --cleanup-on-fail ray-cluster ./helm/ray --values values.yaml --namespace syntho

In some cases, the helm upgrade functionality might not fully update the Ray cluster. In that case, forcing a restart of the Ray pods will help. This can be done by deleting the Ray pods (head pod and worker pods), after which they will be rescheduled by the Kuberay Operator.

Note: in some cases, an application in the Syntho UI Helm chart will need to be upgraded as well to successfully reflect the changes made in the Ray Helm chart. This will be described in the next section.

Upgrading the Helm chart for Syntho UI

In some cases, the upgrading of the Syntho UI chart will be necessary. For example, upgrading to a new version of the Syntho UI or upgrading the number of workers. After the necessary changes have been made to the values.yaml file, we can run the command to upgrade the Helm installation. To upgrade the Syntho UI chart, we can simply run the following command:

helm upgrade --cleanup-on-fail syntho-ui ./helm/syntho-ui --values values.yaml --namespace sy

Last updated