Description
We’re in a process of migrating our dev setup from docker to k8s. On the old instance node1
(deployed with docker-compose) we’ve created a backup like this:
curl -s \
-X POST \
-H "Content-Type: application/json" \
-d '{"id": "migration-backup"}' \
localhost:8492/v1/backups/azure
The backup finished and we then proceeded to restore the backup on a new instance weaviate-0
(deployed with Weaviate Helm Charts | Weaviate Helm chart repo) like this:
curl -s \
-X POST \
-H "Content-Type: application/json" \
-d '{"node_mapping": {"node1":"weaviate-0"}}' \
localhost:8080/v1/backups/azure/migration-backup/restore
The backup was restored successfully, and even the restore_config.json
file reflected the node mapping configuration.
{
"startedAt": "2025-05-30T07:31:56.842745862Z",
"completedAt": "2025-05-30T07:34:48.884063552Z",
"id": "migration-backup",
"nodes": {
"node1": {
"classes": [
"class1",
"class2",
"...",
"classN-1",
"classN"
],
"status": "SUCCESS",
"error": ""
},
"weaviate-0": {
"classes": [
"AIContentData_924a0ff859e1962ab1ac9ef2a87b0cba",
"AITeamCollectionTest",
"...",
"PRODUCT_l2",
"PRODUCT_manhattan"
],
"status": "SUCCESS",
"error": ""
}
},
"node_mapping": { "node1": "weaviate-0" },
"status": "SUCCESS",
"version": "2.0",
"serverVersion": "1.24.26",
"leader": "",
"error": ""
}
We then proceeded to create a backup from the new instance, like this:
curl -s \
-X POST \
-H "Content-Type: application/json" \
-d '{"id": "test-backup"}' \
localhost:8080/v1/backups/azure
But that operation ended with an error:
{
"error": [
{
"message": "cannot resolve hostname for \"node1\""
}
]
}
We also checked all shards from all classes, and got similar errors:
for class_name in $(curl -s \
-X GET \
-H "Content-Type: application/json" \
localhost:8080/v1/schema | jq -r '.classes[].class'); do
curl -s \
-X GET \
-H "Content-Type: application/json" \
localhost:8080/v1/schema/${class_name}/shards | jq '.'
done
{
"error": [
{
"message": "shard JPhSUKsFaO4E: resolve node name \"node1\" to host"
}
]
}
{
"error": [
{
"message": "shard 0jWAQYWFvY9g: resolve node name \"node1\" to host"
}
]
}
...
{
"error": [
{
"message": "shard z7BT2Bn3crPf: resolve node name \"node1\" to host"
}
]
}
{
"error": [
{
"message": "shard glGQ6Ao7uyAS: resolve node name \"node1\" to host"
}
]
}
Is there a way to restore a backup from a different instance using different host name?
What if we wanted to restore a backup from a single-node deployment to a multi-node deployment?
Server Setup Information
- Weaviate Server Version:
- source: 1.24.26
- destination: 1.30.0
- Deployment Method:
- source: docker
- destination: k8s
- Multi Node? Number of Running Nodes:
- source: 1
- destination: 1
- Client Language and Version: raw http requests via cURL
- Multitenancy?: no