Add the type to the parameters that require an integer
in the V1 shell to avoid sending an improper request.
Change-Id: Idb1ed39b11ca737fdd42d24e297c142f28dce35c
Make help strings consistent to use "." at end of string.
Fix capitalization of API in one help string.
Change-Id: I7cc5289d881c5e58aad9c69b4668584cdeb0b376
This patch fixes a bug where both 'location' and 'progress' are passed
as command line arguments. In this case, the 'data' field is not
present in the fields dict and therefore the progress option cannot be
used. A check is added to make sure the user has specified both a local
image file and the progress flag together.
Change-Id: Ia563139ee8b56d54d480534986e4b619a503fbfc
Closes-Bug: #1259357
Using common method 'bool_from_string' from oslo strutils to replace
utils.string_to_bool.
partially implements blueprint common-client-library-2
Change-Id: I23924db3000feadcfe823c6cc979ea9752a13fa9
Based on current implement, the cli output format will be bad if
the lines are too long. This issue can be fixed by setting 'max_width'.
However, there is a bug against it, see
https://code.google.com/p/prettytable/source/browse/trunk/CHANGELOG?r=85
line 3. So the requirements.txt is updated as well.
docImpact
Fixes bug 1251283
Change-Id: I0d4192ad9d10a3d6d47a8319463a5edb57719a68
Provides command line support for image-create, image-update,
and image-upload using the Glance V2 API. This includes building
help text for create and update based on the image jsonschema
as fetched from the server.
Also fixes bug caused by default warlock patch generation not
matching what Glance expects when updating a core property
which had not originally been set when the image was created.
Related to bp glance-client-v2
Change-Id: I841f9e3d05802f4b794cb6f4849abe03ff0324d9
Enumerated options should have the same format for all enumerated options.
This commit moves all options to the {option1,option2} format.
fixes bug: #1155171
Change-Id: I8e0ecf3896c76021cb027cbbbb3b5564a04aacec
While trunk devstack was updated for this, stable/folsom and stable/grizzly
are not and grenade is now broken. I'm not sure how long --public was
undocumented but it may be that certain cli args may need to remain deprecated
but supported for longer than we wish.
This reverts commit ce8636b6b3
Change-Id: I91d4884e470c8fcc611dae62a30fa22d08dbec03
Add a new module that contain generic wrapper for file and iterator, which
are used to wrap image to upload and the request body iterator in upload and
download cases repectively, to show and advance a pretty progress bar when this
laters are consumed, The progress bar is triggered by adding a --progress command
line argument to commands: image-create, image-download or image-update.
Change-Id: I2ba42fd0c58f4fa087adb568ec3f08246cae3759
bug fix: LP#1112309
blueprint: progressbar-when-uploading
As noted by bcwaldon the parameter can be removed after updating
Devstack. Should be done after merging the following change:
https://review.openstack.org/#/c/39323/
Change-Id: I8d0f7ab4cccccf022446374a31e03ac913cfb136
Add a '--all-tenants' option to the image-list command. This adds
'is_public=None' to the query string passed to the server, and for an
admin user results in a listing of all images present on the server
irrespective of owner or public values.
Addresses bug 1201787.
Change-Id: I38dd0752a31ebea84f16b786d205e82eba1a96bc
Add the --owner option to the v1 client's image-list command to support
filtering images based on the owner (tenant id).
Allows administrators to more easily list a particular user's images.
Note that this is far less efficient than v2 server-side owner based filtering.
Addresses bug 1201765.
Change-Id: I4ffa522b96c91e659c87f5452f2f1f44e47e806b
Glanceclient implemented both functions before they landed into oslo.
Since both functions are already in oslo, it is now possible to pull
them in.
There's a small difference between glance's implementation and oslo's,
that is the later does not convert non-str objects - int, bool - to str
before trying to decode / encode them. This patch takes care of that
where necessary, more precisely, while encoding headers before doing a
new request.
Fixes bug: #1172253
Change-Id: I9a0dca31140bae28d8ec6aede515c5bb852b701b
For image-updae and image-create commands, glanceclient attempts to
determine whether image data should be uploaded based on the presence
of data on stdin. Unforunately it is difficult to determine if data is
available, especially when standard in is from a pipe.
This is especially problematic for update operations, where data must
only be uploaded if the image is in queued state. For example data may
be uploaded when the user only wants to rename an image, but the rename
will be rejected because data cannot be uploaded to an unqueued image.
This patch removes the check that attempts to determine if data is
available to read as it didn't work for pipes. It also re-introduces a
check for image state in the update operation, so that glanceclient only
attempts to read data if the image being updated is in queued state.
The image state check is part of the original patchset that was removed
so the patchset could have a single focus [1]
This patch also removes a test for handling empty stdin, and adds a test
for reading stdin from a pipe.
[1] https://review.openstack.org/#/c/27536/3/glanceclient/v1/shell.py
Fixes: bug 1184566
Related to: bug 1173044
Change-Id: I8d37f6412a0bf9ca21cbd75cde6a4d5a174e5545
* Check for available data size in v1/shell.py/_set_data_field, don't
read if 0.
* Add test_shell.py including tests for 3x stdin scenarios:
* closed
* open and empty
* open with data
Change-Id: I6ff65b0e226be509de9cd3f021560081529283b0
Fixes: bug #1173044
Some mechanical translation of the deprecated
except x,y construct. Should work with Python >= 2.6
just fine
Change-Id: I394f9956b9e3e3d9f5f1e9ad50c35b13200af2a1
handles the case where an image-update command is issued from a cron job with an
invalid standard input file descriptor: consider no image data is provided when
no --file option present.
Change-Id: I5eb3433311e5faf0a3fb7eb36f6a01e5df7efe4c
When running the image-list command the user should have the option
to list images according to whether or not the image is was set
to public. A new test is included to verify this behavior.
Change-Id: If645e7390fcf850648cda780a04ea37a26d855a2
Fixes bug: 1118799
Currently glanceclient doesn't support non-ASCII characters for images
names and properties (names and values as well). This patch introduces 2
functions (utils.py) that will help encoding and decoding strings in a
more "secure" way.
About the ensure_(str|unicode) functions:
They both try to use first the encoding used in stdin (or python's
default encoding if that's None) and fallback to utf-8 if those
encodings fail to decode a given text.
About the changes in glanceclient:
The major change is that all inputs will be decoded and will kept as
such inside the client's functions and will then be encoded before
being printed / sent out the client.
There are other small changes, all related to encoding to str,
around in order to avoid fails during some conversions. i.e: quoting
url encoded parameters.
Fixes bug: 1061150
Change-Id: I5c3ea93a716edfe284d19f6291d4e36028f91eb2
The image-update help page reversed the DISK_FORMAT
and CONTAINER_FORMAT metavars.
Fixes bug #1111054
Change-Id: Iec8374782d00e8e9102141fb1e1c16d7f6ac136c
Now a user should specify ID as an image by glance command, and I feel
it is easy-use that a user can specify name also as an image like nova
command(ex. "nova boot").
By applying this patch, a user can specify name as image like the
following examples:
$ glance image-show cirros-0.3.0-x86_64-uec
$ glance image-update --name root-fs cirros-0.3.0-x86_64-uec
$ glance image-delete cirros-0.3.0-x86_64-uec
$ glance image-download cirros-0.3.0-x86_64-uec
$ glance member-create cirros-0.3.0-x86_64-uec 94b0e63a27ca43348fe056622fe3fe94
$ glance member-delete cirros-0.3.0-x86_64-uec 94b0e63a27ca43348fe056622fe3fe94
Fixes bug 1093380
Change-Id: Ia0a070eed6ae3853ef02032f479087edb1d75a67
The --sort-key and --sort-dir CLI options allow users to control the
field and direction by which their images are sorted in an image-list
operation. The previous default sort behavior of sorting by ID asc has
been preserved.
Fixes bug 1082957.
Change-Id: I1d3664219c275b0379fe176f8288d6ffae0dffbe
Standardize pep8 to 1.3.3 and cleared up any errors
found by pep8 tests.
Change-Id: Ib7eb97d0789556d1676ccad58b5d3364065b7d15
Signed-off-by: Chuck Short <chuck.short@canonical.com>
Add a command line arg "--store" to "glance image-create" so users
can specify a store other than the default on image creation.
Change-Id: Icf9a894b08e405d6884964b3cfaa80250e85ed71
By introducing the parameter --human-readable for several functions
(image-list, image-show, image-update, image-create) it's possible
to convert the size in bytes to something more readable like
9.309MB or 1.375GB.
Change-Id: I4e2654994361dcf330ed6d681dbed73388f159cb
The boolean flags --is-protected and --is-public now
communicate that they must be set to True or False.
Fixes bug 1056501.
Change-Id: I23094ea556eb71d6eb977a64c171119738ed792b
Fixes bug 1056499.
Added a line to the help text of --checksum which enhances the help text
to show what checksum algorithm is expected.
Change-Id: Ie6604022dd9f398c639afe647b2d94b5179dbb61
Add nargs to argparse for image-delete command to
allow muliple (optional) positional image-id arguments.
For example:
image-delete xxx aaa yyy will delete valid images
xxx and yyy and print error message for invalid image
aaa. Also with --verbose you can see some extra text
on delete request for each image.
Fixes bug1056498.
Change-Id: I6e804700ed24d16f90ec92569c0893cad4aaa26f
It may not be possible to know in advance the total
size of image data which is to be uploaded, for example
if the data is being piped to stdin.
To handle this we use HTTP Transfer-Encoding: chunked
and do not set any image size headers.
Various subtly different cases needed to be handled for
both image-create and image-update, including:
* input from named pipe
* piped input of zero size
* regular file of zero length
Fix for bug 1056220.
Change-Id: I0c7f0a64d883e058993b954a1c465c5b057f2bcf