diff --git a/glanceclient/v1/shell.py b/glanceclient/v1/shell.py index d4d117e3..a7888f96 100644 --- a/glanceclient/v1/shell.py +++ b/glanceclient/v1/shell.py @@ -225,9 +225,12 @@ def do_image_create(gc, args): # Only show progress bar for local image files if fields.get('data') and args.progress: filesize = utils.get_file_size(fields['data']) - fields['data'] = progressbar.VerboseFileWrapper( - fields['data'], filesize - ) + if filesize is not None: + # NOTE(kragniz): do not show a progress bar if the size of the + # input is unknown (most likely a piped input) + fields['data'] = progressbar.VerboseFileWrapper( + fields['data'], filesize + ) image = gc.images.create(**fields) _image_show(image, args.human_readable) diff --git a/glanceclient/v2/shell.py b/glanceclient/v2/shell.py index 4da2d990..d8cd194b 100644 --- a/glanceclient/v2/shell.py +++ b/glanceclient/v2/shell.py @@ -254,7 +254,10 @@ def do_image_upload(gc, args): image_data = utils.get_data_file(args) if args.progress: filesize = utils.get_file_size(image_data) - image_data = progressbar.VerboseFileWrapper(image_data, filesize) + if filesize is not None: + # NOTE(kragniz): do not show a progress bar if the size of the + # input is unknown (most likely a piped input) + image_data = progressbar.VerboseFileWrapper(image_data, filesize) gc.images.upload(args.id, image_data, args.size)