Merge "Remove usage of six"

This commit is contained in:
Zuul 2020-10-19 07:41:52 +00:00 committed by Gerrit Code Review
commit 27dba65ba6
21 changed files with 39 additions and 68 deletions

View File

@ -15,10 +15,9 @@
"""Accelerator base exception handling. """ """Accelerator base exception handling. """
import collections import collections
from http import client as http_client
from oslo_log import log as logging from oslo_log import log as logging
from oslo_serialization import jsonutils from oslo_serialization import jsonutils
import six
from six.moves import http_client
from cyborg.common.i18n import _ from cyborg.common.i18n import _
@ -40,7 +39,7 @@ def _ensure_exception_kwargs_serializable(exc_class_name, kwargs):
:returns: a dictionary of serializable keyword arguments. :returns: a dictionary of serializable keyword arguments.
""" """
serializers = [(jsonutils.dumps, _('when converting to JSON')), serializers = [(jsonutils.dumps, _('when converting to JSON')),
(six.text_type, _('when converting to string'))] (str, _('when converting to string'))]
exceptions = collections.defaultdict(list) exceptions = collections.defaultdict(list)
serializable_kwargs = {} serializable_kwargs = {}
for k, v in kwargs.items(): for k, v in kwargs.items():
@ -80,8 +79,7 @@ class AcceleratorException(Exception):
with the keyword arguments provided to the constructor. with the keyword arguments provided to the constructor.
If you need to access the message from an exception you should use If you need to access the message from an exception you should use
six.text_type(exc) str(exc).
""" """
_msg_fmt = _("An unknown exception occurred.") _msg_fmt = _("An unknown exception occurred.")
code = http_client.INTERNAL_SERVER_ERROR code = http_client.INTERNAL_SERVER_ERROR

View File

@ -12,11 +12,9 @@
# under the License. # under the License.
import abc import abc
import six
@six.add_metaclass(abc.ABCMeta) class GenericDriver(object, metaclass=abc.ABCMeta):
class GenericDriver(object):
@abc.abstractmethod @abc.abstractmethod
def discover(self): def discover(self):

View File

@ -13,8 +13,8 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from http import client as http_client
import pecan import pecan
from six.moves import http_client
import wsme import wsme
from wsme import types as wtypes from wsme import types as wtypes

View File

@ -14,9 +14,9 @@
# under the License. # under the License.
import copy import copy
from http import client as http_client
import pecan import pecan
import re import re
from six.moves import http_client
import wsme import wsme
from wsme import types as wtypes from wsme import types as wtypes

View File

@ -20,8 +20,6 @@ response with one formatted so the client can parse it.
Based on pecan.middleware.errordocument Based on pecan.middleware.errordocument
""" """
import six
from oslo_serialization import jsonutils from oslo_serialization import jsonutils
@ -60,11 +58,9 @@ class ParsableErrorMiddleware(object):
app_iter = self.app(environ, replacement_start_response) app_iter = self.app(environ, replacement_start_response)
if (state['status_code'] // 100) not in (2, 3): if (state['status_code'] // 100) not in (2, 3):
if six.PY3: app_iter = [i.decode('utf-8') for i in app_iter]
app_iter = [i.decode('utf-8') for i in app_iter]
body = [jsonutils.dumps({'error_message': '\n'.join(app_iter)})] body = [jsonutils.dumps({'error_message': '\n'.join(app_iter)})]
if six.PY3: body = [i.encode('utf-8') for i in body]
body = [i.encode('utf-8') for i in body]
state['headers'].append(('Content-Type', 'application/json')) state['headers'].append(('Content-Type', 'application/json'))
state['headers'].append(('Content-Length', str(len(body[0])))) state['headers'].append(('Content-Length', str(len(body[0]))))
else: else:

View File

@ -19,9 +19,8 @@ SHOULD include dedicated exception logging.
""" """
from http import client as http_client
from oslo_log import log from oslo_log import log
import six
from six.moves import http_client
from cyborg.common.i18n import _ from cyborg.common.i18n import _
from cyborg.conf import CONF from cyborg.conf import CONF
@ -38,8 +37,7 @@ class CyborgException(Exception):
with the keyword arguments provided to the constructor. with the keyword arguments provided to the constructor.
If you need to access the message from an exception you should use If you need to access the message from an exception you should use
six.text_type(exc) str(exc).
""" """
_msg_fmt = _("An unknown exception occurred.") _msg_fmt = _("An unknown exception occurred.")
code = http_client.INTERNAL_SERVER_ERROR code = http_client.INTERNAL_SERVER_ERROR
@ -77,14 +75,11 @@ class CyborgException(Exception):
def __str__(self): def __str__(self):
"""Encode to utf-8 then wsme api can consume it as well.""" """Encode to utf-8 then wsme api can consume it as well."""
if not six.PY3:
return six.text_type(self.args[0]).encode('utf-8')
return self.args[0] return self.args[0]
def __unicode__(self): def __unicode__(self):
"""Return a unicode representation of the exception message.""" """Return a unicode representation of the exception message."""
return six.text_type(self.args[0]) return str(self.args[0])
class Forbidden(CyborgException): class Forbidden(CyborgException):

View File

@ -18,7 +18,6 @@
from concurrent.futures import ThreadPoolExecutor as CFThreadPoolExecutor from concurrent.futures import ThreadPoolExecutor as CFThreadPoolExecutor
from functools import wraps from functools import wraps
import queue import queue
import six
import time import time
import traceback import traceback
@ -50,7 +49,7 @@ def safe_rstrip(value, chars=None):
:return: Stripped value. :return: Stripped value.
""" """
if not isinstance(value, six.string_types): if not isinstance(value, str):
LOG.warning("Failed to remove trailing character. Returning " LOG.warning("Failed to remove trailing character. Returning "
"original object. Supplied object is not a string: " "original object. Supplied object is not a string: "
"%s,", value) "%s,", value)
@ -155,7 +154,7 @@ def get_sdk_adapter(service_type, check_service=False):
except sdk_exc.ServiceDiscoveryException as e: except sdk_exc.ServiceDiscoveryException as e:
raise exception.ServiceUnavailable( raise exception.ServiceUnavailable(
_("The %(service_type)s service is unavailable: %(error)s") % _("The %(service_type)s service is unavailable: %(error)s") %
{'service_type': service_type, 'error': six.text_type(e)}) {'service_type': service_type, 'error': str(e)})
return getattr(conn, service_type) return getattr(conn, service_type)
@ -356,7 +355,7 @@ class ThreadWorks(Singleton):
LOG.error("Error during check the worker status. " LOG.error("Error during check the worker status. "
"Exception info: %s, result: %s, state: %s. " "Exception info: %s, result: %s, state: %s. "
"Reason %s", f.exception(), f._result, "Reason %s", f.exception(), f._result,
f._state, six.text_type(e)) f._state, str(e))
yield f._result, f.exception(), f._state, err yield f._result, f.exception(), f._state, err
finally: finally:
# Do best to cancel remain jobs. # Do best to cancel remain jobs.
@ -401,7 +400,7 @@ def wrap_job_tb(msg="Reason: %s"):
try: try:
output = method(self, *args, **kwargs) output = method(self, *args, **kwargs)
except Exception as e: except Exception as e:
LOG.error(msg, six.text_type(e)) LOG.error(msg, str(e))
LOG.error(traceback.format_exc()) LOG.error(traceback.format_exc())
raise raise
return output return output

View File

@ -13,8 +13,6 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
import six
from oslo_log import log as logging from oslo_log import log as logging
import oslo_messaging as messaging import oslo_messaging as messaging
import uuid import uuid
@ -365,7 +363,7 @@ class ConductorManager(object):
def _get_sub_provider(self, context, parent, name): def _get_sub_provider(self, context, parent, name):
old_sub_pr_uuid = str(uuid.uuid3(uuid.NAMESPACE_DNS, old_sub_pr_uuid = str(uuid.uuid3(uuid.NAMESPACE_DNS,
six.ensure_str(name))) str(name)))
new_sub_pr_uuid = self.placement_client.ensure_resource_provider( new_sub_pr_uuid = self.placement_client.ensure_resource_provider(
context, old_sub_pr_uuid, context, old_sub_pr_uuid,
name=name, parent_provider_uuid=parent) name=name, parent_provider_uuid=parent)
@ -396,7 +394,7 @@ class ConductorManager(object):
attrs = obj.attribute_list attrs = obj.attribute_list
resource_class = [i.value for i in attrs if i.key == 'rc'][0] resource_class = [i.value for i in attrs if i.key == 'rc'][0]
traits = [i.value for i in attrs traits = [i.value for i in attrs
if six.ensure_str(i.key).startswith("trait")] if str(i.key).startswith("trait")]
total = obj.num_accelerators total = obj.num_accelerators
rp_uuid = self.provider_report(context, pr_name, resource_class, rp_uuid = self.provider_report(context, pr_name, resource_class,
traits, total, parent_uuid) traits, total, parent_uuid)
@ -405,7 +403,7 @@ class ConductorManager(object):
dep_obj.save(context) dep_obj.save(context)
def get_rp_uuid_from_obj(self, obj): def get_rp_uuid_from_obj(self, obj):
return str(uuid.uuid3(uuid.NAMESPACE_DNS, six.ensure_str(obj.name))) return str(uuid.uuid3(uuid.NAMESPACE_DNS, str(obj.name)))
def _delete_provider_and_sub_providers(self, context, rp_uuid): def _delete_provider_and_sub_providers(self, context, rp_uuid):
rp_in_tree = self.placement_client.get_providers_in_tree(context, rp_in_tree = self.placement_client.get_providers_in_tree(context,

View File

@ -20,7 +20,6 @@ from keystoneauth1 import plugin
from oslo_context import context from oslo_context import context
from oslo_db.sqlalchemy import enginefacade from oslo_db.sqlalchemy import enginefacade
from oslo_utils import timeutils from oslo_utils import timeutils
import six
from cyborg.common import exception from cyborg.common import exception
from cyborg.common import utils from cyborg.common import utils
@ -87,7 +86,7 @@ class RequestContext(context.RequestContext):
self.remote_address = remote_address self.remote_address = remote_address
if not timestamp: if not timestamp:
timestamp = timeutils.utcnow() timestamp = timeutils.utcnow()
if isinstance(timestamp, six.string_types): if isinstance(timestamp, str):
timestamp = timeutils.parse_strtime(timestamp) timestamp = timeutils.parse_strtime(timestamp)
self.timestamp = timestamp self.timestamp = timestamp

View File

@ -19,7 +19,6 @@ import abc
from oslo_config import cfg from oslo_config import cfg
from oslo_db import api as db_api from oslo_db import api as db_api
import six
_BACKEND_MAPPING = {'sqlalchemy': 'cyborg.db.sqlalchemy.api'} _BACKEND_MAPPING = {'sqlalchemy': 'cyborg.db.sqlalchemy.api'}
@ -33,8 +32,7 @@ def get_instance():
return IMPL return IMPL
@six.add_metaclass(abc.ABCMeta) class Connection(object, metaclass=abc.ABCMeta):
class Connection(object):
"""Base class for storage system connections.""" """Base class for storage system connections."""
@abc.abstractmethod @abc.abstractmethod

View File

@ -18,7 +18,6 @@
from oslo_db import options as db_options from oslo_db import options as db_options
from oslo_db.sqlalchemy import models from oslo_db.sqlalchemy import models
from oslo_utils import timeutils from oslo_utils import timeutils
import six.moves.urllib.parse as urlparse
from sqlalchemy import Boolean from sqlalchemy import Boolean
from sqlalchemy import Column from sqlalchemy import Column
from sqlalchemy import DateTime from sqlalchemy import DateTime
@ -31,6 +30,7 @@ from sqlalchemy import orm
from sqlalchemy import schema from sqlalchemy import schema
from sqlalchemy import String from sqlalchemy import String
from sqlalchemy import Text from sqlalchemy import Text
import urllib.parse as urlparse
from cyborg.common import constants from cyborg.common import constants
from cyborg.common import paths from cyborg.common import paths

View File

@ -34,8 +34,6 @@ from oslo_log import log as logging
from oslo_serialization import jsonutils from oslo_serialization import jsonutils
from oslo_utils import excutils from oslo_utils import excutils
from oslo_utils import timeutils from oslo_utils import timeutils
import six
from six.moves import range
from cyborg.common import exception from cyborg.common import exception
from cyborg.common import utils from cyborg.common import utils
@ -176,7 +174,7 @@ class GlanceClientWrapper(object):
'method': method, 'extra': extra}) 'method': method, 'extra': extra})
if attempt == num_attempts: if attempt == num_attempts:
raise exception.GlanceConnectionFailed( raise exception.GlanceConnectionFailed(
server=str(self.api_server), reason=six.text_type(e)) server=str(self.api_server), reason=str(e))
time.sleep(1) time.sleep(1)
@ -418,7 +416,7 @@ def _convert_to_v2(image_meta):
# v1 client accepts any values and converts them to string, # v1 client accepts any values and converts them to string,
# v2 doesn't - so we have to take care of it. # v2 doesn't - so we have to take care of it.
elif prop_value is None or isinstance( elif prop_value is None or isinstance(
prop_value, six.string_types): prop_value, str):
output[prop_name] = prop_value output[prop_name] = prop_value
else: else:
output[prop_name] = str(prop_value) output[prop_name] = str(prop_value)
@ -454,13 +452,13 @@ def _convert_timestamps_to_datetimes(image_meta):
# NOTE(bcwaldon): used to store non-string data in glance metadata # NOTE(bcwaldon): used to store non-string data in glance metadata
def _json_loads(properties, attr): def _json_loads(properties, attr):
prop = properties[attr] prop = properties[attr]
if isinstance(prop, six.string_types): if isinstance(prop, str):
properties[attr] = jsonutils.loads(prop) properties[attr] = jsonutils.loads(prop)
def _json_dumps(properties, attr): def _json_dumps(properties, attr):
prop = properties[attr] prop = properties[attr]
if not isinstance(prop, six.string_types): if not isinstance(prop, str):
properties[attr] = jsonutils.dumps(prop) properties[attr] = jsonutils.dumps(prop)
@ -576,14 +574,14 @@ def _reraise_translated_image_exception(image_id):
"""Transform the exception for the image but keep its traceback intact.""" """Transform the exception for the image but keep its traceback intact."""
exc_type, exc_value, exc_trace = sys.exc_info() exc_type, exc_value, exc_trace = sys.exc_info()
new_exc = _translate_image_exception(image_id, exc_value) new_exc = _translate_image_exception(image_id, exc_value)
six.reraise(type(new_exc), new_exc, exc_trace) raise new_exc.with_traceback(exc_trace)
def _reraise_translated_exception(): def _reraise_translated_exception():
"""Transform the exception but keep its traceback intact.""" """Transform the exception but keep its traceback intact."""
exc_type, exc_value, exc_trace = sys.exc_info() exc_type, exc_value, exc_trace = sys.exc_info()
new_exc = _translate_plain_exception(exc_value) new_exc = _translate_plain_exception(exc_value)
six.reraise(type(new_exc), new_exc, exc_trace) raise new_exc.with_traceback(exc_trace)
def _translate_image_exception(image_id, exc_value): def _translate_image_exception(image_id, exc_value):
@ -596,18 +594,18 @@ def _translate_image_exception(image_id, exc_value):
msg='with uuid=%s' % image_id) msg='with uuid=%s' % image_id)
if isinstance(exc_value, glanceclient.exc.BadRequest): if isinstance(exc_value, glanceclient.exc.BadRequest):
return exception.ImageBadRequest(image_id=image_id, return exception.ImageBadRequest(image_id=image_id,
response=six.text_type(exc_value)) response=str(exc_value))
return exc_value return exc_value
def _translate_plain_exception(exc_value): def _translate_plain_exception(exc_value):
if isinstance(exc_value, (glanceclient.exc.Forbidden, if isinstance(exc_value, (glanceclient.exc.Forbidden,
glanceclient.exc.Unauthorized)): glanceclient.exc.Unauthorized)):
return exception.Forbidden(six.text_type(exc_value)) return exception.Forbidden(str(exc_value))
if isinstance(exc_value, glanceclient.exc.NotFound): if isinstance(exc_value, glanceclient.exc.NotFound):
return exception.NotFound(six.text_type(exc_value)) return exception.NotFound(str(exc_value))
if isinstance(exc_value, glanceclient.exc.BadRequest): if isinstance(exc_value, glanceclient.exc.BadRequest):
return exception.Invalid(six.text_type(exc_value)) return exception.Invalid(str(exc_value))
return exc_value return exc_value

View File

@ -13,8 +13,6 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
import six
from openstack import connection from openstack import connection
from oslo_log import log as logging from oslo_log import log as logging
from oslo_versionedobjects import base as object_base from oslo_versionedobjects import base as object_base
@ -194,7 +192,7 @@ class ExtARQ(base.CyborgObject, object_base.VersionedObjectDictCompat,
except Exception as e: except Exception as e:
LOG.error("Failed to allocate attach handle for ARQ %s" LOG.error("Failed to allocate attach handle for ARQ %s"
"from deployable %s. Reason: %s", "from deployable %s. Reason: %s",
self.arq.uuid, deployable.uuid, six.text_type(e)) self.arq.uuid, deployable.uuid, str(e))
# TODO(Shaohe) Rollback? We have _update_placement, # TODO(Shaohe) Rollback? We have _update_placement,
# should cancel it. # should cancel it.
self.update_check_state( self.update_check_state(

View File

@ -16,7 +16,6 @@ import datetime
from oslo_config import cfg from oslo_config import cfg
from oslo_log import log as logging from oslo_log import log as logging
from oslo_utils import timeutils from oslo_utils import timeutils
import six
from cyborg.common import exception from cyborg.common import exception
from cyborg import db as db_api from cyborg import db as db_api
@ -147,7 +146,7 @@ class DbQuotaDriver(object):
# Set up the reservation expiration # Set up the reservation expiration
if expire is None: if expire is None:
expire = CONF.reservation_expire expire = CONF.reservation_expire
if isinstance(expire, six.integer_types): if isinstance(expire, int):
expire = datetime.timedelta(seconds=expire) expire = datetime.timedelta(seconds=expire)
if isinstance(expire, datetime.timedelta): if isinstance(expire, datetime.timedelta):
expire = timeutils.utcnow() + expire expire = timeutils.utcnow() + expire

View File

@ -11,8 +11,6 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
import six
from cyborg.accelerator.drivers.driver import GenericDriver from cyborg.accelerator.drivers.driver import GenericDriver
from cyborg.tests import base from cyborg.tests import base
@ -40,4 +38,4 @@ class TestGenericDriver(base.TestCase):
# abstract methods get_stats, update # abstract methods get_stats, update
result = self.assertRaises(TypeError, NotCompleteDriver) result = self.assertRaises(TypeError, NotCompleteDriver)
self.assertIn("Can't instantiate abstract class", self.assertIn("Can't instantiate abstract class",
six.text_type(result)) str(result))

View File

@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from six.moves import http_client from http import client as http_client
import unittest import unittest
from unittest import mock from unittest import mock

View File

@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from six.moves import http_client from http import client as http_client
from unittest import mock from unittest import mock
import webtest import webtest

View File

@ -10,8 +10,8 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from http import client as http_client
from oslo_serialization import jsonutils from oslo_serialization import jsonutils
from six.moves import http_client
from unittest import mock from unittest import mock
from cyborg.common import exception from cyborg.common import exception

View File

@ -13,7 +13,6 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
import six
from unittest import mock from unittest import mock
from testtools.matchers import HasLength from testtools.matchers import HasLength
@ -334,7 +333,7 @@ class TestExtARQObject(base.DbTestCase):
exception.ResourceNotFound, exception.ResourceNotFound,
obj_extarq._allocate_attach_handle, self.context, fake_dep) obj_extarq._allocate_attach_handle, self.context, fake_dep)
mock_log.assert_called_once_with( mock_log.assert_called_once_with(
msg, obj_extarq.arq.uuid, fake_dep.uuid, six.text_type(e)) msg, obj_extarq.arq.uuid, fake_dep.uuid, str(e))
@mock.patch('cyborg.objects.ExtARQ.get') @mock.patch('cyborg.objects.ExtARQ.get')
@mock.patch('cyborg.objects.ExtARQ._from_db_object') @mock.patch('cyborg.objects.ExtARQ._from_db_object')

View File

@ -13,10 +13,9 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from http import client as http_client
from oslo_log import log as logging from oslo_log import log as logging
from oslo_serialization import jsonutils from oslo_serialization import jsonutils
from six.moves import http_client
from unittest import mock from unittest import mock
from cyborg.api.controllers.v2 import device_profiles from cyborg.api.controllers.v2 import device_profiles

View File

@ -5,7 +5,6 @@
pbr>=0.11,!=2.1.0 # Apache-2.0 pbr>=0.11,!=2.1.0 # Apache-2.0
pecan>=1.0.0,!=1.0.2,!=1.0.3,!=1.0.4,!=1.2 # BSD pecan>=1.0.0,!=1.0.2,!=1.0.3,!=1.0.4,!=1.2 # BSD
WSME>=0.8.0 # MIT WSME>=0.8.0 # MIT
six>=1.8.0 # MIT
eventlet>=0.26.0 # MIT eventlet>=0.26.0 # MIT
oslo.i18n>=1.5.0 # Apache-2.0 oslo.i18n>=1.5.0 # Apache-2.0
oslo.config>=1.1.0,!=4.3.0,!=4.4.0 # Apache-2.0 oslo.config>=1.1.0,!=4.3.0,!=4.4.0 # Apache-2.0