From 3e9109bc7c9511b45568b299da897d977852d76d Mon Sep 17 00:00:00 2001 From: Huanxuan Ao Date: Wed, 7 Dec 2016 11:32:44 +0800 Subject: Add "consistency-group-snapshot" option to consistency group create Add "consistency-group-snapshot" option to "consistency group create" command to support for creating consistency group from existing consistency group snapshot Implements: bp cinder-command-support Partial-Bug: #1613964 Change-Id: I54c265d38299f4973945ba99e30042bcf47859c0 --- openstackclient/volume/v2/consistency_group.py | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'openstackclient/volume') diff --git a/openstackclient/volume/v2/consistency_group.py b/openstackclient/volume/v2/consistency_group.py index 661bcbe5..fbeae745 100644 --- a/openstackclient/volume/v2/consistency_group.py +++ b/openstackclient/volume/v2/consistency_group.py @@ -94,6 +94,11 @@ class CreateConsistencyGroup(command.ShowOne): metavar="", help=_("Existing consistency group (name or ID)") ) + exclusive_group.add_argument( + "--consistency-group-snapshot", + metavar="", + help=_("Existing consistency group snapshot (name or ID)") + ) parser.add_argument( "--description", metavar="", @@ -120,17 +125,23 @@ class CreateConsistencyGroup(command.ShowOne): description=parsed_args.description, availability_zone=parsed_args.availability_zone ) - elif parsed_args.consistency_group_source: + else: if parsed_args.availability_zone: msg = _("'--availability-zone' option will not work " "if creating consistency group from source") LOG.warning(msg) - consistency_group_id = utils.find_resource( - volume_client.consistencygroups, - parsed_args.consistency_group_source).id + + consistency_group_id = None consistency_group_snapshot = None - # TODO(Huanxuan Ao): Support for creating from consistency group - # snapshot after adding "consistency_group_snapshot" resource + if parsed_args.consistency_group_source: + consistency_group_id = utils.find_resource( + volume_client.consistencygroups, + parsed_args.consistency_group_source).id + elif parsed_args.consistency_group_snapshot: + consistency_group_snapshot = utils.find_resource( + volume_client.cgsnapshots, + parsed_args.consistency_group_snapshot).id + consistency_group = ( volume_client.consistencygroups.create_from_src( consistency_group_snapshot, -- cgit v1.2.1