cinder backup tries to restore to wrong host
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Cinder |
In Progress
|
Medium
|
Sam Morrison |
Bug Description
Have discovered a bug when having multiple AZs and cinder-volume and cinder-backup hosts that can't talk to backend storage in different AZ.
Environment:
2 azs, each with a c-vol and c-bak
cinder servers at each az have their own ceph and the ceph is only accessible within the AZ
cinder backup uses swift driver and swift is globally accessible
Steps to reproduce:
create a volume in az1
backup volume
restore volume by creating a new volume and passing in backup id and az1 (or az2, doesn't matter) - this will go to error_restoring 50% of the time
What happens is:
The volume is created at az1 and then logs:
Backend does not support creating volume from backup 967f369f-
This then has some logic to decide which backup host to use to do the restore.
This logic will then randomly choose a volume host. If it chooses a host in the other az it will fail as it can't talk to the ceph
What it should do is choose a volume host that is in the same AZ as the newly created volume, not the AZ of the backup (which is None)
description: | updated |
Fix proposed to branch: master /review. opendev. org/c/openstack /cinder/ +/816104
Review: https:/