Add "--force" option to "backup create" command in volumev2

Cinder V2 API supports creating volume backup with "--force"
option. However, OSC doesn't support this argument. So this
patch add the "--force" option to allow users to back up a
in-use volume.

Change-Id: I326f8d6172b2830da4cf1317348af50142cc5490
Closes-Bug: #1596443
This commit is contained in:
Huanxuan Ao 2016-06-27 16:59:51 +08:00
parent 21ac9230e8
commit fc719f998c
4 changed files with 25 additions and 3 deletions

View File

@ -16,6 +16,7 @@ Create new backup
[--container <container>]
[--name <name>]
[--description <description>]
[--force]
<volume>
.. option:: --container <container>
@ -30,6 +31,10 @@ Create new backup
Description of the backup
.. option:: --force
Allow to back up an in-use volume
.. _backup_create-backup:
.. describe:: <volume>

View File

@ -72,12 +72,14 @@ class TestBackupCreate(TestBackup):
"--name", self.new_backup.name,
"--description", self.new_backup.description,
"--container", self.new_backup.container,
"--force",
self.new_backup.volume_id,
]
verifylist = [
("name", self.new_backup.name),
("description", self.new_backup.description),
("container", self.new_backup.container),
("force", True),
("volume", self.new_backup.volume_id),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@ -88,7 +90,8 @@ class TestBackupCreate(TestBackup):
self.new_backup.volume_id,
container=self.new_backup.container,
name=self.new_backup.name,
description=self.new_backup.description
description=self.new_backup.description,
force=True,
)
self.assertEqual(self.columns, columns)
self.assertEqual(self.data, data)
@ -112,7 +115,8 @@ class TestBackupCreate(TestBackup):
self.new_backup.volume_id,
container=self.new_backup.container,
name=None,
description=self.new_backup.description
description=self.new_backup.description,
force=False,
)
self.assertEqual(self.columns, columns)
self.assertEqual(self.data, data)

View File

@ -48,6 +48,12 @@ class CreateBackup(command.ShowOne):
metavar="<container>",
help=_("Optional backup container name")
)
parser.add_argument(
'--force',
action='store_true',
default=False,
help=_("Allow to back up an in-use volume")
)
return parser
def take_action(self, parsed_args):
@ -58,7 +64,8 @@ class CreateBackup(command.ShowOne):
volume_id,
container=parsed_args.container,
name=parsed_args.name,
description=parsed_args.description
description=parsed_args.description,
force=parsed_args.force,
)
backup._info.pop("links", None)
return zip(*sorted(six.iteritems(backup._info)))

View File

@ -0,0 +1,6 @@
---
features:
- |
Add ``--force`` option to ``backup create`` command to allow users to
back up an in-use volume.
[Bug `1596443 <https://bugs.launchpad.net/bugs/1596443>`_]