Merge "Show error on trying to upload to non-queued image"
This commit is contained in:
@@ -17,6 +17,7 @@ from __future__ import print_function
|
|||||||
|
|
||||||
import copy
|
import copy
|
||||||
import functools
|
import functools
|
||||||
|
import os
|
||||||
import six
|
import six
|
||||||
|
|
||||||
from oslo_utils import encodeutils
|
from oslo_utils import encodeutils
|
||||||
@@ -244,6 +245,17 @@ def do_image_create(gc, args):
|
|||||||
_image_show(image, args.human_readable)
|
_image_show(image, args.human_readable)
|
||||||
|
|
||||||
|
|
||||||
|
def _is_image_data_provided(args):
|
||||||
|
"""Return True if some image data has probably been provided by the user"""
|
||||||
|
# NOTE(kragniz): Check stdin works, then check is there is any data
|
||||||
|
# on stdin or a filename has been provided with --file
|
||||||
|
try:
|
||||||
|
os.fstat(0)
|
||||||
|
except OSError:
|
||||||
|
return False
|
||||||
|
return not sys.stdin.isatty() or args.file or args.copy_from
|
||||||
|
|
||||||
|
|
||||||
@utils.arg('image', metavar='<IMAGE>', help='Name or ID of image to modify.')
|
@utils.arg('image', metavar='<IMAGE>', help='Name or ID of image to modify.')
|
||||||
@utils.arg('--name', metavar='<NAME>',
|
@utils.arg('--name', metavar='<NAME>',
|
||||||
help='Name of image.')
|
help='Name of image.')
|
||||||
@@ -322,6 +334,12 @@ def do_image_update(gc, args):
|
|||||||
fields['data'], filesize
|
fields['data'], filesize
|
||||||
)
|
)
|
||||||
|
|
||||||
|
elif _is_image_data_provided(args):
|
||||||
|
# NOTE(kragniz): Exit with an error if the status is not queued
|
||||||
|
# and image data was provided
|
||||||
|
utils.exit('Unable to upload image data to an image which '
|
||||||
|
'is %s.' % image.status)
|
||||||
|
|
||||||
image = gc.images.update(image, purge_props=args.purge_props, **fields)
|
image = gc.images.update(image, purge_props=args.purge_props, **fields)
|
||||||
_image_show(image, args.human_readable)
|
_image_show(image, args.human_readable)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user