backup-restore fails between ceph and other storage

Bug #1472088 reported by Lisa Li
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
Fix Released
Undecided
Lisa Li

Bug Description

Test steps:
Backup storage is ceph.
1. Create a volume in ceph
2. backup-create above volume
3. Create a volume in lvm.
4. backup-restore backup in step 2 to volume created in step 3.

The test fails as it says the error message "can't find the image volume-8f282326-e2bc-4694-876c-d13cc26f71e1.backup.base".

Analysis:
When backup-create a ceph volume, it created a base image, and created a snap shot.
When backup-restore, it uses the snapshot to restore. But the logic is wrong in _restore_volume in file backup/drivers/ceph.py.

Changed in cinder:
status: New → In Progress
Revision history for this message
Lisa Li (lisali) wrote :
Lisa Li (lisali)
affects: cinder → python-cinderclient
Changed in python-cinderclient:
importance: High → Low
Changed in cinder:
assignee: nobody → Lisa Li (lisali)
no longer affects: python-cinderclient
Changed in cinder:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (master)

Reviewed: https://review.openstack.org/198993
Committed: https://git.openstack.org/cgit/openstack/cinder/commit/?id=e7c7355589c29c16af2bc73ce06164a72ff5af09
Submitter: Jenkins
Branch: master

commit e7c7355589c29c16af2bc73ce06164a72ff5af09
Author: lisali <email address hidden>
Date: Tue Jul 7 15:34:32 2015 +0800

    Fix restore point if backup base is diff-format in ceph

    In Ceph when backup base is diff-format and use this backup
    to restore volumes not rbd, need to find out the correct restore
    point.

    This is fixed in cinder/backup/drivers/ceph.py _diff_restore_allowed.

    Before the change: when backup is diff-format, and destination volume
    is not rbd, the function returns restore_point as None. As a result,
    backup restore uses wrong image/snapshot to do restore.

    With the change, we always get the right restore point, regardless
    of the kind of restore we'll do differential or not.

    Change-Id: I006c05d246f59fc6aff597543bedc68589d37576
    Closes-Bug: #1472088

Changed in cinder:
status: In Progress → Fix Committed
Changed in cinder:
milestone: none → liberty-2
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in cinder:
milestone: liberty-2 → 7.0.0
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.