diff options
| author | Jenkins <jenkins@review.openstack.org> | 2015-11-30 20:33:11 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2015-11-30 20:33:11 +0000 |
| commit | 7f9a81bb1bd1fe14345f66074272a5cfd86af736 (patch) | |
| tree | fbb8def0c9c2b398b75e256baad610e5c065cac6 /cinderclient/v2/shell.py | |
| parent | 37ea6acad71e4d143438facda39db078c6179cb5 (diff) | |
| parent | b8e118f5c271fb91cbc17a8553dba5f7fcedb2bc (diff) | |
| download | python-cinderclient-1.5.0.tar.gz | |
Merge "Adds v2 replication support"1.5.0
Diffstat (limited to 'cinderclient/v2/shell.py')
| -rw-r--r-- | cinderclient/v2/shell.py | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/cinderclient/v2/shell.py b/cinderclient/v2/shell.py index c9da264..eb489a9 100644 --- a/cinderclient/v2/shell.py +++ b/cinderclient/v2/shell.py @@ -1246,6 +1246,60 @@ def do_migrate(cs, args): six.text_type(e))) +@utils.arg('volume', + metavar='<volume>', + help='ID of volume to enable replication.') +@utils.service_type('volumev2') +def do_replication_enable(cs, args): + """Enables volume replication on a given volume.""" + volume = utils.find_volume(cs, args.volume) + volume.replication_enable(args.volume) + + +@utils.arg('volume', + metavar='<volume>', + help='ID of volume to disable replication.') +@utils.service_type('volumev2') +def do_replication_disable(cs, args): + """Disables volume replication on a given volume.""" + volume = utils.find_volume(cs, args.volume) + volume.replication_disable(args.volume) + + +@utils.arg('volume', + metavar='<volume>', + help='ID of volume to list available replication targets.') +@utils.service_type('volumev2') +def do_replication_list_targets(cs, args): + """List replication targets available for a volume.""" + volume = utils.find_volume(cs, args.volume) + resp, body = volume.replication_list_targets(args.volume) + if body: + targets = body['targets'] + columns = ['target_device_id'] + if targets: + utils.print_list(targets, columns) + else: + print("There are no replication targets found for volume %s." % + args.volume) + else: + print("There is no replication information for volume %s." % + args.volume) + + +@utils.arg('volume', + metavar='<volume>', + help='ID of volume to failover.') +@utils.arg('secondary', + metavar='<secondary>', + help='A unqiue identifier that represents a failover target.') +@utils.service_type('volumev2') +def do_replication_failover(cs, args): + """Failover a volume to a secondary target""" + volume = utils.find_volume(cs, args.volume) + volume.replication_failover(args.volume, args.secondary) + + @utils.arg('volume', metavar='<volume>', help='Name or ID of volume for which to modify type.') @utils.arg('new_type', metavar='<volume-type>', help='New volume type.') |
