Commit Graph

85 Commits

Author SHA1 Message Date
Flaper Fesp 7daa976d14 Do not decode headers in v1/images.py
v1.images._image_meta_to_headers currently encodes headers as a way to
ensure they're an instance of basestring. This is not necessary since
headers will be encoded later during the request. Also, all data within
the client should be already decoded.

Fixes bug: #1187013

Change-Id: I80525adbc6e9e576cfad5b576090ef9ee574c1cf
2013-06-04 00:41:24 +02:00
Hugh Saunders a3585ef62d Don't attempt to read stdin if it is empty.
* 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
2013-05-23 13:37:09 +01:00
Zhi Yan Liu 8c70c5b08d Convert non-ascii characters within image property to unicode
Convert non-ascii characters within image property (key/value pair) to
unicode but utf-8 to prevent provisioning failure when cloud using qpid
backend.
This change also make the image property encoding consistency between
the image updating and the receiving. Before this, image property
updating use unicode, but receiving (get) result is utf-8.

Fixes: Bug #1180377

Change-Id: I010760c598a7e008c79f1240255708265352cdb5
Signed-off-by: Zhi Yan Liu <zhiyanl@cn.ibm.com>
2013-05-21 00:03:31 +08:00
Jenkins 4bbc7b8a9b Merge "Improve Python 3.x compatibility" 2013-04-24 16:38:25 +00:00
Jenkins 1b5c3231ec Merge "bug 1166263 image-update handling for closed stdin" 2013-04-22 20:11:10 +00:00
Dirk Mueller 45feb672af Improve Python 3.x compatibility
Some mechanical translation of the deprecated
except x,y construct. Should work with Python >= 2.6
just fine

Change-Id: I394f9956b9e3e3d9f5f1e9ad50c35b13200af2a1
2013-04-22 16:38:55 +02:00
MattieuPuel 5ab88370d0 bug 1166263 image-update handling for closed stdin
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
2013-04-16 14:34:58 +02:00
Jakub Ruzicka c98432a6d4 Fix "glance add" parsing of "copy_from" option.
copy_from was ignored which resulted in "glance add" attempting to read from
stdout.

Fixes bug 1167899

Change-Id: I57fd85f7bb655bef69222d4fdf6b8274088ca827
2013-04-11 14:43:19 +02:00
John Bresnahan a8f7de2afd Filter images list by public=True|False
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
2013-03-30 21:26:35 -10:00
Brian Waldon fbb858aa77 Use getattr properly in legacy shell
Fixes bug 1131703

Change-Id: If97f422af170c29785d2bf8884fafff979031e14
2013-02-22 10:15:50 -08:00
Jenkins d831b5eb27 Merge "Decode input and encode output" 2013-02-18 18:58:14 +00:00
Flaper Fesp 55cb4f4473 Decode input and encode output
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
2013-02-13 21:53:11 +01:00
Vishvananda Ishaya 60cfebc31b Quote image ids before passing them to glance
If the image id contains a space it needs to be quoted or else
it will construct an improper header.

Fixes bug 1111948

Change-Id: I4db2e74401b57de9666d40b38151182b2a76cd1b
2013-01-31 16:21:14 -08:00
David Wittman ed67c32014 Fix typo in image-update help page
The image-update help page reversed the DISK_FORMAT
and CONTAINER_FORMAT metavars.

Fixes bug #1111054

Change-Id: Iec8374782d00e8e9102141fb1e1c16d7f6ac136c
2013-01-30 22:15:19 -06:00
Ken'ichi Ohmichi 0aba81ac1f Add image names to glance command arguments.
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
2013-01-05 07:32:25 +09:00
Brian Waldon 2500e69b22 Update --location help to reference swift store.
Fixes bug 1085575.

Change-Id: I6b325874a21e63fa02fe261f19e3d071f2b220d9
2012-12-03 15:01:34 -08:00
Jenkins 7be3395c6c Merge "Change default image sort to use name" 2012-11-30 21:27:15 +00:00
Jenkins b66e6faac0 Merge "Add --sort-key and --sort-dir to image-list" 2012-11-30 21:22:23 +00:00
Brian Waldon 4fa6805242 Change default image sort to use name
Fixes bug 1081542.

Change-Id: I9e09c3fe3b6c2bfce7e37df1d29b37a42168e878
2012-11-28 09:50:46 -08:00
Brian Waldon 4da8b287b4 Add --sort-key and --sort-dir to image-list
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
2012-11-28 09:46:32 -08:00
Jenkins 09c8216177 Merge "Allow setting x-image-meta-store through shell on image creation" 2012-11-26 23:20:19 +00:00
Chuck Short c0ec97f310 Pin pep8 to 1.3.3
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>
2012-11-25 11:34:56 -05:00
Florian Haas c2ba627ec1 Allow setting x-image-meta-store through shell on image creation
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
2012-11-24 11:22:41 +01:00
Jenkins e40580b77a Merge "Make image sizes more readable for humans" 2012-11-19 18:56:52 +00:00
Christian Berendt b24832c22a Make image sizes more readable for humans
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
2012-11-19 10:15:19 -08:00
Brian Waldon 0e90f8ef23 Set useful boolean flag metavars
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
2012-11-19 09:08:50 -08:00
Andre Naehring 00eff28f28 Enhance --checksum help with algorithm
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
2012-11-14 15:37:31 +01:00
Jenkins a8e88aa340 Merge "Allow deletion of multiple images through CLI" 2012-10-25 02:23:49 +00:00
Sulochan Acharya 8b2c227f27 Allow deletion of multiple images through CLI
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
2012-10-24 06:06:50 -05:00
Sulochan Acharya 1e14e82c81 Fixes shell command for member-delete
Fixes the member-delete cli command and string formatting for
dry-run option.
Fixes bug1064320

Change-Id: I338f03d53da5c9b7656ae4d1335de9623b774dd8
2012-10-23 08:15:55 -05:00
Jenkins 9004ee40df Merge "Display acceptable disk/container formats in help text" 2012-10-13 02:54:09 +00:00
Stuart McLaren 727aadbc25 Handle create/update of images with unknown size
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
2012-10-08 11:16:18 +00:00
Brian Waldon b5d46e2e0d Display acceptable disk/container formats in help text
Fixes bug #1056497

This patch provides more information in the help text. Originally the text
provided the trivial definitions of the arguments disk_format and
container_format. This patch updates the text to display the acceptable
formats.

Change-Id: I893b52c9f72a34c75e8bea522820863592300302
2012-10-04 06:28:41 -07:00
Jenkins e140dbb0c7 Merge "Fixes glance add / update / image-create / image-update on Windows" 2012-09-18 20:44:58 +00:00
Stuart McLaren cdc94af297 Typo in image-create help page
The image-create help page reversed the DISK_FORMAT
and CONTAINER_FORMAT metavars.

Fixes bug 1051968.

Change-Id: I385cb0912ad87a62fd10742b5da23a5ea8bc9bb8
2012-09-17 13:43:08 +00:00
Alessandro Pilotti 91896ff518 Fixes glance add / update / image-create / image-update on Windows
Fixes Bug #1050345

The image upload hangs if the file contains a byte with value 0x1A (EOF), due to
the fact that the file or stdin streams are treated as text and not
binary streams. This fix sets the proper binary mode.

Change-Id: I3425cb9729a8da4d1b73fbfba06fd6f2c7e8833e
2012-09-13 19:09:11 +03:00
Jenkins 92d87c0f7c Merge "Specified Content-Length in update request header" 2012-09-10 23:38:06 +00:00
Brian Rosmaita 2f1e0299e8 Corrects URI to display hostname, port properly
Fixes bug 1035931

Change-Id: I1b4e8a226c21d137b24bc5b75299bcf4ab4efefb
2012-09-10 19:27:54 +00:00
Unmesh Gurjar 30d8e1b97c Specified Content-Length in update request header
While uploading a Volume to an image, the HTTPConnection's request method does
not set the Content-Length header (since the volume file is a sym link i.e. the
os.fstat call returns a st_size of 0). This causes Volume uploads to Glance
fail (since the image data is ignored as no content-length is specified).
Therefore setting the Content-Length from update( ) method if the image data is
provided.

Fixes LP: #1045824

Change-Id: If259fc5a338e3e90214a52b773132ed901691c0f
2012-09-06 00:41:08 -07:00
Jenkins 01ec6d942d Merge "Update command descriptions" 2012-08-21 23:07:57 +00:00
Brian Waldon 5069d66d51 Update command descriptions
Several commands did not have descriptions or the descriptions
they had were insufficient. This adds mission descriptions
and fattens up those that were too lean.

Change-Id: I091ae70cdae5d3f72f273519d88873cb5392ba3b
2012-08-21 13:13:09 -07:00
Lars Gellrich c24fc93142 Enable client V1 to download images
Added the CLI option image-download to download an image via API V1.
Based on commit 137b3cf975

Related to bp glance-client-v2

Change-Id: Ie587e208ad7433e468798cd9b1846b4a21e1c4ec
2012-08-16 14:25:08 +00:00
Brian Lamar d64876424e Ensure v1 'limit' query parameter works correctly.
The tests were present but were not asserting list results.

page_size was overriding the absolute limit so limits were
not working if they were less than the page_size.

Fixes bug 1037233

Change-Id: If102824212e3846bc65d3f7928cf7aa2e48aaa63
2012-08-15 14:50:11 -04:00
Brian Waldon a5b8165d7d Allow 'deleted' to be passed through image update
The legacy client allowed users to pass 'deleted' through an
update call. This is breaking some clients of this library because
they expect to be be able to still do that.

Fixes bug 1036315

Change-Id: I9ae20a5e4579240c7d5e86316d6d1e927755dbf5
2012-08-13 10:56:27 -07:00
Brian Waldon 8f0d5c4f2c Cast is_public, protected, deleted to bool
To keep a consistent view of an image, is_public, protected, and
deleted need to be cast to a bool when being parsed from headers.

Fix bug 1036299

Change-Id: I2730a0f2d705d26ebc0ba883e99c1caf44d70b51
2012-08-13 10:55:43 -07:00
Brian Waldon 1e539dfdbe Return known int values as int, not str
Cast size, min_ram, min_disk to integers before returning them
to the user from the v1 API.

Fixes bug 1036297

Change-Id: Ib1e2a3bf931e433b6311cc8a1a5219168b50be97
2012-08-13 10:18:51 -07:00
Jenkins 392dfd6d0d Merge "SSL Certificate Validation" 2012-08-10 18:35:33 +00:00
Lars Gellrich 137b3cf975 Enable client V2 to download images
Added the CLI option image-download to download an image via API V2.
Added utility function to save an image.
Added common iterator to validate the checksum.

Related to bp glance-client-v2

Change-Id: I0247f5a3462142dc5e9f3dc16cbe00c8e3d42f42
2012-08-09 17:14:22 +00:00
Jenkins 127463e14d Merge "Add missing copyright headers" 2012-08-08 17:55:22 +00:00
Brian Waldon 62098527b9 legacy_shell.py shouldn't be executable
Change-Id: Ife6e9e47ece3971a3872e781a39e30bcb38e3bf7
2012-08-07 20:30:20 -07:00