"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "ec2api/api/__init__.py" between
ec2-api-14.0.1.tar.gz and ec2-api-15.0.0.tar.gz

About: OpenStack EC2 API provides a standalone EC2 (and VPC) API service.
The "Zed" series (latest release).

__init__.py  (ec2-api-14.0.1):__init__.py  (ec2-api-15.0.0)
skipping to change at line 31 skipping to change at line 31
import botocore import botocore
from keystoneauth1 import session as keystone_session from keystoneauth1 import session as keystone_session
from keystoneclient import access as keystone_access from keystoneclient import access as keystone_access
from keystoneclient.auth.identity import access as keystone_identity_access from keystoneclient.auth.identity import access as keystone_identity_access
from oslo_config import cfg from oslo_config import cfg
from oslo_context import context as common_context from oslo_context import context as common_context
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 oslo_utils import timeutils from oslo_utils import timeutils
import requests import requests
import six
import webob import webob
import webob.dec import webob.dec
import webob.exc import webob.exc
from ec2api.api import apirequest from ec2api.api import apirequest
from ec2api.api import ec2utils from ec2api.api import ec2utils
from ec2api.api import faults from ec2api.api import faults
from ec2api import clients from ec2api import clients
from ec2api import context from ec2api import context
from ec2api import exception from ec2api import exception
skipping to change at line 341 skipping to change at line 340
request_id = context.request_id request_id = context.request_id
log_msg_args = { log_msg_args = {
'ex_name': type(ex).__name__, 'ex_name': type(ex).__name__,
'ex_str': ex 'ex_str': ex
} }
log_fun(log_msg % log_msg_args, context=context, exc_info=exc_info) log_fun(log_msg % log_msg_args, context=context, exc_info=exc_info)
if unexpected and status >= 500: if unexpected and status >= 500:
message = _('Unknown error occurred.') message = _('Unknown error occurred.')
elif getattr(ex, 'message', None): elif getattr(ex, 'message', None):
message = six.text_type(ex.message) message = str(ex.message)
elif ex.args and any(arg for arg in ex.args): elif ex.args and any(arg for arg in ex.args):
message = " ".join(map(six.text_type, ex.args)) message = " ".join(map(str, ex.args))
else: else:
message = six.text_type(ex) message = str(ex)
if unexpected: if unexpected:
# Log filtered environment for unexpected errors. # Log filtered environment for unexpected errors.
env = req.environ.copy() env = req.environ.copy()
for k in list(env.keys()): for k in list(env.keys()):
if not isinstance(env[k], six.string_types): if not isinstance(env[k], str):
env.pop(k) env.pop(k)
log_fun(_('Environment: %s') % jsonutils.dumps(env)) log_fun(_('Environment: %s') % jsonutils.dumps(env))
return faults.ec2_error_response(request_id, code, message, status=status) return faults.ec2_error_response(request_id, code, message, status=status)
class Executor(wsgi.Application): class Executor(wsgi.Application):
"""Execute an EC2 API request. """Execute an EC2 API request.
Executes 'ec2.action', passing 'ec2api.context' and Executes 'ec2.action', passing 'ec2api.context' and
'ec2.action_args' (all variables in WSGI environ.) Returns an XML 'ec2.action_args' (all variables in WSGI environ.) Returns an XML
skipping to change at line 389 skipping to change at line 388
LOG.exception("Exception from remote server") LOG.exception("Exception from remote server")
return faults.ec2_error_response( return faults.ec2_error_response(
context.request_id, code, message, status=status) context.request_id, code, message, status=status)
except Exception as ex: except Exception as ex:
return ec2_error_ex( return ec2_error_ex(
ex, req, unexpected=not isinstance(ex, exception.EC2Exception)) ex, req, unexpected=not isinstance(ex, exception.EC2Exception))
else: else:
resp = webob.Response() resp = webob.Response()
resp.status = 200 resp.status = 200
resp.headers['Content-Type'] = 'text/xml' resp.headers['Content-Type'] = 'text/xml'
resp.body = six.binary_type(result) resp.body = bytes(result)
return resp return resp
 End of changes. 6 change blocks. 
6 lines changed or deleted 5 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)