Upgrade Datalore Enterprise
The instructions below explain how to upgrade your Datalore Enterprise version.
Upgrade from versions 2021.3.5-2022.1.4 to 2022.2 (Helm installation) describes upgrading to the latest (2022.2) version from version 2021.3.5 and higher.
Migrate data describes migrating data when upgrading to the 2022.2 version.
Earlier versions describes upgrading to the 2021.3.5 version from earlier versions.
Upgrade from versions 2021.3.5-2022.1.4 to 2022.2 (Helm installation)
(Optional) To upgrade from versions 2021.3.5-2022.1.2 to version 2022.1.4, update the image version:
appVersion: "2022.1.4"Change
FRONTEND_URL
toDATALORE_PUBLIC_URL
.Change the format of
dataloreEnv
to a helm map.Old format:
dataloreEnv: | export FRONTEND_URL="https://datalore.example.com" export HUB_PUBLIC_BASE_URL="https://hub.datalore.example.com/hub" export HUB_DATALORE_SERVICE_ID="XXX" export HUB_DATALORE_SERVICE_SECRET="YYY" export HUB_PERM_TOKEN="perm:ZZZ"New format:
dataloreEnv: DATALORE_PUBLIC_URL: "https://datalore.example.com" HUB_PUBLIC_BASE_URL: "https://hub.datalore.example.com/hub" HUB_DATALORE_SERVICE_ID: "XXX" HUB_DATALORE_SERVICE_SECRET: "YYY" HUB_PERM_TOKEN: "perm:ZZZ"
Migrate data
To access the Datalore container, run the following command:
kubectl exec -it datalore-0 -c datalore -- bashDepending on whether you migrate data before or after the upgrade to 2022.2, do one of the following:
To migrate after the upgrade, rename the data directories in the new version:
mv /opt/data/webdav /opt/data/web-dav mv /opt/data/blobs /opt/data/blobTo migrate before the upgrade, rename the data directories in the current version:
mv /home/storage/webdav /home/storage/web-dav mv /home/storage/blobs /home/storage/blob
Earlier versions
Perform the steps in the collapsed section to upgrade from version 0.3.0.
Upgrade from version 0.3.0
Execute the following command to stop traffic to Datalore:
kubectl delete svc datalore-on-premiseWait for approximately one minute until the running computations are stopped. Then, execute the following command:
kubectl exec -it datalore-on-premise-0 -c postgres -- psql -ddatalore -Uadmin -c 'delete from core."RunningComputationsData";'Delete the Docker Hub token:
kubectl delete secret regcredContinue the procedure as described below.
Upgrade to version 2021.3.5
Delete Datalore:
kubectl delete -k ./dataloreClone the datalore-configs repository.
Check out the 2021.1.3.5 branch.
Update Hub:
Copy the spec.template.spec.volumes values from the old hub/statefulSet.yaml file into the new one (in the new branch).
Update statefulset:
kubectl apply -k hub/Get the Hub token and copy it:
kubectl logs service/hubOpen Hub at HUB_ROOT_URL, specify the token, and click login and, in the next window, upgrade.
Update Datalore:
Copy datalore/configs/volumes_config.yaml from the old directory to the new one.
Copy datalore/configs/plans_config.yaml to the new directory.
If the agent configuration was changed, copy the datalore/configs/agents_config.yaml to the new directory and change the
image:
field to the respective tag.If you used custom environments, copy datalore/configs/envs too.
Copy the
ROOT_PASSWORD
value from datalore/configs/db_config.yaml to datalore/configs/db_secret_env.txt.Pay attention to the difference in format:
Old file:
apiVersion: v1 kind: ConfigMap metadata: name: datalore-on-premise-db-env data: ROOT_PASSWORD: "changeme"New file:
ROOT_PASSWORD=changeme
Copy the variables from datalore/configs/user_config.yaml to datalore/configs/user_secret_env.sh.
Pay attention to the difference in format:
Old file:
apiVersion: v1 kind: ConfigMap metadata: name: datalore-on-premise-env data: FRONTEND_URL: "http://datalore.example.com" HUB_PUBLIC_BASE_URL: "http://hub.datalore.example.com/hub" ...New file:
export FRONTEND_URL="http://datalore.example.com" export HUB_PUBLIC_BASE_URL="http://hub.datalore.example.com/hub" ...
Launch Datalore:
kubectl apply -k datalore/