Port test_metadata to Python 3
* convert_password(): on Python 3, decode password from UTF-8 if it
is a byte string
* convert_password(): don't modify password in the loop body, use an
index increased at each iteration. This is a minor cleanup,
unrelated to Python 3.
* ec2_md_print() now returns byte strings unchanged. On Python 3,
str(bytes) uses "b'...'" format which is not the expected result
(or it raises a BytesWarinng exception when using python3 -bb).
* Replace the base64 module with oslo_serialization.base64 to control
the output type (bytes or text) on Python 2 and Python 3.
* _make_cache_key(): on Python 3, don't encode the host to UTF-8.
Python 3 requires text.
* MetadataRequestHandler: on Python 3, encode HTTP body to UTF-8 if
the body type is Unicode.
* test_metadata:
- encode hmac.new() parameters using encodeutils.to_utf8()
- use response.text rather than response.body to compare with
Unicode string
- use a byte strings for the instance identifier
- fix some Unicode versus bytes issues
* tests-py3.txt: run test_metadata on Python 3
Co-Authored-By: Davanum Srinivas <davanum@gmail.com>
Co-Authored-By: ChangBo Guo(gcb) <eric.guo@easystack.cn>
Partially-Implements: blueprint goal-python35
Change-Id: Ifb43ce164d9fd80f9f85c95c762d7b010e84dfeb
This commit is contained in:
committed by
ChangBo Guo(gcb)
parent
00b359ce14
commit
67af1eefc5
@@ -16,9 +16,11 @@
|
||||
"""Availability zone helper functions."""
|
||||
|
||||
import collections
|
||||
import nova.conf
|
||||
|
||||
import six
|
||||
|
||||
from nova import cache_utils
|
||||
import nova.conf
|
||||
from nova import objects
|
||||
|
||||
# NOTE(vish): azs don't change that often, so cache them for an hour to
|
||||
@@ -49,7 +51,9 @@ def reset_cache():
|
||||
|
||||
|
||||
def _make_cache_key(host):
|
||||
return "azcache-%s" % host.encode('utf-8')
|
||||
if six.PY2:
|
||||
host = host.encode('utf-8')
|
||||
return "azcache-%s" % host
|
||||
|
||||
|
||||
def _build_metadata_by_host(aggregates, hosts=None):
|
||||
|
||||
Reference in New Issue
Block a user