def do_backup_list(cs, args): """list backups.""" all_tenants = 1 if args.tenant else \ int(os.environ.get("ALL_TENANTS", args.all_tenants)) search_opts = { 'all_tenants': all_tenants, 'project_id': args.tenant, 'name': args.name, 'status': args.status, 'volume_id': args.volume_id } if args.sort and (args.sort_key or args.sort_dir): raise exceptions.CommandError( 'The --sort_key and --sort_dir arguments are deprecated and are ' 'not supported with --sort.') backups = cs.backups.list(search_opts=search_opts, marker=args.marker, limit=args.limit, sort_key=args.sort_key, sort_dir=args.sort_dir, sort=args.sort) columns = ['Id', 'Name', 'Status', 'Volume id'] if args.sort_key or args.sort_dir or args.sort: sortby_index = None else: sortby_index = 0 utils.print_list(backups, columns, exclude_unavailable=True, sortby_index=sortby_index)
def do_checkpoint_delete(cs, args): """Delete checkpoint.""" failure_count = 0 for item in args.checkpoint: try: checkpoint = shell_utils.find_checkpoint(cs, item) cs.checkpoints.delete(checkpoint.id) print("Request to delete checkpoint %s has been accepted." % item) except Exception as e: print("Delete for checkpoint %s failed: %s" % (item, e)) if failure_count == len(args.checkpoint): raise exceptions.CommandError("Unable to delete any of the specified " "checkpoints.")
def do_backup_delete(cs, args): """Delete snapshot.""" failure_count = 0 for item in args.backup: try: backup = shell_utils.find_backup(cs, item) cs.backups.delete(backup.id) print("Request to delete backup %s has been accepted." % item) except Exception as e: print("Delete for backup %s failed: %s" % (item, e)) if failure_count == len(args.backup): raise exceptions.CommandError("Unable to delete any of the specified " "backups.")
def do_replication_delete(cs, args): """Delete a replication.""" failure_count = 0 for item in args.replication: try: replication = shell_utils.find_replication(cs, item) cs.replications.delete(replication.id) print("Request to delete replication %s has been accepted." % item) except Exception as e: failure_count += 1 print("Delete for replication %s failed: %s" % (item, e)) if failure_count == len(args.replication): raise exceptions.CommandError("Unable to delete any of the specified " "replications.")
def do_snapshot_delete(cs, args): """Delete snapshot.""" failure_count = 0 for item in args.snapshot: try: snapshot = shell_utils.find_snapshot(cs, item) cs.snapshots.delete(snapshot.id) print("Request to delete snapshot %s has been accepted." % item) except Exception as e: failure_count += 1 print("Delete for snapshot %s failed: %s" % (item, e)) if failure_count == len(args.snapshot): raise exceptions.CommandError("Unable to delete any of the specified " "snapshots.")
def do_delete(cs, args): """Delete error or available sg volume.""" failure_count = 0 for item in args.volume: try: volume = shell_utils.find_volume(cs, item) cs.volumes.delete(volume.id) print("Request to delete volume %s has been accepted." % item) except Exception as e: failure_count += 1 print("Request to delete volume %s failed: %s." % (item, e)) if failure_count == len(args.volume): raise exceptions.CommandError("Unable to delete any of the specified " "volumes.")
def _extract_driver_data(args): if all((args.driver_data_json, args.driver_data)): raise exceptions.CommandError( "Must provider parameters " "driver-data-json or driver-data, not both") if not any((args.driver_data_json, args.driver_data)): return {} if args.driver_data_json: return jsonutils.loads(args.driver_data_json) driver_data = {} for resource_params in args.driver_data: for param_kv in resource_params.split(','): key, value = param_kv.split('=') driver_data[key] = value return driver_data