Hello community, here is the log from the commit of package python-cinderclient for openSUSE:Factory checked in at 2013-10-02 13:32:39 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-cinderclient (Old) and /work/SRC/openSUSE:Factory/.python-cinderclient.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "python-cinderclient" Changes: -------- --- /work/SRC/openSUSE:Factory/python-cinderclient/python-cinderclient.changes 2013-09-16 16:28:46.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.python-cinderclient.new/python-cinderclient.changes 2013-10-02 13:32:41.000000000 +0200 @@ -1,0 +2,7 @@ +Thu Sep 26 10:11:11 UTC 2013 - opensuse-cloud@opensuse.org + +- Update to version 1.0.5.29: + + Fix help messages for name arguments + + Add volume name arguments + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-cinderclient.spec ++++++ --- /var/tmp/diff_new_pack.IfmHLL/_old 2013-10-02 13:32:41.000000000 +0200 +++ /var/tmp/diff_new_pack.IfmHLL/_new 2013-10-02 13:32:41.000000000 +0200 @@ -19,7 +19,7 @@ %define component cinderclient Name: python-%{component} -Version: 1.0.5.25 +Version: 1.0.5.29 Release: 0 Summary: Openstack Block Storage (Cinder) API Client License: Apache-2.0 @@ -84,7 +84,7 @@ This package contains testsuite files for %{name}. %prep -%setup -q -n python-cinderclient-1.0.5.25.gd7796ef +%setup -q -n python-cinderclient-1.0.5.29.g665abd9 %openstack_cleanup_prep echo %{version} > cinderclient/versioninfo ++++++ python-cinderclient-master.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-cinderclient-1.0.5.25.gd7796ef/AUTHORS new/python-cinderclient-1.0.5.29.g665abd9/AUTHORS --- old/python-cinderclient-1.0.5.25.gd7796ef/AUTHORS 2013-09-15 11:21:24.000000000 +0200 +++ new/python-cinderclient-1.0.5.29.g665abd9/AUTHORS 2013-09-25 09:56:32.000000000 +0200 @@ -28,6 +28,7 @@ Jakub Ruzicka <jruzicka@redhat.com> John Griffith <john.griffith@solidfire.com> Josh Durgin <josh.durgin@inktank.com> +Ken'ichi Ohmichi <oomichi@mxs.nes.nec.co.jp> Kui Shi <skuicloud@gmail.com> Liam Kelleher <liam.kelleher@hp.com> Mark McLoughlin <markmc@redhat.com> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-cinderclient-1.0.5.25.gd7796ef/ChangeLog new/python-cinderclient-1.0.5.29.g665abd9/ChangeLog --- old/python-cinderclient-1.0.5.25.gd7796ef/ChangeLog 2013-09-15 11:21:24.000000000 +0200 +++ new/python-cinderclient-1.0.5.29.g665abd9/ChangeLog 2013-09-25 09:56:32.000000000 +0200 @@ -1,3 +1,33 @@ +commit 665abd9acc4a266cf668c4562cf30fb85bf7cf2a +Merge: 37b57ea 405702c +Author: Jenkins <jenkins@review.openstack.org> +Date: Wed Sep 25 07:56:03 2013 +0000 + + Merge "Add volume name arguments" + +commit 37b57ea0de0a45c962f2627cd027a344391457cb +Merge: d7796ef 2ac8f3a +Author: Jenkins <jenkins@review.openstack.org> +Date: Wed Sep 25 04:07:06 2013 +0000 + + Merge "Fix help messages for name arguments" + +commit 405702c8c0f3befab31bdfe92fd10f408f8b5a0c +Author: Ken'ichi Ohmichi <oomichi@mxs.nes.nec.co.jp> +Date: Wed Sep 18 16:44:51 2013 +0900 + + Add volume name arguments + + This patch adds volume name arguments to the following subcommands: + * snapshot-create + * backup-create + * backup-restore + * transfer-create + + Fixes bug #1220590 + + Change-Id: Ib0ff6e62d45abb14fa8c7313511ef6f72befe0d5 + commit d7796ef737b0b9c70fabf1416b42ad42c2d27b4a Author: Avishay Traeger <avishay@il.ibm.com> Date: Thu Jul 18 16:17:21 2013 +0300 @@ -10,6 +40,20 @@ Change-Id: I6e81d7a6321f367a356f0a0dee385221363a4227 +commit 2ac8f3a337130a7d130fb49bfacbf1842d3e5e47 +Author: Ken'ichi Ohmichi <oomichi@mxs.nes.nec.co.jp> +Date: Fri Sep 6 13:17:36 2013 +0900 + + Fix help messages for name arguments + + Users can specify the name of an instance as the argument, which are + passed through find_resource(), instead of the id. + This patch changes some help messages for explaining this behavior. + + Related-Bug: #1220590 + + Change-Id: I9af1259af4319b82b94d7b28536def3107ec5dd5 + commit b757c348b758fb5517cc0a08675b6c3ae8a7538e Author: Kui Shi <skuicloud@gmail.com> Date: Tue Sep 3 04:39:24 2013 +0800 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-cinderclient-1.0.5.25.gd7796ef/PKG-INFO new/python-cinderclient-1.0.5.29.g665abd9/PKG-INFO --- old/python-cinderclient-1.0.5.25.gd7796ef/PKG-INFO 2013-09-15 11:21:24.000000000 +0200 +++ new/python-cinderclient-1.0.5.29.g665abd9/PKG-INFO 2013-09-25 09:56:33.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: python-cinderclient -Version: 1.0.5.25.gd7796ef +Version: 1.0.5.29.g665abd9 Summary: OpenStack Block Storage API Client Library Home-page: http://www.openstack.org/ Author: OpenStack diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-cinderclient-1.0.5.25.gd7796ef/cinderclient/utils.py new/python-cinderclient-1.0.5.29.g665abd9/cinderclient/utils.py --- old/python-cinderclient-1.0.5.25.gd7796ef/cinderclient/utils.py 2013-09-15 11:21:00.000000000 +0200 +++ new/python-cinderclient-1.0.5.29.g665abd9/cinderclient/utils.py 2013-09-25 09:56:06.000000000 +0200 @@ -230,6 +230,11 @@ raise exceptions.CommandError(msg) +def find_volume(cs, volume): + """Get a volume by name or ID.""" + return find_resource(cs.volumes, volume) + + def _format_servers_list_networks(server): output = [] for (network, addresses) in list(server.networks.items()): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-cinderclient-1.0.5.25.gd7796ef/cinderclient/v1/shell.py new/python-cinderclient-1.0.5.29.g665abd9/cinderclient/v1/shell.py --- old/python-cinderclient-1.0.5.25.gd7796ef/cinderclient/v1/shell.py 2013-09-15 11:21:00.000000000 +0200 +++ new/python-cinderclient-1.0.5.29.g665abd9/cinderclient/v1/shell.py 2013-09-25 09:56:06.000000000 +0200 @@ -60,23 +60,18 @@ time.sleep(poll_period) -def _find_volume(cs, volume): - """Get a volume by ID.""" - return utils.find_resource(cs.volumes, volume) - - def _find_volume_snapshot(cs, snapshot): - """Get a volume snapshot by ID.""" + """Get a volume snapshot by name or ID.""" return utils.find_resource(cs.volume_snapshots, snapshot) def _find_backup(cs, backup): - """Get a backup by ID.""" + """Get a backup by name or ID.""" return utils.find_resource(cs.backups, backup) def _find_transfer(cs, transfer): - """Get a transfer by ID.""" + """Get a transfer by name or ID.""" return utils.find_resource(cs.transfers, transfer) @@ -182,11 +177,11 @@ 'Size', 'Volume Type', 'Bootable', 'Attached to']) -@utils.arg('volume', metavar='<volume>', help='ID of the volume.') +@utils.arg('volume', metavar='<volume>', help='Name or ID of the volume.') @utils.service_type('volume') def do_show(cs, args): """Show details about a volume.""" - volume = _find_volume(cs, args.volume) + volume = utils.find_volume(cs, args.volume) _print_volume(volume) @@ -276,23 +271,26 @@ _print_volume(volume) -@utils.arg('volume', metavar='<volume>', help='ID of the volume to delete.') +@utils.arg('volume', metavar='<volume>', + help='Name or ID of the volume to delete.') @utils.service_type('volume') def do_delete(cs, args): """Remove a volume.""" - volume = _find_volume(cs, args.volume) + volume = utils.find_volume(cs, args.volume) volume.delete() -@utils.arg('volume', metavar='<volume>', help='ID of the volume to delete.') +@utils.arg('volume', metavar='<volume>', + help='Name or ID of the volume to delete.') @utils.service_type('volume') def do_force_delete(cs, args): """Attempt forced removal of a volume, regardless of its state.""" - volume = _find_volume(cs, args.volume) + volume = utils.find_volume(cs, args.volume) volume.force_delete() -@utils.arg('volume', metavar='<volume>', help='ID of the volume to modify.') +@utils.arg('volume', metavar='<volume>', + help='Name or ID of the volume to modify.') @utils.arg('--state', metavar='<state>', default='available', help=('Indicate which state to assign the volume. Options include ' 'available, error, creating, deleting, error_deleting. If no ' @@ -300,11 +298,12 @@ @utils.service_type('volume') def do_reset_state(cs, args): """Explicitly update the state of a volume.""" - volume = _find_volume(cs, args.volume) + volume = utils.find_volume(cs, args.volume) volume.reset_state(args.state) -@utils.arg('volume', metavar='<volume>', help='ID of the volume to rename.') +@utils.arg('volume', metavar='<volume>', + help='Name or ID of the volume to rename.') @utils.arg('display_name', nargs='?', metavar='<display-name>', help='New display-name for the volume.') @utils.arg('--display-description', metavar='<display-description>', @@ -318,12 +317,12 @@ kwargs['display_name'] = args.display_name if args.display_description is not None: kwargs['display_description'] = args.display_description - _find_volume(cs, args.volume).update(**kwargs) + utils.find_volume(cs, args.volume).update(**kwargs) @utils.arg('volume', metavar='<volume>', - help='ID of the volume to update metadata on.') + help='Name or ID of the volume to update metadata on.') @utils.arg('action', metavar='<action>', choices=['set', 'unset'], @@ -336,7 +335,7 @@ @utils.service_type('volume') def do_metadata(cs, args): """Set or Delete metadata on a volume.""" - volume = _find_volume(cs, args.volume) + volume = utils.find_volume(cs, args.volume) metadata = _extract_metadata(args) if args.action == 'set': @@ -392,7 +391,8 @@ ['ID', 'Volume ID', 'Status', 'Display Name', 'Size']) -@utils.arg('snapshot', metavar='<snapshot>', help='ID of the snapshot.') +@utils.arg('snapshot', metavar='<snapshot>', + help='Name or ID of the snapshot.') @utils.service_type('volume') def do_snapshot_show(cs, args): """Show details about a snapshot.""" @@ -400,9 +400,9 @@ _print_volume_snapshot(snapshot) -@utils.arg('volume_id', - metavar='<volume-id>', - help='ID of the volume to snapshot') +@utils.arg('volume', + metavar='<volume>', + help='Name or ID of the volume to snapshot') @utils.arg('--force', metavar='<True|False>', help='Optional flag to indicate whether ' @@ -428,24 +428,26 @@ @utils.service_type('volume') def do_snapshot_create(cs, args): """Add a new snapshot.""" - snapshot = cs.volume_snapshots.create(args.volume_id, + volume = utils.find_volume(cs, args.volume) + snapshot = cs.volume_snapshots.create(volume.id, args.force, args.display_name, args.display_description) _print_volume_snapshot(snapshot) -@utils.arg('snapshot_id', - metavar='<snapshot-id>', - help='ID of the snapshot to delete.') +@utils.arg('snapshot', + metavar='<snapshot>', + help='Name or ID of the snapshot to delete.') @utils.service_type('volume') def do_snapshot_delete(cs, args): """Remove a snapshot.""" - snapshot = _find_volume_snapshot(cs, args.snapshot_id) + snapshot = _find_volume_snapshot(cs, args.snapshot) snapshot.delete() -@utils.arg('snapshot', metavar='<snapshot>', help='ID of the snapshot.') +@utils.arg('snapshot', metavar='<snapshot>', + help='Name or ID of the snapshot.') @utils.arg('display_name', nargs='?', metavar='<display-name>', help='New display-name for the snapshot.') @utils.arg('--display-description', metavar='<display-description>', @@ -463,7 +465,7 @@ @utils.arg('snapshot', metavar='<snapshot>', - help='ID of the snapshot to modify.') + help='Name or ID of the snapshot to modify.') @utils.arg('--state', metavar='<state>', default='available', help=('Indicate which state to assign the snapshot. ' @@ -693,9 +695,9 @@ return utils.find_resource(cs.volume_types, vtype) -@utils.arg('volume_id', - metavar='<volume-id>', - help='ID of the volume to upload to an image') +@utils.arg('volume', + metavar='<volume>', + help='Name or ID of the volume to upload to an image') @utils.arg('--force', metavar='<True|False>', help='Optional flag to indicate whether ' @@ -718,7 +720,7 @@ @utils.service_type('volume') def do_upload_to_image(cs, args): """Upload volume to image service as image.""" - volume = _find_volume(cs, args.volume_id) + volume = utils.find_volume(cs, args.volume) _print_volume_image(volume.upload_to_image(args.force, args.image_name, args.container_format, @@ -726,7 +728,7 @@ @utils.arg('volume', metavar='<volume>', - help='ID of the volume to backup.') + help='Name or ID of the volume to backup.') @utils.arg('--container', metavar='<container>', help='Optional Backup container name. (Default=None)', default=None) @@ -739,12 +741,13 @@ @utils.service_type('volume') def do_backup_create(cs, args): """Creates a backup.""" - backup = cs.backups.create(args.volume, + volume = utils.find_volume(cs, args.volume) + backup = cs.backups.create(volume.id, args.container, args.display_name, args.display_description) - info = {"volume_id": args.volume} + info = {"volume_id": volume.id} info.update(backup._info) if 'links' in info: @@ -753,7 +756,7 @@ utils.print_dict(info) -@utils.arg('backup', metavar='<backup>', help='ID of the backup.') +@utils.arg('backup', metavar='<backup>', help='Name or ID of the backup.') @utils.service_type('volume') def do_backup_show(cs, args): """Show details about a backup.""" @@ -777,7 +780,7 @@ @utils.arg('backup', metavar='<backup>', - help='ID of the backup to delete.') + help='Name or ID of the backup to delete.') @utils.service_type('volume') def do_backup_delete(cs, args): """Remove a backup.""" @@ -787,25 +790,29 @@ @utils.arg('backup', metavar='<backup>', help='ID of the backup to restore.') -@utils.arg('--volume-id', metavar='<volume-id>', - help='Optional ID of the volume to restore to.', +@utils.arg('--volume-id', metavar='<volume>', + help='Optional ID(or name) of the volume to restore to.', default=None) @utils.service_type('volume') def do_backup_restore(cs, args): """Restore a backup.""" - cs.restores.restore(args.backup, - args.volume_id) + if args.volume: + volume_id = utils.find_volume(cs, args.volume).id + else: + volume_id = None + cs.restores.restore(args.backup, volume_id) @utils.arg('volume', metavar='<volume>', - help='ID of the volume to transfer.') + help='Name or ID of the volume to transfer.') @utils.arg('--display-name', metavar='<display-name>', help='Optional transfer name. (Default=None)', default=None) @utils.service_type('volume') def do_transfer_create(cs, args): """Creates a volume transfer.""" - transfer = cs.transfers.create(args.volume, + volume = utils.find_volume(cs, args.volume) + transfer = cs.transfers.create(volume.id, args.display_name) info = dict() info.update(transfer._info) @@ -817,7 +824,7 @@ @utils.arg('transfer', metavar='<transfer>', - help='ID of the transfer to delete.') + help='Name or ID of the transfer to delete.') @utils.service_type('volume') def do_transfer_delete(cs, args): """Undo a transfer.""" @@ -851,7 +858,7 @@ @utils.arg('transfer', metavar='<transfer>', - help='ID of the transfer to accept.') + help='Name or ID of the transfer to accept.') @utils.service_type('volume') def do_transfer_show(cs, args): """Show details about a transfer.""" @@ -865,7 +872,8 @@ utils.print_dict(info) -@utils.arg('volume', metavar='<volume>', help='ID of the volume to extend.') +@utils.arg('volume', metavar='<volume>', + help='Name or ID of the volume to extend.') @utils.arg('new_size', metavar='<new-size>', type=int, @@ -873,7 +881,7 @@ @utils.service_type('volume') def do_extend(cs, args): """Attempt to extend the size of an existing volume.""" - volume = _find_volume(cs, args.volume) + volume = utils.find_volume(cs, args.volume) cs.volumes.extend(volume, args.new_size) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-cinderclient-1.0.5.25.gd7796ef/cinderclient/v2/shell.py new/python-cinderclient-1.0.5.29.g665abd9/cinderclient/v2/shell.py --- old/python-cinderclient-1.0.5.25.gd7796ef/cinderclient/v2/shell.py 2013-09-15 11:21:00.000000000 +0200 +++ new/python-cinderclient-1.0.5.29.g665abd9/cinderclient/v2/shell.py 2013-09-25 09:56:06.000000000 +0200 @@ -58,23 +58,18 @@ time.sleep(poll_period) -def _find_volume(cs, volume): - """Get a volume by ID.""" - return utils.find_resource(cs.volumes, volume) - - def _find_volume_snapshot(cs, snapshot): - """Get a volume snapshot by ID.""" + """Get a volume snapshot by name or ID.""" return utils.find_resource(cs.volume_snapshots, snapshot) def _find_backup(cs, backup): - """Get a backup by ID.""" + """Get a backup by name or ID.""" return utils.find_resource(cs.backups, backup) def _find_transfer(cs, transfer): - """Get a transfer by ID.""" + """Get a transfer by name or ID.""" return utils.find_resource(cs.transfers, transfer) @@ -180,12 +175,12 @@ @utils.arg('volume', metavar='<volume>', - help='ID of the volume.') + help='Name or ID of the volume.') @utils.service_type('volumev2') def do_show(cs, args): """Show details about a volume.""" info = dict() - volume = _find_volume(cs, args.volume) + volume = utils.find_volume(cs, args.volume) info.update(volume._info) info.pop('links', None) @@ -304,25 +299,26 @@ @utils.arg('volume', metavar='<volume>', - help='ID of the volume to delete.') + help='Name or ID of the volume to delete.') @utils.service_type('volumev2') def do_delete(cs, args): """Remove a volume.""" - volume = _find_volume(cs, args.volume) + volume = utils.find_volume(cs, args.volume) volume.delete() @utils.arg('volume', metavar='<volume>', - help='ID of the volume to delete.') + help='Name or ID of the volume to delete.') @utils.service_type('volumev2') def do_force_delete(cs, args): """Attempt forced removal of a volume, regardless of its state.""" - volume = _find_volume(cs, args.volume) + volume = utils.find_volume(cs, args.volume) volume.force_delete() -@utils.arg('volume', metavar='<volume>', help='ID of the volume to modify.') +@utils.arg('volume', metavar='<volume>', + help='Name or ID of the volume to modify.') @utils.arg('--state', metavar='<state>', default='available', help=('Indicate which state to assign the volume. Options include ' 'available, error, creating, deleting, error_deleting. If no ' @@ -330,13 +326,13 @@ @utils.service_type('volumev2') def do_reset_state(cs, args): """Explicitly update the state of a volume.""" - volume = _find_volume(cs, args.volume) + volume = utils.find_volume(cs, args.volume) volume.reset_state(args.state) @utils.arg('volume', metavar='<volume>', - help='ID of the volume to rename.') + help='Name or ID of the volume to rename.') @utils.arg('name', nargs='?', metavar='<name>', @@ -360,12 +356,12 @@ elif args.description is not None: kwargs['description'] = args.description - _find_volume(cs, args.volume).update(**kwargs) + utils.find_volume(cs, args.volume).update(**kwargs) @utils.arg('volume', metavar='<volume>', - help='ID of the volume to update metadata on.') + help='Name or ID of the volume to update metadata on.') @utils.arg('action', metavar='<action>', choices=['set', 'unset'], @@ -379,7 +375,7 @@ @utils.service_type('volumev2') def do_metadata(cs, args): """Set or Delete metadata on a volume.""" - volume = _find_volume(cs, args.volume) + volume = utils.find_volume(cs, args.volume) metadata = _extract_metadata(args) if args.action == 'set': @@ -442,7 +438,7 @@ @utils.arg('snapshot', metavar='<snapshot>', - help='ID of the snapshot.') + help='Name or ID of the snapshot.') @utils.service_type('volumev2') def do_snapshot_show(cs, args): """Show details about a snapshot.""" @@ -450,9 +446,9 @@ _print_volume_snapshot(snapshot) -@utils.arg('volume-id', - metavar='<volume-id>', - help='ID of the volume to snapshot') +@utils.arg('volume', + metavar='<volume>', + help='Name or ID of the volume to snapshot') @utils.arg('--force', metavar='<True|False>', help='Optional flag to indicate whether ' @@ -484,24 +480,26 @@ if args.display_description is not None: args.description = args.display_description - snapshot = cs.volume_snapshots.create(args.volume_id, + volume = utils.find_volume(cs, args.volume) + snapshot = cs.volume_snapshots.create(volume.id, args.force, args.name, args.description) _print_volume_snapshot(snapshot) -@utils.arg('snapshot-id', - metavar='<snapshot-id>', - help='ID of the snapshot to delete.') +@utils.arg('snapshot', + metavar='<snapshot>', + help='Name or ID of the snapshot to delete.') @utils.service_type('volumev2') def do_snapshot_delete(cs, args): """Remove a snapshot.""" - snapshot = _find_volume_snapshot(cs, args.snapshot_id) + snapshot = _find_volume_snapshot(cs, args.snapshot) snapshot.delete() -@utils.arg('snapshot', metavar='<snapshot>', help='ID of the snapshot.') +@utils.arg('snapshot', metavar='<snapshot>', + help='Name or ID of the snapshot.') @utils.arg('name', nargs='?', metavar='<name>', help='New name for the snapshot.') @utils.arg('--description', metavar='<description>', @@ -528,7 +526,7 @@ @utils.arg('snapshot', metavar='<snapshot>', - help='ID of the snapshot to modify.') + help='Name or ID of the snapshot to modify.') @utils.arg('--state', metavar='<state>', default='available', help=('Indicate which state to assign the snapshot. ' @@ -762,9 +760,9 @@ return utils.find_resource(cs.volume_types, vtype) -@utils.arg('volume-id', - metavar='<volume-id>', - help='ID of the volume to snapshot') +@utils.arg('volume', + metavar='<volume>', + help='Name or ID of the volume to snapshot') @utils.arg('--force', metavar='<True|False>', help='Optional flag to indicate whether ' @@ -793,7 +791,7 @@ @utils.service_type('volumev2') def do_upload_to_image(cs, args): """Upload volume to image service as image.""" - volume = _find_volume(cs, args.volume_id) + volume = utils.find_volume(cs, args.volume) _print_volume_image(volume.upload_to_image(args.force, args.image_name, args.container_format, @@ -815,7 +813,7 @@ @utils.arg('volume', metavar='<volume>', - help='ID of the volume to backup.') + help='Name or ID of the volume to backup.') @utils.arg('--container', metavar='<container>', help='Optional backup container name. (Default=None)', default=None) @@ -839,12 +837,13 @@ if args.display_description is not None: args.description = args.display_description - backup = cs.backups.create(args.volume, + volume = utils.find_volume(cs, args.volume) + backup = cs.backups.create(volume.id, args.container, args.name, args.description) - info = {"volume_id": args.volume} + info = {"volume_id": volume.id} info.update(backup._info) if 'links' in info: @@ -853,7 +852,7 @@ utils.print_dict(info) -@utils.arg('backup', metavar='<backup>', help='ID of the backup.') +@utils.arg('backup', metavar='<backup>', help='Name or ID of the backup.') @utils.service_type('volumev2') def do_backup_show(cs, args): """Show details about a backup.""" @@ -875,7 +874,7 @@ @utils.arg('backup', metavar='<backup>', - help='ID of the backup to delete.') + help='Name or ID of the backup to delete.') @utils.service_type('volumev2') def do_backup_delete(cs, args): """Remove a backup.""" @@ -885,18 +884,21 @@ @utils.arg('backup', metavar='<backup>', help='ID of the backup to restore.') -@utils.arg('--volume-id', metavar='<volume-id>', - help='Optional ID of the volume to restore to.', +@utils.arg('--volume-id', metavar='<volume>', + help='Optional ID(or name) of the volume to restore to.', default=None) @utils.service_type('volumev2') def do_backup_restore(cs, args): """Restore a backup.""" - cs.restores.restore(args.backup, - args.volume_id) + if args.volume: + volume_id = utils.find_volume(cs, args.volume).id + else: + volume_id = None + cs.restores.restore(args.backup, volume_id) @utils.arg('volume', metavar='<volume>', - help='ID of the volume to transfer.') + help='Name or ID of the volume to transfer.') @utils.arg('--name', metavar='<name>', default=None, @@ -909,7 +911,8 @@ if args.display_name is not None: args.name = args.display_name - transfer = cs.transfers.create(args.volume, + volume = utils.find_volume(cs, args.volume) + transfer = cs.transfers.create(volume.id, args.name) info = dict() info.update(transfer._info) @@ -919,7 +922,7 @@ @utils.arg('transfer', metavar='<transfer>', - help='ID of the transfer to delete.') + help='Name or ID of the transfer to delete.') @utils.service_type('volumev2') def do_transfer_delete(cs, args): """Undo a transfer.""" @@ -951,7 +954,7 @@ @utils.arg('transfer', metavar='<transfer>', - help='ID of the transfer to accept.') + help='Name or ID of the transfer to accept.') @utils.service_type('volumev2') def do_transfer_show(cs, args): """Show details about a transfer.""" @@ -963,7 +966,8 @@ utils.print_dict(info) -@utils.arg('volume', metavar='<volume>', help='ID of the volume to extend.') +@utils.arg('volume', metavar='<volume>', + help='Name or ID of the volume to extend.') @utils.arg('new-size', metavar='<new_size>', type=int, @@ -971,7 +975,7 @@ @utils.service_type('volumev2') def do_extend(cs, args): """Attempt to extend the size of an existing volume.""" - volume = _find_volume(cs, args.volume) + volume = utils.find_volume(cs, args.volume) cs.volumes.extend(volume, args.new_size) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-cinderclient-1.0.5.25.gd7796ef/python_cinderclient.egg-info/PKG-INFO new/python-cinderclient-1.0.5.29.g665abd9/python_cinderclient.egg-info/PKG-INFO --- old/python-cinderclient-1.0.5.25.gd7796ef/python_cinderclient.egg-info/PKG-INFO 2013-09-15 11:21:24.000000000 +0200 +++ new/python-cinderclient-1.0.5.29.g665abd9/python_cinderclient.egg-info/PKG-INFO 2013-09-25 09:56:32.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: python-cinderclient -Version: 1.0.5.25.gd7796ef +Version: 1.0.5.29.g665abd9 Summary: OpenStack Block Storage API Client Library Home-page: http://www.openstack.org/ Author: OpenStack -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org