Comment 18 for bug 1578036

Revision history for this message
Alexander Kashirin (ax.kashirin) wrote :

Hi, Shubham.

In master there are at least two independent errors which prevent differential ceph-backups. Each is masqueraded as exception.BackupRBDOperationFailed in the CephBackupDriver. Each forces the full backup.

1. CephBackupDriver._snap_exists:
 ...
    if snap.name == snap_name: # => AttributeError: 'dict' object has no attribute 'name'
 ...

2. CephBackupDriver.backup is called with wrong 'volume_file' argument: the volume_file.rbd_conf provides pathname of unexistent ceph-conf file of source volume. As a result the _rbd_diff_transfer fails. Reason is in the os_brick/initiator/connectors/rbd.py: RBDConnector._create_ceph_conf writes the conf to a temp file and deletes this file right after.

After these bugs were fixed in my devstack, I'm able to create the increment backups without problems. My patches are in attachment. I hope it'll help you.