Skip to main content
Feedback

Rolling back 6.3.0 to 6.2.x versions (introduced in v6.3.0)

Procedure

  1. Revert the database data using the rollback job from the 6.3.0 chart.

    Render only the pre-rollback resources from the 6.3.0 chart and apply them with kubectl. The hook annotations are inert when applied this way, so the job runs as a normal job.

    note

    In the rollback job command, set the value of --set preInstallDBPrep.executePrerollbackDbMigrate to true. It is located at <6.3.0 root directory>/charts/preInstallDBPrep/values.yaml.

    helm template <release> ./deploy -n <namespace> \
    -s charts/preInstallDBPrep/templates/prerollback-configmap.yaml \
    -s charts/preInstallDBPrep/templates/prerollback-job.yaml \
    --set global.domainSuffix=<domain-suffix> \
    --set global.apimImageRegistry=<registry> \
    --set global.imagePullPolicy=<policy> \
    --set global.mysqlDatabase.host=<db-host> \
    --set global.mysqlDatabase.port=<db-port> \
    --set preInstallDBPrep.executePrerollbackDbMigrate=true \
    --set preInstallDBPrep.initDBUserName=<dml-user> \
    --set preInstallDBPrep.initDBUserPassword=<dml-password> \
    --set preInstallDBPrep.ttlSecondsAfterFinished=300 \
    | kubectl apply -f -
    kubectl wait --for=condition=complete job/prerollback-dbmigrate-6-3-0 -n <namespace> --timeout=120s
    kubectl logs job/prerollback-dbmigrate-6-3-0 -n <namespace>

    The job logs show the number of rows reverted per table.

  2. Run the following Helm rollback command to go back to the previous version:

    helm rollback <release> <6.2.x-revision> -n <namespace>
  3. Clean up and run a full loader job.

    The cache wipe that happens during the upgrade also applies to rollback pod restarts, so run a full data load again.

    kubectl delete configmap prerollback-configmap -n <namespace>
    kubectl create job --from=cronjob/loader-job-full loader-job-full-manual -n <namespace>
On this Page