From 91b49ab39d7377e0816fa3c44e2cabed9ce14f12 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Mon, 6 Apr 2020 18:55:53 +0800 Subject: [PATCH] qa,test: decode return val of base64.b64encode() base64.b64encode() returns bytes in Python3, and we will pass it as a commandline parameter later on, which will be quoted. so the command line can be consumed by shell. so before sending it to shell, we should convert it to string. Signed-off-by: Kefu Chai --- qa/tasks/ragweed.py | 3 ++- qa/tasks/s3tests_java.py | 2 +- src/test/rgw/rgw_multi/zone_ps.py | 6 +++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/qa/tasks/ragweed.py b/qa/tasks/ragweed.py index 4cc280d30d68e..a0454d03fa102 100644 --- a/qa/tasks/ragweed.py +++ b/qa/tasks/ragweed.py @@ -8,6 +8,7 @@ import contextlib import logging import os import random +import six import string from teuthology import misc as teuthology @@ -101,7 +102,7 @@ def _config_user(ragweed_conf, section, user): ragweed_conf[section].setdefault('email', '{user}+test@test.test'.format(user=user)) ragweed_conf[section].setdefault('display_name', 'Mr. {user}'.format(user=user)) ragweed_conf[section].setdefault('access_key', ''.join(random.choice(string.ascii_uppercase) for i in range(20))) - ragweed_conf[section].setdefault('secret_key', base64.b64encode(os.urandom(40))) + ragweed_conf[section].setdefault('secret_key', base64.b64encode(os.urandom(40)).decode('ascii')) @contextlib.contextmanager diff --git a/qa/tasks/s3tests_java.py b/qa/tasks/s3tests_java.py index bb09cc0fb66ea..549540952589e 100644 --- a/qa/tasks/s3tests_java.py +++ b/qa/tasks/s3tests_java.py @@ -239,7 +239,7 @@ class S3tests_java(Task): """ access_key = ''.join(random.choice(string.ascii_uppercase) for i in range(20)) - access_secret = base64.b64encode(os.urandom(40)) + access_secret = base64.b64encode(os.urandom(40)).decode('ascii') endpoint = self.ctx.rgw.role_endpoints.get(client) self._set_cfg_entry( diff --git a/src/test/rgw/rgw_multi/zone_ps.py b/src/test/rgw/rgw_multi/zone_ps.py index 225b47c6963cb..0ee4e3958232c 100644 --- a/src/test/rgw/rgw_multi/zone_ps.py +++ b/src/test/rgw/rgw_multi/zone_ps.py @@ -84,7 +84,7 @@ def make_request(conn, method, resource, parameters=None, sign_parameters=False, string_to_sign += url_params signature = base64.b64encode(hmac.new(conn.aws_secret_access_key, string_to_sign.encode('utf-8'), - hashlib.sha1).digest()) + hashlib.sha1).digest()).decode('ascii') headers = {'Authorization': 'AWS '+conn.aws_access_key_id+':'+signature, 'Date': string_date, 'Host': conn.host+':'+str(conn.port)} @@ -221,7 +221,7 @@ class PSTopicS3: log.debug('StringTosign: %s', string_to_sign) signature = base64.b64encode(hmac.new(self.conn.aws_secret_access_key, string_to_sign.encode('utf-8'), - hashlib.sha1).digest()) + hashlib.sha1).digest()).decode('ascii') headers = {'Authorization': 'AWS '+self.conn.aws_access_key_id+':'+signature, 'Date': string_date, 'Host': self.conn.host+':'+str(self.conn.port), @@ -263,7 +263,7 @@ class PSTopicS3: log.debug('StringTosign: %s', string_to_sign) signature = base64.b64encode(hmac.new(self.conn.aws_secret_access_key, string_to_sign.encode('utf-8'), - hashlib.sha1).digest()) + hashlib.sha1).digest()).decode('ascii') headers = {'Authorization': 'AWS '+self.conn.aws_access_key_id+':'+signature, 'Date': string_date, 'Host': self.conn.host+':'+str(self.conn.port), -- 2.39.5