cinder/cinder/db
Rodrigo Barbieri f3cdc27563 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
required a mock for
test_create_backup_failed_with_empty_backup_objects
which had been removed in ussuri, as part of commit
f0211b53b8. 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 f0211b53b8
does not impact the functionality of this change at all.

Change-Id: Icb621ff5966133f59d9d43ca2dd9f8e1919b1149
(cherry picked from commit 8ebeafcbba)
(cherry picked from commit 5358c996b4)
2020-07-02 19:39:00 -03:00
..
sqlalchemy Fix cross-project incremental backups 2020-07-02 19:39:00 -03:00
__init__.py Enable flake8 H303,H304 checking 2014-04-15 09:16:01 +00:00
api.py Fix cross-project incremental backups 2020-07-02 19:39:00 -03:00
base.py Add ability to specify backup driver via class name 2017-10-11 12:59:00 +03:00
migration.py Compact DB migrations to Queens 2019-05-03 09:45:21 -05:00