Commit Graph

435 Commits

Author SHA1 Message Date
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
OpenStack Jenkins c18536eacb Updated from global requirements
Change-Id: Ifb298bbb37a94e1d4f5e537b7f4eb086da4c95a9
2014-03-05 19:29:33 +00:00
Jenkins a9dee7948d Merge "test_shell: remove a deprecated keyword argument" 2014-03-04 18:43:04 +00:00
Jenkins 9c9b70f0a4 Merge "Python 3: do not use the unicode() function" 2014-03-04 09:18:06 +00:00
Jenkins 4f9fc84118 Merge "Replace file with open, which is Python 3 compatible" 2014-03-04 04:22:07 +00:00
Cyril Roelandt 21c422f730 Python 3: do not use the unicode() function
It is Python2-specific, and should not be used in code intended to be portable.

Change-Id: Ibebef1a7e51a7444538275d22d444c926b8b4dec
Closes-Bug: 1284677
2014-03-03 19:12:39 +01:00
Jenkins 46bf452710 Merge "Only show progress bar for local image files" 2014-02-27 11:55:40 +00:00
Jenkins 8b76817c17 Merge "Python 3: Fix JsonPatch-related issues" 2014-02-25 10:06:15 +00:00
Jenkins 875fcf46ee Merge "Python3: define a __next__() method for VerboseIteratorWrapper" 2014-02-25 10:06:14 +00:00
Cyril Roelandt 23ad1d6db7 Python3: define a __next__() method for VerboseIteratorWrapper
In Python 3, __next__() has replaced next(). Also, call the next() function
rather than the next() method.

Closes-Bug: #1281866
Change-Id: I92b44508c9c875f16ad89ef8410d2c38092ab23d
2014-02-20 16:15:43 +01: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
Jeremy Stanley b8a850c5b3 Remove tox locale overrides
* tox.ini: The LANG, LANGUAGE and LC_ALL environment overrides were
introduced originally during the testr migration in an attempt to be
conservative about the possibility that locale settings in the
calling environment could cause consistency problems for test runs.
In actuality, this should be unnecessary and any place where it does
cause issues ought to be considered an actual bug. Also, having
these in the configuration actively causes older pip to have
problems with non-ASCII content in some package metadata files under
Python 3, so drop it now.

Change-Id: I6be8e42167191096b16d0f16e8c89e85aeedd74c
Closes-Bug: #1277495
2014-02-10 03:09:45 +00:00
Jenkins 348a81b176 Merge "Update my mailmap" 2014-02-08 06:43:06 +00: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
Alex Meade e85620205e Update my mailmap
Using new email address.

Change-Id: I4df8536d848fee91ced6debcd259a6cf8f748b44
2014-02-05 19:36:01 +00: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
Jon Bernard 0934b97897 Only show progress bar for local image files
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
2014-01-31 13:54:44 -05:00
Jenkins 238e9fffcc Merge "Using common method 'bool_from_string' from oslo strutils" 2014-01-31 02:38:12 +00:00
Jenkins ff7b588602 Merge "Handle endpoints with versions consistently" 2014-01-24 07:00:38 +00:00
llg8212 e5f6dee95d Using common method 'bool_from_string' from oslo strutils
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
2014-01-24 10:07:44 +08:00
Jenkins f9c7e3d1cd Merge "server 500 should not be a client error" 2014-01-22 15:59:56 +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
Sean Dague 8e146ca500 server 500 should not be a client error
the client should not log a server 50x response at ERROR level.
It already throws an exception, so the caller can care about what
it wants to do with this. This error will show up regularly in
nova that succeed, and there is no way to disable this message,
which isn't an error from Nova's perspective without turning off
*all* the logs.

Set this to debug instead, because from a caller perspective that's
what you want out of this.

Change-Id: I6d0efb53d1e81adf309f7fa580ec5a8073a811c5
2014-01-19 20:02:42 -05: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 02b00b6226 Python 3: use six.iteritems and six.string_types
six.iteritems() replaces dictionary.iteritems() on Python 2 and
dictionary.items() on Python 3.

six.string_types replaces basestring() in Python 2 and str
in Python 3.

Change-Id: Ia18510d167df35caec83626718010228e2140bc0
2014-01-13 12:15:15 +01:00
Jenkins 47de9cfd89 Merge "Python 3: use six.iteritems() instead of iteritems()" 2014-01-12 14:30:58 +00:00
Jenkins cfb05136ee Merge "Python3: use six.StringIO rather than StringIO.StringIO" 2014-01-11 17:21:08 +00:00
Jenkins d309da1bb2 Merge "Python3: use six.StringIO rather than StringIO.StringIO" 2014-01-11 17:21:07 +00:00
Jenkins 9dd03ce9ce Merge "Python 3: use six.iteritems() instead of iteritems()" 2014-01-11 04:23:04 +00:00
Jenkins bd78a90391 Merge "Reuse Resource from oslo" 2014-01-11 03:56:05 +00:00
Jenkins 36c3b0f3ce Merge "Sync apiclient and py3kcompat from oslo" 2014-01-11 03:56:04 +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
Yassine Lamgarchal 440d155558 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: I1c2f1412c586d5d8e0aa866a28232747056e0ca7
2014-01-10 17:17:43 +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
Yassine Lamgarchal 2c2fdcbb39 Python 3: use six.iteritems() instead of iteritems()
six.iteritems() replaces dictionary.iteritems() on Python 2 and
dictionary.items() on Python 3.

Change-Id: Ie5efa65c0a992e8136087a7b78ab8e8ce967326e
2014-01-09 14:52:19 +01:00
Yassine Lamgarchal 627e66b9d8 Python 3: use six.iteritems() instead of iteritems()
Six.iteritems() replaces dictionary.iteritems() on Python 2 and
dictionary.items() on Python 3.

Change-Id: I12fda5f20d2f4fe8227e45b2fe46b332f63deb97
2014-01-09 13:41:46 +01: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
Andrey Kurilin 3002575c80 Reuse Resource from oslo
In the process of unification of the clients code we should
reuse common functionality from Oslo.

Related to blueprint common-client-library-2

Change-Id: I3d82621cced57ad7bc14a2a40e4bef7522f233da
2014-01-06 16:00:31 +00: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
Wu Wenxiang 80cf47e229 Remove unused imports
Remove unused imports in doc/source/conf.py

Change-Id: Ie5f914ca21ee4229686deec01acd788acd4946b7
Closes-Bug: #1265265
2014-01-01 11:39:31 +08:00