This patch addresses the scenario where an
incremental backup can be created having a
parent backup that was taken in a different
project. This scenario ultimately leads to
a silent error when creating/deleting the
incremental backup and quotas going out of
sync.
The proposed fix is to narrow the backup search
down to the same project. To achieve this, a
method's signature had to be updated to achieve
the desired optimized behavior of passing the
volume's project_id parameter.
Test test_create_backup_failed_with_empty_backup_objects
required a mock for
test_create_backup_failed_with_empty_backup_objects
which had been removed in ussuri, as part of commit
f0211b53b82cde96eb39e9914c3e5fae232db07c. That
commit removed code and leftover the mock, which I
had removed in the change this patch was
cherry-picked from, as it was unnecessary.
The removed code section of cinder/backup/api.py
from commit f0211b53b82cde96eb39e9914c3e5fae232db07c
does not impact the functionality of this change at all.
Change-Id: Icb621ff5966133f59d9d43ca2dd9f8e1919b1149
(cherry picked from commit 8ebeafcbbafb700052f3abfc1f7ba004269a92e8)
(cherry picked from commit 5358c996b40bbb0fd749ec182ff3ef67f5d71c16)
Reviewed: https:/ /review. opendev. org/739154 /git.openstack. org/cgit/ openstack/ cinder/ commit/ ?id=f3cdc275637 66b2f49a1d88500 f32c8d86838c96
Committed: https:/
Submitter: Zuul
Branch: stable/train
commit f3cdc27563766b2 f49a1d88500f32c 8d86838c96
Author: Rodrigo Barbieri <email address hidden>
Date: Wed Jul 1 18:20:15 2020 -0300
Fix cross-project incremental backups
This patch addresses the scenario where an
incremental backup can be created having a
parent backup that was taken in a different
project. This scenario ultimately leads to
a silent error when creating/deleting the
incremental backup and quotas going out of
sync.
The proposed fix is to narrow the backup search
down to the same project. To achieve this, a
method's signature had to be updated to achieve
the desired optimized behavior of passing the
volume's project_id parameter.
Closes-bug: #1869746
Closes-bug: #1873518
conflicts:
cinder/ tests/unit/ backup/ test_backup. py
Test test_create_ backup_ failed_ with_empty_ backup_ objects create_ backup_ failed_ with_empty_ backup_ objects cde96eb39e9914c 3e5fae232db07c. That
required a mock for
test_
which had been removed in ussuri, as part of commit
f0211b53b82
commit removed code and leftover the mock, which I
had removed in the change this patch was
cherry-picked from, as it was unnecessary.
The removed code section of cinder/ backup/ api.py 6eb39e9914c3e5f ae232db07c
from commit f0211b53b82cde9
does not impact the functionality of this change at all.
Change-Id: Icb621ff5966133 f59d9d43ca2dd9f 8e1919b1149 052f3abfc1f7ba0 04269a92e8) fd749ec182ff3ef 67f5d71c16)
(cherry picked from commit 8ebeafcbbafb700
(cherry picked from commit 5358c996b40bbb0