Downgrade from v5.6.0
Downgrading from v5.6.0 is similar to upgrading to a version of Hydrolix, but with additional steps to roll back the database schema.
The target for downgrading from v5.6.0 should be v5.4.4, which contains forward-compatible table definitions to ensure your Hydrolix installation works correctly after downgrade.
v5.6.0 to v5.4.4 downgrade procedure
Downgrading Hydrolix from v5.6.0 to v5.4.4 is much like upgrading, with a schema migration rollback.
Overview
During the upgrade, several schema changes are applied automatically. In order to downgrade, revert these schema changes first using these instructions.
Perform the schema migration rollback
The following steps restore the schema to the schema expected by v5.4.4.
-
Connect to the Kubernetes cluster using k9s and select the namespace holding the Hydrolix cluster.
-
Select the
turbine-api
pod andturbine-api
container. -
Invoke a shell by entering s.
-
Execute each of the following commands, which will produce STDERR to terminal. Each must exit cleanly.
./manage.py migrate projects 0007 ./manage.py migrate tables 0031
-
Exit the
k9s
utility by pressing Ctrl-C.
Perform the downgrade to v5.4.4
-
Apply the new Hydrolix operator
If you have a self-managed installation, apply the new operator directly with the
kubectl
command examples below. If you're using Hydrolix-supplied tools to manage your installation, follow the procedure prescribed by those tools.GKE downgradekubectl apply -f "https://www.hydrolix.io/operator/v5.4.4/operator-resources?namespace=${HDX_KUBERNETES_NAMESPACE}&gcp-storage-sa=${GCP_STORAGE_SA}"
EKS downgradekubectl apply -f "https://www.hydrolix.io/operator/v5.4.4/operator-resources?namespace=${HDX_KUBERNETES_NAMESPACE}&aws-storage-role=${AWS_STORAGE_ROLE}"
LKE and AKS downgradekubectl apply -f "https://www.hydrolix.io/operator/v5.4.4/operator-resources?namespace=${HDX_KUBERNETES_NAMESPACE}"
-
Monitor the upgrade process
Kubernetes jobs named
init-cluster
andinit-turbine-api
will automatically run to upgrade your entire installation to match the new operator's version number. This will take a few minutes, during which time you can observe your pods' restarts with your favorite Kubernetes monitor tool.Ensure both the
init-cluster
andinit-turbine-api
jobs have completed successfully and that theturbine-api
pod has restarted without errors. After that, view the UI and use the API of your new installation as a final check.If the
turbine-api
pod doesn't restart properly or other functionality is missing, check the logs of theinit-cluster
andinit-turbine-api
jobs for details about failures. This can be done using thek9s
utility or with thekubectl
command:% kubectl logs -l app=init-cluster % kubectl logs -l app=init-turbine-api
If you still need help, contact Hydrolix support.
Updated about 14 hours ago