Share backup API enhancements for third party drivers

Registered by Zachary Goggin

support for creating backups of Manila shares was added in https://review.opendev.org/c/openstack/manila/+/343980

This blueprint proposes to expand the share backup API slightly with three main changes focused on:
- base backup driver class `/manila/data/backup_driver.py`
- The manila data manager `manila/data/manager.py`

- One:
    The base backup driver class contains a boolean flag `self.use_data_manager` that dictates whether the data manager should
    take authority for performing and handling backups, or if should be deferred to the driver itself. Currently the flag is not respected.
    It is proposed to make the data manager respect this boolean flag throughout the share backup api functions it has.

- Two:
   Internally, the data manager makes use of OpenStack contexts quite regularly, it is proposed to expose the context of a running
   operation to the running backup driver by adding context as a default argument the base backup driver class can consume.

- Three
   Currently, there are two functions `create_backup_continue` and `restore_backup_continue` that will attempt to fetch the progress
   of a backup or restore via the data manager. There is no function call available in the base backup driver class that maps to these
   periodic calls. It is proposed to add two abstract functions `get_restore_progress` and `get_backup_progress` to the base backup
   driver class to allow this operation to be backup driver controlled.

Blueprint information

Status:
Not started
Approver:
Goutham Pacha Ravi
Priority:
Undefined
Drafter:
Zachary Goggin
Direction:
Approved
Assignee:
Zachary Goggin
Definition:
New
Series goal:
Proposed for flamingo
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.