diff --git a/cinder/backup/drivers/ceph.py b/cinder/backup/drivers/ceph.py index 3ab8822894a..ee9575f5caa 100644 --- a/cinder/backup/drivers/ceph.py +++ b/cinder/backup/drivers/ceph.py @@ -122,10 +122,10 @@ def _disconnect_from_rados(self, client, ioctx): ioctx.close() client.shutdown() - def _get_backup_rbd_name(self, vol_name, backup_id): - """Make sure we use a consistent format for backup names""" - # ensure no unicode - return str("%s.backup.%s" % (vol_name, backup_id)) + def _get_backup_base_name(self, volume_id, backup_id): + """Return name of base image used for backup.""" + # Ensure no unicode + return str("volume-%s.backup.%s" % (volume_id, backup_id)) def _transfer_data(self, src, dest, dest_name, length, dest_is_rbd=False): """ @@ -198,7 +198,7 @@ def backup(self, backup, volume_file): """Backup the given volume to Ceph object store""" backup_id = backup['id'] volume = self.db.volume_get(self.context, backup['volume_id']) - backup_name = self._get_backup_rbd_name(volume['name'], backup_id) + backup_name = self._get_backup_base_name(volume['id'], backup_id) LOG.debug("Starting backup of volume='%s' to rbd='%s'" % (volume['name'], backup_name)) @@ -223,9 +223,9 @@ def backup(self, backup, volume_file): def restore(self, backup, volume_id, volume_file): """Restore the given volume backup from Ceph object store""" - volume_id = backup['volume_id'] volume = self.db.volume_get(self.context, volume_id) - backup_name = self._get_backup_rbd_name(volume['name'], backup['id']) + backup_name = self._get_backup_base_name(backup['volume_id'], + backup['id']) LOG.debug('starting backup restore from Ceph backup=%s ' 'to volume=%s' % (backup['id'], volume['name'])) @@ -257,9 +257,8 @@ def restore(self, backup, volume_id, volume_file): def delete(self, backup): """Delete the given backup from Ceph object store""" backup_id = backup['id'] - volume_id = backup['volume_id'] - volume = self.db.volume_get(self.context, volume_id) - backup_name = self._get_backup_rbd_name(volume['name'], backup_id) + backup_name = self._get_backup_base_name(backup['volume_id'], + backup_id) LOG.debug('delete started for backup=%s', backup['id']) diff --git a/cinder/volume/drivers/rbd.py b/cinder/volume/drivers/rbd.py index 288742b0893..b59de7ce6b7 100644 --- a/cinder/volume/drivers/rbd.py +++ b/cinder/volume/drivers/rbd.py @@ -544,7 +544,6 @@ def backup_volume(self, context, backup, backup_service): def restore_backup(self, context, backup, volume, backup_service): """Restore an existing backup to a new or existing volume.""" - volume = self.db.volume_get(context, backup['volume_id']) pool = self.configuration.rbd_pool with RBDVolumeProxy(self, volume['name'], pool) as rbd_image: