Reviewed: https://review.openstack.org/385686 Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=a2d7ebd39b99db9c5728e2a256568b8bbbc4734f Submitter: Jenkins Branch: master
commit a2d7ebd39b99db9c5728e2a256568b8bbbc4734f Author: EdLeafe <[email protected]> Date: Wed Oct 12 20:55:40 2016 +0000 Corrects the type of a base64 encoded string The nova/tests/functional/api_sample_tests/test_servers.py contains the ServersSampleBase class, and in its class definition creates a 'user_data' attribute by base64 encoding a string. However, this will not work in Python 3, as the base64.b64encode() method requires bytes, not a string. As a result, importing the test class fails and no tests get run. Note that this change doesn't fix all tests to work under Python 3; it simply fixes the bug that prevents the tests from running at all under Python 3. Closes-Bug: #1632856 Change-Id: I35a7b02132bed0387a173b339f6204bf0e3269de ** Changed in: nova Status: In Progress => Fix Released -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to OpenStack Compute (nova). https://bugs.launchpad.net/bugs/1632856 Title: Incorrect datatype for Python 3 in api-samples functional test Status in OpenStack Compute (nova): Fix Released Bug description: The nova/tests/functional/api_sample_tests/test_servers.py contains the ServersSampleBase class, and in its class definition creates user data by base64 encoding a string. However, this will not work in Python 3, as the base64.b64encode() method requires bytes, not a string. This can be seen by simply running 'tox -e functional' under Python 3, which then emits a series of errors, most of which look like: Failed to import test module: nova.tests.functional.api_sample_tests.test_servers Traceback (most recent call last): File "/home/ed/projects/nova/.tox/functional/lib/python3.4/site-packages/unittest2/loader.py", line 456, in _find_test_path module = self._get_module_from_name(name) File "/home/ed/projects/nova/.tox/functional/lib/python3.4/site-packages/unittest2/loader.py", line 395, in _get_module_from_name __import__(name) File "/home/ed/projects/nova/nova/tests/functional/api_sample_tests/test_servers.py", line 24, in <module> class ServersSampleBase(api_sample_base.ApiSampleTestBaseV21): File "/home/ed/projects/nova/nova/tests/functional/api_sample_tests/test_servers.py", line 29, in ServersSampleBase user_data = base64.b64encode(user_data_contents) File "/home/ed/projects/nova/.tox/functional/lib/python3.4/base64.py", line 62, in b64encode encoded = binascii.b2a_base64(s)[:-1] TypeError: 'str' does not support the buffer interface This was reported in https://bugs.launchpad.net/nova/+bug/1632521, and a fix was issued that simply forced tox to use py27. To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1632856/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

