Add "--wait" to asynchronous operation commands

Registered by Goutham Pacha Ravi

Many actions in manila are asynchronous. The API service responds immediately to requests, but the fulfillment of the request can take a while. As a usability enhancement, we must introduce a "--wait" option to the CLI

Expected workflow:

1) Creating a share

$ manila create nfs 10 --name testshare --wait
<CLI waits on the share to become available before providing share details>

2) Deleting a share
$ manila delete testshare --wait
<CLI waits on the share to be deleted before returning to the prompt>

This user interaction can be extended to other commands such as:

a) Extending/Shrinking a share
b) Managing/unmanaging a share
c) Adding/Denying access rules to a share
d) Creating/Promoting/Deleting a share replica
e) Creating/Reverting/Deleting a snapshot
f) Managing/Unmanaging a snapshot
g) Allowing/Denying access to a snapshot
h) Managing/Unmanaging a share server
i) Deleting a share server
j) Force deleting a share/share-instance/snapshot/
k) Creating/Deleting a share group
l) Creating/Deleting a share group snapshot

Including into the newly introduced OSC interface.

Individual work items on this blueprint can be tracked and submitted as RFE "bugs" here on launchpad. If they are, the bug IDs will be added to the whiteboard.

Blueprint information

Status:
Started
Approver:
Goutham Pacha Ravi
Priority:
Medium
Drafter:
Goutham Pacha Ravi
Direction:
Approved
Assignee:
Goutham Pacha Ravi
Definition:
Approved
Series goal:
Accepted for xena
Implementation:
Started
Milestone target:
milestone icon zed-client-release
Started by
Goutham Pacha Ravi

Whiteboard

Gerrit topic: https://review.opendev.org/#/q/topic:bug/1898304

Addressed by: https://review.opendev.org/755667
    Add a waiter to share create/delete

Gerrit topic: https://review.opendev.org/#/q/topic:bp/add-wait-to-async-commands

Addressed by: https://review.opendev.org/763429
    Fix duplicate wait functional test

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.