Commit Graph

201 Commits

Author SHA1 Message Date
Thomas Leaman 822cd64c07 Fix SSL certificate CNAME checking
Currently, accessing a host via ip address will pass SSL verification;
the CNAME is not checked as intended as part of verify_callback.

'preverify_ok is True' will always return false (int/bool comparison).
preverify_ok will be 1 if preverification has passed.

Fixes bug 1192229

Change-Id: Ib651548ab4289295a9b92ee039b2aff2d08aba5f
2013-07-15 08:50:17 +00:00
Venkatesh Sampath b9c1df8dfc Enable client V2 to update/delete tags for a given image.
Added the CLI option image-tag-update to associate a tag to an image via API V2.
Added the CLI option image-tag-delete to delete a tag associated with an image via API V2.

Related to bp glance-client-v2

Change-Id: I76060e1982223770a6c2c0bd9376d568af0df456
2013-07-02 21:32:49 +05:30
Dirk Mueller 62579fbb21 Start using Pyflakes and Hacking
Instead of globally ignoring pyflakes and
hacking warnings, only blacklist those that trigger
very frequently so far, in order to clean them
up in followup commits. Fix and start gating
on the rest already.

Change-Id: Ied7c7250061e3bf379e8286e8ce3b9e4af817faf
2013-06-22 16:00:26 +02:00
Kevin McDonald d8a537c7fe Removes extra slash on endpoints without a path
Change-Id: I5ce54117c5ac276fb9629c71eb16db88e078c947
Fixes: bug #1179984
2013-06-19 15:49:05 +00:00
Jenkins c120aff87f Merge "Fix problem where image data is not read from a pipe." 2013-06-18 12:47:31 +00:00
Flaper Fesp 7818387d4a Replace utils.ensure_(str|unicode) with strutils.safe(decode|encode)
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
2013-06-04 00:42:32 +02:00
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 9fda0dc815 Fix problem where image data is not read from a pipe.
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
2013-06-03 18:01:58 +01:00
Jenkins 7d48783434 Merge "Update importutils and openstack-common.conf format" 2013-05-31 08:05:25 +00: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
Flaper Fesp 9e515245a3 Update importutils and openstack-common.conf format
THe patch updates the importutils module and uses a per-line module
specification instead of the old modules= options.

Change-Id: Ieb28780bb9034fd61942305ff1eec21b3637027a
2013-05-23 11:11:56 +02:00
Jenkins 2a56a32edb Merge "Migrate to pbr." 2013-05-22 23:40:31 +00: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
Monty Taylor 4f9d4d051a Migrate to pbr.
Fixes bug 1179007.

Change-Id: I99d571bbf37ef53366a96de088c249cb6fd23b0e
2013-05-18 09:02:07 -07:00
iccha-sethi 18795f590a Image Members for glance v2 api
Lists, creates, deletes, updates image members using glance
v2 api.

Related to bp glance-api-v2-image-members

Change-Id: Ic018a265a1676bb0a5638a55e70a527ce6b447fc
2013-05-09 10:54:12 +00:00
Andy McCrae a3223b9972 Fix inconsistent --debug messages on image-update
image-update --debug message no longer adds '-d "None"' to the curl command that
is output. This keeps the curl output consistent with the client
request.

Fixes bug #1172702

Change-Id: I34ceeb6f4a67c753ca3a805ec11240a99ce38ec4
2013-04-27 13:48:57 +01:00
Jenkins addd3c3be3 Merge "Prevent WantReadError when using https" 2013-04-24 19:07:03 +00:00
Jenkins 4bbc7b8a9b Merge "Improve Python 3.x compatibility" 2013-04-24 16:38:25 +00:00
Stuart McLaren 2f33f5f283 Prevent WantReadError when using https
If the glance client is instantiated when the socket module has been
monkey patched requests to the server can yield a WantReadError because
the socket has been set to non-blocking but this is not being handled
correctly. When this is the case use eventlet's GreenConnection which
handles non-blocking sockets correctly.

Also, for now, add a required getsockopt method to GreenConnection.
This can be removed once the eventlet fix
(https://bitbucket.org/eventlet/eventlet/commits/609f230) lands.

Fixes bug 1157864.

Change-Id: I187b69f75b8bcfe16facd41e69b1cd0490dae605
2013-04-23 13:48:10 +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
Davanum Srinivas e22d37d6f9 Sync with oslo-incubator copy of setup.py and version.py
Keep up with the changes to the master copy

Change-Id: Id938cc593a61b56a06c05069034bd958fc6aa8b3
2013-04-21 20:18:49 -04:00
Jenkins 11c2c40d46 Merge "Fix "glance add" parsing of "copy_from" option." 2013-04-22 00:05:29 +00: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
Davanum Srinivas b0ce15be3e Fix problem running glance --version
__version__ should point to a string and not VersionInfo

Fixes LP# 1164760

Change-Id: I27d366af5ed89d0931ef46eb1507e6ba0eec0b6e
2013-04-05 09:48:25 -04:00
Jenkins 6a8a66120c Merge "Filter images list by public=True|False" 2013-04-02 16:11:27 +00: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
John Bresnahan edf9ae5097 Trapping KeyboardInterrupt sooner.
Currently a KeyboardInterrupt can be triggered by the user while the
client is communicating with keystone.  This patch moves the trap
higher up in the stack.

Fixes bug: 1157905

Change-Id: I16889c2d97bc4694ab27c863c62c27333e264b60
2013-03-20 08:51:59 -10:00
Jenkins c7c8e92e3c Merge "Implements filters: visibility, owner, member_status. Includes tests." 2013-03-12 14:43:23 +00:00
Jenkins 8787c82f11 Merge "Control C does not cancel the CLI cleanly" 2013-03-11 21:54:47 +00:00
Brian Rosmaita 552a68d2bf Implements filters: visibility, owner, member_status.
Includes tests.

Related to bp glance-api-v2-image-members

Change-Id: Ic48f54639fec4dc9b48819a8ffb1f0097001894c
2013-03-08 14:01:34 +00:00
James Li d810019d0e Add missing spaces in help msg
Change-Id: Ida1dcd9c75d1c36ea1b4bfefcd1d1292b565ab6b
2013-03-06 23:42:50 +00:00
John Bresnahan 1a3d40ccb4 Control C does not cancel the CLI cleanly
When a user attempts to terminate the CLI with CTL+C a stack
trace is printed to the screen.  When downloading files the
partial amount downloaded will not be cleaned up.  In most
cases the user redirects to stdout, thus this program cannot
clean that up.

Fixes Bug: 1130390

Change-Id: If9f8ffc72b422d5dbd5969eecde8904238dd8860
2013-03-05 12:12:03 -10:00
Jenkins 0ca43be6fd Merge "Use getattr properly in legacy shell" 2013-02-27 01:26:42 +00:00
Brian Waldon 8ec7468134 Replace SchemaNotFound with HTTPNotFound
Fixes bug 1131682

Change-Id: I615acbef0411677cae5d30262702babd900c0c81
2013-02-22 10:21:00 -08:00
Brian Waldon fbb858aa77 Use getattr properly in legacy shell
Fixes bug 1131703

Change-Id: If97f422af170c29785d2bf8884fafff979031e14
2013-02-22 10:15:50 -08:00
Stanislaw Pitucha 7f7c9a1d85 Report name resolution errors properly
Errors in name resolution have been logged previously with the url path
rather than the hostname. That resulted in incorrect errors like:

InvalidEndpoint: Error finding address for
/v1/images/detail?is_public=none&limit=20: [Errno -2]
Name or service not known

rather than one mentioning hostname itself. This patch changes the log
message to fit the situation.

Change-Id: I1eecbcb22d41b1341c214937b9cbfd046fd301a0
2013-02-19 17:22:55 +00:00
Jenkins d831b5eb27 Merge "Decode input and encode output" 2013-02-18 18:58:14 +00:00
Jenkins 9f1cd2b16b Merge "Update to latest oslo-version." 2013-02-18 03:55:59 +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
Brian Waldon 00ba17965a Add library support for v2 image update
Related to bp glance-client-v2

Change-Id: Ia6fe16e462ce8827175577cbed8e15c326bf8ad3
2013-02-13 10:06:25 -08:00
Jenkins 882a7f514c Merge "Make effective ssl callback behaviour more obvious" 2013-02-13 02:03:49 +00:00
Monty Taylor d20d9d1ca4 Update to latest oslo-version.
Remove the need for versioninfo file and just use python's PKG-INFO.

Change-Id: I4765141e9bf3fa075dfbbc6a07e495c29e12177b
2013-02-07 05:10:08 -06:00
Stuart McLaren 118a0f7a30 Make effective ssl callback behaviour more obvious
When using 'insecure' no callback is executed.

Make it more obvious that the set_verify callback
won't be called by replacing it with a lambda.

Fixes bug 1112361.

Change-Id: Ib5d43a8883f7ed76383971d8154e2111f5ab2869
2013-02-01 15:36:35 +00: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
Jenkins 542a45bd28 Merge "Adds image-delete functionality." 2013-01-29 20:03:58 +00:00
Anita Kuno a6ef8ed7da Adds image-delete functionality.
Change-Id: Ic10433f6eb484a4760f3e61f040e903e86b95d91
2013-01-29 15:39:46 +00:00
Stuart McLaren 8d0d4b90f3 Change https port to be an optional parameter
VerifiedHTTPSConnection inherits from HTTPSConnection so 'port' should be
an optional argument. If not present it will be set by HTTPSConnection
in the usual way: by parsing the host string (eg 'localhost:8443')
or setting to the default of '443'.

Addresses bug 1102944.

Change-Id: I2c2cb92f824acf15b0ff54590b5614cf206b57e0
2013-01-22 11:44:12 +00:00