Commit Graph

214 Commits

Author SHA1 Message Date
Chris Buccella f0635ecf39 Return request ID to callers
Currently, calls (create, get, etc.) return only the Image to a
caller. In order to log a mapping the request IDs of both glanceclient
and the caller, the x-openstack-request-id header value is needed on
the server side. This change allows that value to be bubbled up and
returned to the caller so that the appropriate logging can occur.
The return_req_id parameter can be set by services that are logging
request IDs. Glance's request ID will then be returned via the
return_req_id parameter.

This is a prerequisite for Log Request ID Mappings nova-spec to
be completed; Change Ib9b820a0feeb0c0e828ed3e4fab8261f8761ba9a

Change I43be05c351f901cee5509c76cff6d69f060c0b3f is an example of
a caller using this.

Implements: blueprint return-req-id
Change-Id: Ia82aa14db5f0e453010514fffb9a25d7b0fc2fd1
2014-04-25 10:26:40 -04:00
Jenkins f2e0610628 Merge "Fix the parameter order of assertEqual in glanceclient v2 test" 2014-04-23 16:05:58 +00:00
Jenkins ae2b5d046a Merge "Fix the parameter order of assertEqual in glanceclient test" 2014-04-21 09:12:09 +00:00
Jenkins 59b04bde11 Merge "Fix for invalid literal ValueError parsing ipv6 url(s)" 2014-04-17 02:40:29 +00:00
wanghong 8619100597 progress flag not supported in v2 API
Currently only download method supports --progress flag in v2 API.
This patch let upload method in v2 API support this flag too.

Change-Id: I1d22379c320adb47a2178697e546413b9257f987
Closes-Bug: #1286265
2014-04-16 06:20:08 +00:00
Davanum Srinivas 078819cf9e Fix for invalid literal ValueError parsing ipv6 url(s)
Switch to using network_utils for splitting the URL. The code
in oslo-incubator supports ipv6 urls

Change-Id: I76be6173b97eb000319d30b4e9232a5a7c4a5aba
Closes-Bug: #1298137
2014-04-02 21:38:20 -04:00
Eiichi Aikawa 5528ba536f Fix the parameter order of assertEqual in glanceclient v1 test
On assertEqual, the order of parameters should be (expected, observed).
But, some part of glanceclient v1 test were written with invalid order.
This patch fixes this problem.

Change-Id: If361309041a257c56bfc1fbbccf1b905839b0c18
Partially-bug: #1277104
2014-03-17 17:14:14 +09:00
Jenkins 2929cc1961 Merge "Python 3: do not use __builtin__" 2014-03-08 09:44:04 +00:00
Jenkins 23b1b67128 Merge "Python3: do not use the 'file' type" 2014-03-08 07:14:35 +00:00
Cyril Roelandt 9b9b647c9d Python 3: do not use __builtin__
Use six.moves.builtins instead, this works with both Python 2 and 3.

Change-Id: I17cdf651edbf7907e2b8b3d6aec9ace8a76b0110
Closes-Bug: 1289107
2014-03-07 04:06:29 +01:00
wanghong ab5c5b5d7c Change assertTrue(isinstance()) by optimal assert
assertTrue(isinstance(A, B)) or assertEqual(type(A), B) in tests
should be replaced by assertIsInstance(A, B) provided by testtools.

I have searched all the tests, there is only one wrong usage.

Change-Id: Ib1db1a2dca7b5d8cbfe823973e4b571d0f0925c5
Closes-bug: #1268480
2014-03-06 16:18:39 +08:00
Jenkins a9dee7948d Merge "test_shell: remove a deprecated keyword argument" 2014-03-04 18:43:04 +00:00
Cyril Roelandt 2df7840cfa Python3: do not use the 'file' type
It does not exist in Python 3, so we have to use a workaround.

Change-Id: Ib41b5d12102707004b354835265861710aaba568
Closes-Bug: 1287728
2014-03-04 15:41:46 +01:00
Jenkins 4f9fc84118 Merge "Replace file with open, which is Python 3 compatible" 2014-03-04 04:22:07 +00:00
Eiichi Aikawa 900dc612d7 Fix the parameter order of assertEqual in glanceclient v2 test
On assertEqual, the order of parameters should be (expected, observed).
But, some part of glanceclient v2 test were written with invalid order.
This patch fixes this problem.

Partially Close-bug: #1277104

Change-Id: Iae3fb9dda28b67a07f527b15ca83d9cca3e867d4
2014-02-27 15:02:58 +09:00
Jenkins 8b76817c17 Merge "Python 3: Fix JsonPatch-related issues" 2014-02-25 10:06:15 +00:00
Eiichi Aikawa 3576b1bdcb Fix the parameter order of assertEqual in glanceclient test
On assertEqual, the order of parameters should be (expected, observed).
But, some part of glanceclient test were written with invalid order.
This patch fixes this problem.

Change-Id: I7722fdce766ce3cc5bc9944dc72d7d0af0b09f69
Partially-bug: #1277104
2014-02-25 16:18:19 +09:00
Cyril Roelandt ecf2868fb3 test_shell: remove a deprecated keyword argument
The 'version' keyword argument of argparse.ArgumentParser is deprecated. It was
set to 'None' anyway, so just remove it.

Closes-Bug: #1281856
Change-Id: I6e5af0d90e9b1e7a6a60d5183c13299101148442
2014-02-19 01:54:08 +01:00
Cyril Roelandt 3cced6085d Python 3: Fix JsonPatch-related issues
In Python 3, the generated JSON patches have a different representation than
those generated with Python 2. For instance, the patch generated in
test_patch_should_replace_missing_core_properties() is:

    '[{"op": "replace", "value": "red", "path": "/color"}]'

in Python 2, but:

    '[{"path": "/color", "value": "red", "op": "replace"}]'

in Python 3. Therefore, the comparison fails, and the test fail. We fix the
tests by comparing JsonPatch objects rather than strings.

Closes-Bug: #1281374
Change-Id: Id435e87664b2d2aa0ba69f2df1c1fad431651963
2014-02-19 01:43:23 +01:00
Cyril Roelandt fe006e0671 Pass bytes to tempfile.NamedTemporaryFile().write()
This method takes bytes as input; the current code fails in Python 3.

Closes-Bug: #1281372
Change-Id: I070d9e9e07523c124f3168b55048fb9d1b338f69
2014-02-18 03:00:03 +01:00
Alex Gaynor d465d60867 Replace file with open, which is Python 3 compatible
Change-Id: I471ae9b372f88a508d4654b1a18c6da90397a828
2014-02-13 06:59:18 -08:00
Shane Wang 0cda69f6a5 Fix misspellings in python-glanceclient
Fix misspellings detected by:
* pip install misspellings
* git ls-files | grep -v locale | misspellings -f -

Change-Id: I504521e702c675640ab3869c608fa96edd2477b4
Closes-Bug: #1257295
2014-02-07 13:31:58 +08:00
Edward Hope-Morley 4a41358cea Add support for image size in v2 api upload
Some backend stores e.g. RBD, will fail if told to create an
image without a valid size (RBD will fail to write to a zero-size
image). Here we add support to allow the image size to be provided
when doing an upload. The result is that the upload content-length
will be set if available either from checking the supplied file
object or as provided by user.

Closes-Bug: 1220197
Change-Id: Ia1f2ea5680a139750d931591949b3e0058148b4b
2014-02-03 11:10:50 +00:00
Jenkins ff7b588602 Merge "Handle endpoints with versions consistently" 2014-01-24 07:00:38 +00:00
Jenkins b6468e0a01 Merge "Allow updating empty created v2 images from v1" 2014-01-22 15:59:55 +00:00
Jenkins a801e8731a Merge "It was removed urllib, urllib2 & urlparse modules" 2014-01-22 15:59:53 +00:00
Stuart McLaren ee7fd2f5bd Handle endpoints with versions consistently
When using the cli the Glance client wraps the endpoint in a 'strip
version' function. This means that endpoints of the following forms can
both be used:

https://region-x.images.example.com:443/v1
https://region-x.images.example.com:443

When calling the client library directly (as Ceilometer does) however
only endpoints of the second form work. The cli and library should handle
the two cases consistently.

Addresses bug 1243276.

Change-Id: Ice7b581fee32540a7057ba47433a10166a3caed2
2014-01-22 11:16:58 +00:00
Jenkins f6c3d4e141 Merge "Replace file.write and os.path.exists by mock" 2014-01-22 03:44:07 +00:00
David Koo 3c5efdb74e Allow updating empty created v2 images from v1
When an empty image is created through python-glanceclient using v2 APIs
but updated using v1 APIs, python-glanceclient crashes with a "int()
argument must be a string or a number, not 'NoneType'" message.

This is because v1.images.ImageManager._format_image_meta_for_user
expects the 'size' (and 'min_ram' and 'min_disk') field of an image to
be convertible to 'int' but the server-side v2 APIs set it to 'None' for
an empty image. Therefore the conversion to int fails with the message
above.

This fix modifies _format_image_meta_for_user to check whether or not a
field can be converted to 'int' and, if not, returns 0 (zero) as the
value instead.

Tests have also been added.

Change-Id: I86680bc06c8ce3ee492efeb3f32071da4f293bcd
Closes-bug: #1258160
2014-01-20 09:46:58 +08:00
Victor Morales 29674c3f48 It was removed urllib, urllib2 & urlparse modules
Those modules have been combined in python 3. Therefore,
implementing the six module helps to have support to both versions.

Change-Id: I164a0f19790ff066d16d0cf4f0daa6f1097c848e
Closes-Bug: #1267181
2014-01-18 22:17:57 -06:00
Dirk Mueller e4d1961c92 python3: Switch to mox3 instead of mox
In order to transition to a python 3.x compatible world,
lets switch to mox3 which is python 3.x compatible drop-in
replacement of mox.

Change-Id: Id971475f0e92900689d6784ffc55ae5fe63d9fe4
2014-01-16 14:12:40 +01:00
Noboru arai 869ea2e61c Remove vim header
No need to set tabstop tons of times, this can be set in your vimrc
file instead.

More disucssion:
http://openstack.10931.n7.nabble.com/Remove-vim-modelines-td21780.html

Change-Id: I2b37758f9dbb2cad6457a879d4ed7ff0aa69ef8e
Partial-Bug: #1229324
2014-01-14 16:40:22 +00:00
Yassine Lamgarchal ae579aae09 Python3: use six.StringIO rather than StringIO.StringIO
It’s an alias for StringIO.StringIO in Python 2 and
io.StringIO in Python 3.

Change-Id: I5316eaffa2d9d2d5679b85a901933ef0fbfcc2f7
2014-01-10 17:25:45 +01:00
Andrey Kurilin 9a0b7d0450 Replace file.write and os.path.exists by mock
During the test files may be lost in the temporary directory.
Therefore, it would be nice if we reduce dependence of temporary directory.

This patch replace buildin method file.write by mock in ShellCacheSchemaTest.
Also we need to replace method os.path.exists by mock to correct all checks.

Fixes bug: #1267515

Change-Id: I3faca27348e15b28619e49f11d0d6cff5a9e2906
2014-01-10 17:37:00 +02:00
Jenkins c473f19fc9 Merge "Fix glanceclient http.py string formatting error" 2014-01-09 17:50:06 +00:00
Le Tian Ren 2ed01afac9 Fix glanceclient http.py string formatting error
* Fix "TypeError: not all arguments converted during string formatting"

* Add a UT case to cover the path where the bug is in

Change-Id: I91a137c5c3a9a3cc603804bef5eaea14ae281c08
Closes-Bug: #1265730
2014-01-07 16:09:01 +08:00
Fei Long Wang 336feeb523 Get better format for long lines with PrettyTable
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
2014-01-06 20:48:54 +08:00
Jenkins 14b74573f1 Merge "Fix and enable gating on H306" 2013-12-23 05:10:08 +00:00
Jenkins ac6c0d8742 Merge "Fix extra new line that break from progress bar" 2013-12-20 23:38:10 +00:00
Jenkins e7b7cfe2f3 Merge "Replace inheritance hierarchy with composition" 2013-12-19 18:23:52 +00:00
Dirk Mueller 9f255a9b49 Fix and enable gating on H306
H306 - module imports should be in alphabetical order

Change-Id: I1f8fc25b0e6ca23c21c90bda420f42a45141c2e2
2013-12-16 15:28:05 +01:00
Dominik Heidler 097ca3d53f SSL: Handle wildcards in Subject Alternative Names
Closes-Bug: #1259528

Change-Id: Iedc2b98d47f1f9433a4cfd77e07f7f86bae806c1
2013-12-11 10:27:20 +01:00
Andrey Kurilin 24340329cf Replace inheritance hierarchy with composition
In the process of unification of the clients code we should use
composition to allow easier replacement with common HTTPClient.

Related to blueprint common-client-library-2

Change-Id: I5addc38eb2e2dd0be91b566fda7c0d81787ffa75
2013-12-09 18:50:12 +02:00
m.benchchaoui@cloudbau.de 2dfbb3f57b Fix extra new line that break from progress bar
The new line should be writed to stdout only when there is
a progress bar displayed.

Change-Id: If0e62cd5a3734ed67d66d285267c101b7caeea77
Closes-Bug: #1253042
2013-11-20 22:27:00 +01:00
Jenkins a7c33d5802 Merge "change assertEquals to assertEqual" 2013-11-15 06:33:29 +00:00
Jenkins 9a649d46ea Merge "Replace OpenStack LLC with OpenStack Foundation" 2013-11-15 06:33:28 +00:00
Christian Berendt 7f8292f39d change assertEquals to assertEqual
According to http://docs.python.org/2/library/unittest.html
assertEquals is a deprecated alias of assertEqual.

Change-Id: I22f4702f41537c05684dfacb3f305627b36849c5
2013-10-24 07:54:16 +02:00
Chuck Short 518cb2508d python3: use six.moves for httplib imports
This adds six to the requirements.txt file in order to make
some HTTP-related imports work across Python 2's httplib and Python 3's
http.client modules. Tests were updated, including one change to the
location of HTTPConnection - moving it from being accessed where it was
imported rather than its canonical location inside of
six.moves.http_client.

Change-Id: Ibc4932b37dfdf195cd5091066914513af1876955
Signed-off-by: Chuck Short <chuck.short@canonical.com>
2013-10-16 10:00:56 -04:00
Jenkins cd11833cff Merge "Fix regression bug after removing posixpath in http.py" 2013-10-09 17:46:01 +00:00
Jenkins 5ec5e7baec Merge "Fix getting header in redirect processing" 2013-10-09 17:36:54 +00:00