Cinder Backups Fail with cinder.exception.ServiceNotFound with multiple availibility zones
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Cinder |
New
|
Undecided
|
Unassigned |
Bug Description
Hello There!
Cinder Backup fails to create backups if volumes reside on different availability zones.
cinder-
Environment: Juju Deployed Focal/Yoga, HA Cinder:
$ juju status cinder
Model Controller Cloud/Region Version SLA Timestamp
vstack home-lab-default Home-Lab/default 2.9.37 unsupported 14:35:22-07:00
App Version Status Scale Charm Channel Rev Exposed Message
cinder 20.3.0 active 3 cinder yoga/stable 650 no Unit is ready
cinder-backup 20.3.0 active 3 cinder-backup yoga/stable 63 no Unit is ready
cinder-ceph-nvme 20.3.0 active 3 cinder-ceph yoga/stable 510 no Unit is ready
cinder-ceph-nvme-ec 20.3.0 active 3 cinder-ceph yoga/stable 510 no Unit is ready
cinder-ceph-ssd 20.3.0 active 3 cinder-ceph yoga/stable 510 no Unit is ready
cinder-hacluster active 3 hacluster 2.0.3/stable 113 no Unit is ready and clustered
cinder-mysql-router 8.0.34 active 3 mysql-router 8.0/stable 90 no Unit is ready
The default nova AZ has been disabled in the environment. az1 is configured to use cinder-ceph-nvme as well as cinder-
$ openstack availability zone list --volume
+------
| Zone Name | Zone Status |
+------
| az1 | available |
| nova | not available |
| az2 | available |
+------
The cinder backup service is running and healthy on all cinder nodes:
$ openstack volume service list | grep cinder-backup | grep -w up
| cinder-backup | cinder | nova | enabled | up | 2023-09-
I think the issue here is that the service is still using the default availability zone "nova" while the target volumes have either az1 or az2 availability zones.
Looking in the cinder Git repository, cinder/
def create_backup(self, context, backup):
volume_id = backup.volume_id
volume = self.db.
try:
# Bug #1952805: an incremental backup will already have a host set,
# and we must respect it
if not backup.host:
except exception.
msg = "Service not found for creating backup."
It appears that the error is originating from this line, naturally because the service is currently bound to the nova AZ. I could not find a configuration option or an action to reset this.
Juju cinder relations:
Relation provider Requirer Interface Type Message
ceph-mon-
cinder-
cinder-
cinder-
cinder-
cinder-hacluster:ha cinder:ha hacluster subordinate
cinder-
cinder:
cinder:cluster cinder:cluster cinder-ha peer
glance:
keystone:
rabbitmq-
vault:certificates cinder:certificates tls-certificates regular
Please let me know if you need anything or need me to perform any additional testing / debugging and it will be my pleasure to help.
Thank you,
Alan
@Alan: can you list the Block Storage API calls that you are making (and include a volume-show response for the volume you're backing up). Thanks!