diff --git a/murano/api/middleware/version_negotiation.py b/murano/api/middleware/version_negotiation.py index 6cca0c803..680270b8e 100644 --- a/murano/api/middleware/version_negotiation.py +++ b/murano/api/middleware/version_negotiation.py @@ -22,6 +22,7 @@ from oslo_config import cfg from oslo_log import log as logging from murano.api import versions +from murano.common.i18n import _LW from murano.common import wsgi CONF = cfg.CONF @@ -41,11 +42,10 @@ class VersionNegotiationFilter(wsgi.Middleware): def process_request(self, req): """Try to find a version first in the accept header, then the URL.""" - msg = ("Determining version of request:" - " %(method)s %(path)s Accept: %(accept)s") - args = {'method': req.method, 'path': req.path, 'accept': req.accept} - LOG.debug(msg % args) - + LOG.debug(("Determining version of request:{method} {path}" + "Accept: {accept}").format(method=req.method, + path=req.path, + accept=req.accept)) LOG.debug("Using url versioning") # Remove version in url so it doesn't conflict later req_version = self._pop_path_info(req) @@ -53,13 +53,13 @@ class VersionNegotiationFilter(wsgi.Middleware): try: version = self._match_version_string(req_version) except ValueError: - LOG.debug("Unknown version. Returning version choices.") + LOG.warning(_LW("Unknown version. Returning version choices.")) return self.versions_app req.environ['api.version'] = version req.path_info = ''.join(('/v', str(version), req.path_info)) - LOG.debug("Matched version: v%d", version) - LOG.debug('new path %s' % req.path_info) + LOG.debug("Matched version: v{version}".format(version=version)) + LOG.debug('new path {path}'.format(path=req.path_info)) return None def _match_version_string(self, subject): diff --git a/murano/api/v1/actions.py b/murano/api/v1/actions.py index f64c61616..2143736d5 100644 --- a/murano/api/v1/actions.py +++ b/murano/api/v1/actions.py @@ -20,7 +20,7 @@ from murano.common import wsgi from murano.db.services import environments as envs from murano.db.services import sessions from murano.db import session as db_session -from murano.common.i18n import _LI, _LE, _ +from murano.common.i18n import _LE, _, _LW from murano.services import actions from murano.services import states from murano.utils import verify_env @@ -43,17 +43,17 @@ class Controller(object): env_status = envs.EnvironmentServices.get_status(environment_id) if env_status in (states.EnvironmentStatus.DEPLOYING, states.EnvironmentStatus.DELETING): - LOG.info(_LI('Could not open session for environment ,' - 'environment has deploying ' - 'status.').format(environment_id)) + LOG.warning(_LW('Could not open session for environment ' + ', environment has deploying ' + 'status.').format(id=environment_id)) raise exc.HTTPForbidden() user_id = request.context.user session = sessions.SessionServices.create(environment_id, user_id) if not sessions.SessionServices.validate(session): - LOG.error(_LE('Session ' - 'is invalid').format(session.id)) + LOG.error(_LE('Session ' + 'is invalid').format(id=session.id)) raise exc.HTTPForbidden() task_id = actions.ActionServices.execute( @@ -64,7 +64,7 @@ class Controller(object): def get_result(self, request, environment_id, task_id): policy.check("execute_action", request.context, {}) - LOG.debug('Action:GetResult '.format(task_id)) + LOG.debug('Action:GetResult '.format(id=task_id)) unit = db_session.get_session() result = actions.ActionServices.get_result(environment_id, task_id, @@ -72,10 +72,9 @@ class Controller(object): if result is not None: return result - msg = (_('Result for task with environment_id: {} and ' - 'task_id: {} was not found.') - .format(environment_id, task_id)) - + msg = _('Result for task with environment_id: {env_id} and task_id:' + '{task_id} was not found.').format(env_id=environment_id, + task_id=task_id) LOG.error(msg) raise exc.HTTPNotFound(msg) diff --git a/murano/api/v1/catalog.py b/murano/api/v1/catalog.py index 8ba77c5ca..d8dd17c4b 100644 --- a/murano/api/v1/catalog.py +++ b/murano/api/v1/catalog.py @@ -48,7 +48,7 @@ def _check_content_type(req, content_type): try: req.get_content_type((content_type,)) except exceptions.UnsupportedContentType: - msg = _("Content-Type must be '{0}'").format(content_type) + msg = _("Content-Type must be '{type}'").format(type=content_type) LOG.error(msg) raise exc.HTTPBadRequest(explanation=msg) @@ -70,10 +70,9 @@ def _get_filters(query_params): for i in order_by[:]: if ORDER_VALUES and i not in ORDER_VALUES: filters['order_by'].remove(i) - LOG.warning(_LW( - "Value of 'order_by' parameter is not valid. " - "Allowed values are: {0}. Skipping it.").format( - ", ".join(ORDER_VALUES))) + LOG.warning(_LW("Value of 'order_by' parameter is not valid. " + "Allowed values are: {values}. Skipping it.") + .format(values=", ".join(ORDER_VALUES))) return filters @@ -96,9 +95,9 @@ def _validate_body(body): ' The limit is {0} Mb').format(mb_limit)) if len(body.keys()) > 2: - msg = _("'multipart/form-data' request body should contain " - "1 or 2 parts: json string and zip archive. Current body " - "consists of {0} part(s)").format(len(body.keys())) + msg = _("'multipart/form-data' request body should contain 1 or 2 " + "parts: json string and zip archive. Current body consists " + "of {amount} part(s)").format(amount=len(body.keys())) LOG.error(msg) raise exc.HTTPBadRequest(explanation=msg) @@ -127,12 +126,12 @@ class Controller(object): try: value = int(value) except ValueError: - msg = _("limit param must be an integer") + msg = _("Limit param must be an integer") LOG.error(msg) raise exc.HTTPBadRequest(explanation=msg) if value <= 0: - msg = _("limit param must be positive") + msg = _("Limit param must be positive") LOG.error(msg) raise exc.HTTPBadRequest(explanation=msg) @@ -207,7 +206,8 @@ class Controller(object): try: jsonschema.validate(package_meta, schemas.PKG_UPLOAD_SCHEMA) except jsonschema.ValidationError as e: - msg = _("Package schema is not valid: {0}").format(e) + msg = _("Package schema is not valid: {reason}").format( + reason=e) LOG.exception(msg) raise exc.HTTPBadRequest(explanation=msg) else: @@ -243,7 +243,8 @@ class Controller(object): raise exc.HTTPConflict(msg) return package.to_dict() except pkg_exc.PackageLoadError as e: - msg = _("Couldn't load package from file: {0}").format(e) + msg = _("Couldn't load package from file: {reason}").format( + reason=e) LOG.exception(msg) raise exc.HTTPBadRequest(explanation=msg) finally: diff --git a/murano/api/v1/cloudfoundry/cfapi.py b/murano/api/v1/cloudfoundry/cfapi.py index d62d0a96a..3ee80336c 100644 --- a/murano/api/v1/cloudfoundry/cfapi.py +++ b/murano/api/v1/cloudfoundry/cfapi.py @@ -159,7 +159,7 @@ class Controller(object): .format(space_id=space_guid, environment_id=environment_id)) - LOG.debug('Auth: %s' % keystone.auth_ref) + LOG.debug('Keystone endpoint: {0}'.format(keystone.auth_ref)) tenant_id = keystone.project_id ctx = context.RequestContext(user=user, tenant=tenant_id) @@ -234,9 +234,9 @@ class Controller(object): session_id = create_session(m_cli, environment_id) env = m_cli.environments.get(environment_id, session_id) - LOG.debug('Got environment %s' % env) + LOG.debug('Got environment {0}'.format(env)) service = self._get_service(env, service_id) - LOG.debug('Got service %s' % service) + LOG.debug('Got service {0}'.format(service)) credentials = {} for k, v in six.iteritems(service): if k not in filtered: diff --git a/murano/api/v1/deployments.py b/murano/api/v1/deployments.py index 138035472..3c5838bbe 100644 --- a/murano/api/v1/deployments.py +++ b/murano/api/v1/deployments.py @@ -18,7 +18,7 @@ from webob import exc from murano.api.v1 import request_statistics from murano.common.helpers import token_sanitizer -from murano.common.i18n import _LI +from murano.common.i18n import _LE from murano.common import policy from murano.common import utils from murano.common import wsgi @@ -87,12 +87,13 @@ def _patch_description(description): def verify_and_get_deployment(db_session, environment_id, deployment_id): deployment = db_session.query(models.Task).get(deployment_id) if not deployment: - LOG.info(_LI('Deployment with id {0} not found').format(deployment_id)) + LOG.error(_LE('Deployment with id {id} not found') + .format(id=deployment_id)) raise exc.HTTPNotFound if deployment.environment_id != environment_id: - LOG.info(_LI('Deployment with id {0} not found' - ' in environment {1}').format(deployment_id, - environment_id)) + LOG.error(_LE('Deployment with id {d_id} not found in environment' + '{env_id}').format(d_id=deployment_id, + env_id=environment_id)) raise exc.HTTPBadRequest deployment.description = _patch_description(deployment.description) diff --git a/murano/api/v1/environments.py b/murano/api/v1/environments.py index 0fbb68523..b60e2342c 100644 --- a/murano/api/v1/environments.py +++ b/murano/api/v1/environments.py @@ -44,7 +44,8 @@ class Controller(object): @request_statistics.stats_count(API_NAME, 'Index') def index(self, request): all_tenants = request.GET.get('all_tenants', 'false').lower() == 'true' - LOG.debug('Environments:List '.format(all_tenants)) + LOG.debug('Environments:List '.format( + tenants=all_tenants)) if all_tenants: policy.check('list_environments_all_tenants', request.context) @@ -61,7 +62,7 @@ class Controller(object): @request_statistics.stats_count(API_NAME, 'Create') def create(self, request, body): - LOG.debug(u'Environments:Create '.format(body)) + LOG.debug('Environments:Create '.format(body=body)) policy.check('create_environment', request.context) if not body.get('name'): @@ -84,8 +85,8 @@ class Controller(object): LOG.exception(msg) raise exc.HTTPConflict(explanation=msg) else: - msg = _('Environment name must contain only alphanumeric ' - 'or "_-." characters, must start with alpha') + msg = _('Environment name must contain only alphanumericor "_-." ' + 'characters, must start with alpha') LOG.exception(msg) raise exc.HTTPClientError(explanation=msg) @@ -94,7 +95,7 @@ class Controller(object): @request_statistics.stats_count(API_NAME, 'Show') @verify_env def show(self, request, environment_id): - LOG.debug('Environments:Show '.format(environment_id)) + LOG.debug('Environments:Show '.format(id=environment_id)) target = {"environment_id": environment_id} policy.check('show_environment', request.context, target) @@ -119,21 +120,20 @@ class Controller(object): @request_statistics.stats_count(API_NAME, 'Update') @verify_env def update(self, request, environment_id, body): - LOG.debug('Environments:Update '.format(environment_id, body)) + LOG.debug('Environments:Update '.format(id=environment_id, body=body)) target = {"environment_id": environment_id} policy.check('update_environment', request.context, target) session = db_session.get_session() environment = session.query(models.Environment).get(environment_id) - LOG.debug('ENV NAME: {0}>'.format(body['name'])) if VALID_NAME_REGEX.match(str(body['name'])): try: environment.update(body) environment.save(session) except db_exc.DBDuplicateEntry: msg = _('Environment with specified name already exists') - LOG.exception(msg) + LOG.error(msg) raise exc.HTTPConflict(explanation=msg) else: msg = _('Environment name must contain only alphanumeric ' @@ -149,10 +149,12 @@ class Controller(object): policy.check('delete_environment', request.context, target) if request.GET.get('abandon', '').lower() == 'true': check_env(request, environment_id) - LOG.debug('Environments:Abandon '.format(environment_id)) + LOG.debug('Environments:Abandon ' + .format(id=environment_id)) envs.EnvironmentServices.remove(environment_id) else: - LOG.debug('Environments:Delete '.format(environment_id)) + LOG.debug('Environments:Delete ' + .format(id=environment_id)) sessions_controller = sessions.Controller() session = sessions_controller.configure(request, environment_id) session_id = session['id'] diff --git a/murano/api/v1/request_statistics.py b/murano/api/v1/request_statistics.py index 130166325..2af981ef8 100644 --- a/murano/api/v1/request_statistics.py +++ b/murano/api/v1/request_statistics.py @@ -63,10 +63,8 @@ def stats_count(api, method): except Exception: te = time.time() tenant = args[1].context.tenant - LOG.exception( - _LE('API {0} method {1} raised an exception').format( - api, method) - ) + LOG.exception(_LE('API {api} method {method} raised an ' + 'exception').format(api=api, method=method)) update_error_count(api, method, te - te, tenant) raise return wrap @@ -75,17 +73,15 @@ def stats_count(api, method): def update_count(api, method, ex_time, tenant=None): - LOG.debug("Updating count stats for %s, %s on object %s" % (api, - method, - v1.stats)) + LOG.debug("Updating count stats for {api}, {method} on object {object}" + .format(api=api, method=method, object=v1.stats)) v1.stats.add_api_request(tenant, ex_time) v1.stats.request_count += 1 def update_error_count(api, method, ex_time, tenant=None): - LOG.debug("Updating count stats for %s, %s on object %s" % (api, - method, - v1.stats)) + LOG.debug("Updating count stats for {api}, {method} on object " + "{object}".format(api=api, method=method, object=v1.stats)) v1.stats.add_api_error(tenant, ex_time) v1.stats.error_count += 1 v1.stats.request_count += 1 diff --git a/murano/api/v1/services.py b/murano/api/v1/services.py index 7422fb2b0..d1702b92a 100644 --- a/murano/api/v1/services.py +++ b/murano/api/v1/services.py @@ -48,8 +48,8 @@ class Controller(object): @utils.verify_env @normalize_path def get(self, request, environment_id, path): - LOG.debug('Services:Get '.format(environment_id, path)) + LOG.debug('Services:Get '.format(env_id=environment_id, path=path)) session_id = None if hasattr(request, 'context') and request.context.session: @@ -74,8 +74,9 @@ class Controller(object): LOG.error(msg) raise exc.HTTPBadRequest(msg) secure_data = token_sanitizer.TokenSanitizer().sanitize(body) - LOG.debug('Services:Post '.format(environment_id, secure_data, path)) + LOG.debug('Services:Post '.format(env_id=environment_id, + body=secure_data, path=path)) post_data = core_services.CoreServices.post_data session_id = request.context.session diff --git a/murano/api/v1/sessions.py b/murano/api/v1/sessions.py index 2308d8085..5009ae647 100644 --- a/murano/api/v1/sessions.py +++ b/murano/api/v1/sessions.py @@ -34,7 +34,8 @@ class Controller(object): @request_statistics.stats_count(API_NAME, 'Create') def configure(self, request, environment_id): - LOG.debug('Session:Configure '.format(environment_id)) + LOG.debug('Session:Configure ' + .format(env_id=environment_id)) check_env(request, environment_id) @@ -42,8 +43,9 @@ class Controller(object): env_status = envs.EnvironmentServices.get_status(environment_id) if env_status in (states.EnvironmentStatus.DEPLOYING, states.EnvironmentStatus.DELETING): - msg = _('Could not open session for environment ,' - 'environment has deploying status.').format(environment_id) + msg = _('Could not open session for environment , environment has deploying status.').format( + env_id=environment_id) LOG.error(msg) raise exc.HTTPForbidden(explanation=msg) @@ -54,7 +56,7 @@ class Controller(object): @request_statistics.stats_count(API_NAME, 'Index') def show(self, request, environment_id, session_id): - LOG.debug('Session:Show '.format(session_id)) + LOG.debug('Session:Show '.format(id=session_id)) unit = db_session.get_session() session = unit.query(models.Session).get(session_id) @@ -62,9 +64,11 @@ class Controller(object): check_session(request, environment_id, session, session_id) user_id = request.context.user - msg = _('User is not authorized to access session' - '.').format(user_id, session_id) + if session.user_id != user_id: + msg = _('User is not authorized to access' + 'session .').format(usr_id=user_id, + s_id=session_id) LOG.error(msg) raise exc.HTTPUnauthorized(explanation=msg) @@ -79,7 +83,7 @@ class Controller(object): @request_statistics.stats_count(API_NAME, 'Delete') def delete(self, request, environment_id, session_id): - LOG.debug('Session:Delete '.format(session_id)) + LOG.debug('Session:Delete '.format(s_id=session_id)) unit = db_session.get_session() session = unit.query(models.Session).get(session_id) @@ -88,14 +92,15 @@ class Controller(object): user_id = request.context.user if session.user_id != user_id: - msg = _('User is not authorized to access session' - '.').format(user_id, session_id) + msg = _('User is not authorized to access ' + 'session .').format(usr_id=user_id, + s_id=session_id) LOG.error(msg) raise exc.HTTPUnauthorized(explanation=msg) if session.state == states.SessionState.DEPLOYING: - msg = _('Session is in deploying state and ' - 'could not be deleted').format(session_id) + msg = _('Session is in deploying state ' + 'and could not be deleted').format(s_id=session_id) LOG.error(msg) raise exc.HTTPForbidden(explanation=msg) @@ -106,7 +111,7 @@ class Controller(object): @request_statistics.stats_count(API_NAME, 'Deploy') def deploy(self, request, environment_id, session_id): - LOG.debug('Session:Deploy '.format(session_id)) + LOG.debug('Session:Deploy '.format(s_id=session_id)) unit = db_session.get_session() session = unit.query(models.Session).get(session_id) @@ -121,8 +126,8 @@ class Controller(object): raise exc.HTTPForbidden(explanation=msg) if session.state != states.SessionState.OPENED: - msg = _('Session is already deployed or ' - 'deployment is in progress').format(session_id) + msg = _('Session is already deployed or ' + 'deployment is in progress').format(s_id=session_id) LOG.error(msg) raise exc.HTTPForbidden(explanation=msg) diff --git a/murano/api/v1/template_applications.py b/murano/api/v1/template_applications.py index 04f4775ed..4cc60010a 100644 --- a/murano/api/v1/template_applications.py +++ b/murano/api/v1/template_applications.py @@ -58,14 +58,15 @@ class Controller(object): contains the services :param path: The operation path """ - LOG.debug('Applications:Get '.format(env_template_id, path)) + LOG.debug('Applications:Get '.format(templ_id=env_template_id, path=path)) try: get_data = core_services.CoreServices.get_template_data result = get_data(env_template_id, path) except (KeyError, ValueError, AttributeError): - msg = 'The environment template does not exist' + env_template_id + msg = _('The environment template {templ_id} does not ' + 'exist').format(templ_id=env_template_id) LOG.exception(msg) raise exc.HTTPNotFound(msg) return result @@ -81,14 +82,15 @@ class Controller(object): :param path: The path include the service id :return: the service description. """ - LOG.debug('Applications:Get '.format(env_template_id, path)) + LOG.debug('Applications:Get '.format(templ_id=env_template_id, path=path)) try: get_data = core_services.CoreServices.get_template_data result = get_data(env_template_id, path) except (KeyError, ValueError, AttributeError): - msg = 'The template does not exist' + env_template_id + msg = _('The template does not exist {templ_id}').format( + templ_id=env_template_id) LOG.exception(msg) raise exc.HTTPNotFound(msg) return result @@ -106,14 +108,17 @@ class Controller(object): :return: the service description. """ secure_data = token_sanitizer.TokenSanitizer().sanitize(body) - LOG.debug('Applications:Post '.format(env_template_id, secure_data, path)) + LOG.debug('Applications:Post '.format(env_id=env_template_id, + body=secure_data, + path=path)) post_data = core_services.CoreServices.post_application_data try: result = post_data(env_template_id, body, path) except (KeyError, ValueError): - msg = 'The template does not exist ' + env_template_id + msg = _('The template does not exist {templ_id}').format( + templ_id=env_template_id) LOG.exception(msg) raise exc.HTTPNotFound(msg) return result @@ -131,8 +136,10 @@ class Controller(object): :param body: the information about the service :return: the service description updated. """ - LOG.debug('Applications:Put '.format(env_template_id, body, path)) + LOG.debug('Applications:Put '.format(templ_id=env_template_id, + body=body, + path=path)) put_data = core_services.CoreServices.put_data session_id = request.context.session @@ -140,7 +147,8 @@ class Controller(object): try: result = put_data(env_template_id, session_id, body, path) except (KeyError, ValueError): - msg = 'The template does not exist' + env_template_id + msg = _('The template does not exist {templ_id}').format( + templ_id=env_template_id) LOG.exception(msg) raise exc.HTTPNotFound(msg) return result @@ -155,13 +163,15 @@ class Controller(object): the service belongs to. :param path: The path contains the service id """ - LOG.debug('Applications:Put '.format(env_template_id, path)) + LOG.debug('Applications:Put '.format(templ_id=env_template_id, + path=path)) delete_data = core_services.CoreServices.delete_env_template_data try: delete_data(env_template_id, path) except (KeyError, ValueError): - msg = 'The template does not exist' + env_template_id + msg = _('The template does not exist {templ_id}').format( + templ_id=env_template_id) LOG.exception(msg) raise exc.HTTPNotFound(msg) diff --git a/murano/api/v1/templates.py b/murano/api/v1/templates.py index 77d1b3756..385ca4013 100644 --- a/murano/api/v1/templates.py +++ b/murano/api/v1/templates.py @@ -18,7 +18,7 @@ from webob import exc from murano.api.v1 import environments as envs_api from murano.api.v1 import request_statistics -from murano.common.i18n import _ +from murano.common.i18n import _, _LE from murano.common import policy from murano.common import utils from murano.common import wsgi @@ -58,14 +58,15 @@ class Controller(object): :param body: the env template description :return: the description of the created template. """ - LOG.debug('EnvTemplates:Create '.format(body)) + LOG.debug('EnvTemplates:Create '.format(body=body)) policy.check('create_env_template', request.context) try: - LOG.debug('ENV TEMP NAME: {0}>'.format(body['name'])) + LOG.debug('ENV TEMP NAME: {templ_name}>'.format( + templ_name=body['name'])) if not envs_api.VALID_NAME_REGEX.match(str(body['name'])): msg = _('Environment Template must contain only alphanumeric ' 'or "_-." characters, must start with alpha') - LOG.exception(msg) + LOG.error(msg) raise exc.HTTPBadRequest(msg) except Exception: msg = _('Env template body is incorrect') @@ -92,7 +93,8 @@ class Controller(object): :param env_template_id: the env template ID. :return: the description of the env template. """ - LOG.debug('Templates:Show '.format(env_template_id)) + LOG.debug('Templates:Show '.format( + templ_id=env_template_id)) target = {"env_template_id": env_template_id} policy.check('show_env_template', request.context, target) @@ -114,14 +116,15 @@ class Controller(object): :param body: the description to be updated :return: the updated template description. """ - LOG.debug('Templates:Update '.format(env_template_id, body)) + LOG.debug('Templates:Update '.format(templ_id=env_template_id, body=body)) target = {"env_template_id": env_template_id} policy.check('update_env_template', request.context, target) self._validate_request(request, env_template_id) try: - LOG.debug('ENV TEMP NAME: {0}>'.format(body['name'])) + LOG.debug('ENV TEMP NAME: {temp_name}>'.format( + temp_name=body['name'])) if not envs_api.VALID_NAME_REGEX.match(str(body['name'])): msg = _('Env Template must contain only alphanumeric ' 'or "_-." characters, must start with alpha') @@ -141,7 +144,8 @@ class Controller(object): :param request: the operation request. :param env_template_id: the template ID. """ - LOG.debug('EnvTemplates:Delete '.format(env_template_id)) + LOG.debug('EnvTemplates:Delete '.format( + templ_id=env_template_id)) target = {"env_template_id": env_template_id} policy.check('delete_env_template', request.context, target) self._validate_request(request, env_template_id) @@ -169,8 +173,8 @@ class Controller(object): :param body: the environment name :return: session_id and environment_id """ - LOG.debug('Templates:Create environment '. - format(env_template_id)) + LOG.debug('Templates:Create environment '. + format(templ_id=env_template_id)) target = {"env_template_id": env_template_id} policy.check('create_environment', request.context, target) @@ -184,7 +188,8 @@ class Controller(object): 'or "_-." characters, must start with alpha') LOG.error(msg) raise exc.HTTPBadRequest(explanation=msg) - LOG.debug('ENVIRONMENT NAME: {0}>'.format(body['name'])) + LOG.debug('ENVIRONMENT NAME: {env_name}>'.format( + env_name=body['name'])) try: environment = envs.EnvironmentServices.create( @@ -214,15 +219,15 @@ class Controller(object): def _validate_request(self, request, env_template_id): env_template_exists = env_temps.EnvTemplateServices.env_template_exist if not env_template_exists(env_template_id): - mng = _('EnvTemplate is not found').format( - env_template_id) - LOG.exception(mng) - raise exc.HTTPNotFound(explanation=mng) + msg = _('EnvTemplate is not found').format( + temp_id=env_template_id) + LOG.exception(msg) + raise exc.HTTPNotFound(explanation=msg) get_env_template = env_temps.EnvTemplateServices.get_env_template env_template = get_env_template(env_template_id) if env_template.tenant_id != request.context.tenant: - LOG.exception(_('User is not authorized to access ' - 'this tenant resources.')) + LOG.exception(_LE('User is not authorized to access this tenant ' + 'resources.')) raise exc.HTTPUnauthorized diff --git a/murano/cmd/manage.py b/murano/cmd/manage.py index c035e2ff9..9fedeb771 100644 --- a/murano/cmd/manage.py +++ b/murano/cmd/manage.py @@ -41,23 +41,23 @@ class AdminContext(object): def _do_import_package(_dir, categories, update=False): - LOG.info(_LI("Going to import Murano package from {0}").format(_dir)) + LOG.debug("Going to import Murano package from {source}".format( + source=_dir)) pkg = load_utils.load_from_dir(_dir) - LOG.info(_LI("Checking for existing")) + LOG.debug("Checking for existing packages") existing = db_catalog_api.package_search( {'fqn': pkg.full_name}, AdminContext()) if existing: existing_pkg = existing[0] if update: - LOG.info(_LI( - "Deleting existing package {0}").format(existing_pkg.id)) + LOG.debug('Deleting existing package {exst_pkg_id}').format( + exst_pkg_id=existing_pkg.id) db_catalog_api.package_delete(existing_pkg.id, AdminContext()) else: - LOG.error(_LE("Package '{0}' exists ({1}). Use --update.").format( - pkg.full_name, - existing_pkg.id)) + LOG.error(_LE("Package '{name}' exists ({pkg_id}). Use --update.") + .format(name=pkg.full_name, pkg_id=existing_pkg.id)) return package = { @@ -83,7 +83,8 @@ def _do_import_package(_dir, categories, update=False): # it is a required field in the DB, that's why we pass an empty string result = db_catalog_api.package_upload(package, '') - LOG.info(_LI("Finished import of package {0}").format(result.id)) + LOG.info(_LI("Finished import of package {res_id}").format( + res_id=result.id)) # TODO(ruhe): proper error handling @@ -155,14 +156,16 @@ def main(): version=version.version_string, default_config_files=default_config_files) except RuntimeError as e: - LOG.error(_LE("failed to initialize murano-manage: %s") % e) + LOG.error(_LE("failed to initialize murano-manage: {error}").format( + error=e)) sys.exit("ERROR: %s" % e) try: CONF.command.func() except Exception as e: tb = traceback.format_exc() - err_msg = _LE("murano-manage command failed: {0}\n{1}").format(e, tb) + err_msg = _LE("murano-manage command failed: {error}\n" + "{traceback}").format(error=e, traceback=tb) LOG.error(err_msg) sys.exit(err_msg) diff --git a/murano/common/engine.py b/murano/common/engine.py index bc530140d..a36f5b512 100755 --- a/murano/common/engine.py +++ b/murano/common/engine.py @@ -153,7 +153,7 @@ class TaskExecutor(object): try: self._delete_trust() except Exception: - LOG.warn(_LW('Cannot delete trust'), exc_info=True) + LOG.warning(_LW('Cannot delete trust'), exc_info=True) return result @@ -174,20 +174,20 @@ class TaskExecutor(object): return self.exception_result(e, obj, '') try: - LOG.info(_LI('Invoking pre-cleanup hooks')) + LOG.debug('Invoking pre-cleanup hooks') self.environment.start() executor.cleanup(self._model) except Exception as e: return self.exception_result(e, obj, '') finally: - LOG.info(_LI('Invoking post-cleanup hooks')) + LOG.debug('Invoking post-cleanup hooks') self.environment.finish() self._model['ObjectsCopy'] = copy.deepcopy(self._model.get('Objects')) action_result = None if self.action: try: - LOG.info(_LI('Invoking pre-execution hooks')) + LOG.debug('Invoking pre-execution hooks') self.environment.start() try: action_result = self._invoke(executor) @@ -199,7 +199,7 @@ class TaskExecutor(object): except Exception as e: return self.exception_result(e, obj, self.action['method']) finally: - LOG.info(_LI('Invoking post-execution hooks')) + LOG.debug('Invoking post-execution hooks') self.environment.finish() try: diff --git a/murano/common/plugin_loader.py b/murano/common/plugin_loader.py index 9be9fd04e..35b16eba7 100644 --- a/murano/common/plugin_loader.py +++ b/murano/common/plugin_loader.py @@ -50,7 +50,8 @@ class PluginLoader(object): dist_name = str(extension.entry_point.dist) name = extension.entry_point.name if not NAME_RE.match(name): - LOG.warning(_LW("Entry-point 'name' %s is invalid") % name) + LOG.warning(_LW("Entry-point 'name' {name} is invalid").format( + name=name)) return name = "%s.%s" % (self.namespace, name) name_map.setdefault(name, []).append(dist_name) @@ -64,19 +65,21 @@ class PluginLoader(object): try: package.classes[name] = initialize_plugin(plugin) except Exception: - LOG.exception(_LE("Unable to initialize plugin for %s") % name) + LOG.exception(_LE("Unable to initialize plugin for {name}").format( + name=name)) return - LOG.info(_LI("Loaded class '%(class_name)s' from '%(dist)s'") - % dict(class_name=name, dist=dist_name)) + LOG.info(_LI("Loaded class {class_name} from {dist}").format( + class_name=name, dist=dist_name)) def cleanup_duplicates(self, name_map): for class_name, package_names in six.iteritems(name_map): if len(package_names) >= 2: LOG.warning(_LW("Class is defined in multiple packages!")) for package_name in package_names: - LOG.warning(_LW("Disabling class '%(class_name)s' in " - "'%(dist)s' due to conflict") % - dict(class_name=class_name, dist=package_name)) + LOG.warning(_LW("Disabling class {class_name} in {dist} " + "due to conflict").format( + class_name=class_name, + dist=package_name)) self.packages[package_name].classes.pop(class_name) @staticmethod @@ -89,9 +92,8 @@ class PluginLoader(object): @staticmethod def _on_load_failure(manager, ep, exc): - LOG.warning(_LW("Error loading entry-point '%(ep)s' " - "from package '%(dist)s': %(err)s") - % dict(ep=ep.name, dist=ep.dist, err=exc)) + LOG.warning(_LW("Error loading entry-point {ep} from package {dist}: " + "{err}").format(ep=ep.name, dist=ep.dist, err=exc)) def register_in_loader(self, package_loader): for package in six.itervalues(self.packages): @@ -103,7 +105,7 @@ def initialize_plugin(plugin): if hasattr(plugin, "init_plugin"): initializer = getattr(plugin, "init_plugin") if inspect.ismethod(initializer) and initializer.__self__ is plugin: - LOG.debug("Initializing plugin class %s" % plugin) + LOG.debug("Initializing plugin class {name}".format(name=plugin)) initializer() return plugin diff --git a/murano/common/policy.py b/murano/common/policy.py index c36225fd2..0ac437850 100644 --- a/murano/common/policy.py +++ b/murano/common/policy.py @@ -19,8 +19,6 @@ from oslo_log import log as logging from oslo_policy import policy from webob import exc as exceptions -from murano.common.i18n import _ - LOG = logging.getLogger(__name__) CONF = cfg.CONF @@ -44,8 +42,9 @@ def set_rules(data, default_rule=None, overwrite=True): if default_rule: _ENFORCER.default_rule = default_rule - msg = "Loading rules %s, default: %s, overwrite: %s" - LOG.debug(msg, data, default_rule, overwrite) + LOG.debug("Loading rules {rules}, default: {def_rule}, overwrite: " + "{overwrite}".format(rules=data, def_rule=default_rule, + overwrite=overwrite)) if isinstance(data, dict): rules = policy.Rules.from_dict(data, default_rule) @@ -77,13 +76,13 @@ def check(rule, ctxt, target={}, do_raise=True, exc=exceptions.HTTPForbidden): extra = {'policy': {'rule': rule, 'target': target}} if result: - LOG.info(_("Policy check succeeded for rule " - "'%(rule)s' on target %(target)s"), - {'rule': rule, 'target': repr(target)}, extra=extra) + LOG.debug("Policy check succeeded for rule {rule} on target " + "{target}".format(rule=rule, target=repr(target), + extra=extra)) else: - LOG.info(_("Policy check failed for rule " - "'%(rule)s' on target: %(target)s"), - {'rule': rule, 'target': repr(target)}, extra=extra) + LOG.debug("Policy check failed for rule {rule} on target: " + "{target}".format(rule=rule, target=repr(target), + extra=extra)) def check_is_admin(context): diff --git a/murano/common/server.py b/murano/common/server.py index 32890f6aa..37c592b47 100644 --- a/murano/common/server.py +++ b/murano/common/server.py @@ -27,7 +27,7 @@ from murano.db import models from murano.db.services import environments from murano.db.services import instances from murano.db import session -from murano.common.i18n import _, _LI, _LW +from murano.common.i18n import _LI, _LW from murano.services import states CONF = cfg.CONF @@ -43,7 +43,7 @@ class ResultEndpoint(object): def process_result(context, result, environment_id): secure_result = token_sanitizer.TokenSanitizer().sanitize(result) LOG.debug('Got result from orchestration ' - 'engine:\n{0}'.format(secure_result)) + 'engine:\n{result}'.format(result=secure_result)) model = result['model'] action_result = result.get('action', {}) @@ -114,13 +114,18 @@ class ResultEndpoint(object): objects = model['Objects'] if objects: services = objects.get('services') - message = _LI('EnvId: {0} TenantId: {1} Status: {2} Apps: {3}').format( - environment.id, - environment.tenant_id, - _('Failed') if num_errors + num_warnings > 0 else _('Successful'), - ', '.join(map(lambda a: a['?']['type'], services)) - ) - LOG.info(message) + if num_errors + num_warnings > 0: + LOG.warning(_LW('EnvId: {env_id} TenantId: {tenant_id} Status: ' + 'Failed Apps: {services}') + .format(env_id=environment.id, + tenant_id=environment.tenant_id, + services=services)) + else: + LOG.info(_LI('EnvId: {env_id} TenantId: {tenant_id} Status: ' + 'Successful Apps: {services}') + .format(env_id=environment.id, + tenant_id=environment.tenant_id, + services=services)) def notification_endpoint_wrapper(priority='info'): @@ -143,7 +148,7 @@ def notification_endpoint_wrapper(priority='info'): @notification_endpoint_wrapper() def track_instance(payload): LOG.debug('Got track instance request from orchestration ' - 'engine:\n{0}'.format(payload)) + 'engine:\n{payload}'.format(payload=payload)) instance_id = payload['instance'] instance_type = payload.get('instance_type', 0) environment_id = payload['environment'] @@ -159,7 +164,7 @@ def track_instance(payload): @notification_endpoint_wrapper() def untrack_instance(payload): LOG.debug('Got untrack instance request from orchestration ' - 'engine:\n{0}'.format(payload)) + 'engine:\n{payload}'.format(payload=payload)) instance_id = payload['instance'] environment_id = payload['environment'] instances.InstanceStatsServices.destroy_instance( @@ -169,7 +174,7 @@ def untrack_instance(payload): @notification_endpoint_wrapper() def report_notification(report): LOG.debug('Got report from orchestration ' - 'engine:\n{0}'.format(report)) + 'engine:\n{report}'.format(report=report)) report['entity_id'] = report['id'] del report['id'] diff --git a/murano/common/statservice.py b/murano/common/statservice.py index 8a4d95c87..c30d715b6 100644 --- a/murano/common/statservice.py +++ b/murano/common/statservice.py @@ -57,13 +57,13 @@ class StatsCollectingService(service.Service): def update_stats(self): LOG.debug("Updating statistic information.") - LOG.debug("Stats object: %s" % v1.stats) - LOG.debug("Stats: Requests:%s Errors: %s Ave.Res.Time %2.4f\n" - "Per tenant: %s" % - (v1.stats.request_count, - v1.stats.error_count, - v1.stats.average_time, - v1.stats.requests_per_tenant)) + LOG.debug("Stats object: {stats}".format(stats=v1.stats)) + LOG.debug("Stats: Requests:{amount} Errors: {error}" + "Ave.Res.Time {time:2.4f}\n Per tenant: {req_count}".format( + amount=v1.stats.request_count, + error=v1.stats.error_count, + time=v1.stats.average_time, + req_count=v1.stats.requests_per_tenant)) try: stats = self._stats_db.get_stats_by_host(self._hostname) if stats is None: @@ -93,5 +93,5 @@ class StatsCollectingService(service.Service): stats.cpu_percent = psutil.cpu_percent() self._stats_db.update(self._hostname, stats) except Exception as e: - LOG.exception(_LE("Failed to get statistics object " - "form a database. %s"), e) + LOG.exception(_LE("Failed to get statistics object from a " + "database. {error_code}").format(error_code=e)) diff --git a/murano/common/utils.py b/murano/common/utils.py index 785de01b5..7b2eede5e 100644 --- a/murano/common/utils.py +++ b/murano/common/utils.py @@ -20,7 +20,7 @@ import eventlet import jsonschema from oslo_log import log as logging -from murano.common.i18n import _, _LI +from murano.common.i18n import _, _LE LOG = logging.getLogger(__name__) @@ -238,10 +238,9 @@ def retry(ExceptionToCheck, tries=4, delay=3, backoff=2): try: return f(*args, **kwargs) except ExceptionToCheck as e: - - LOG.exception(e) - LOG.info(_LI("Retrying in {0} seconds...").format(mdelay)) - + LOG.exception(_LE("An exception occured {exc}. Retrying in" + "{time} seconds").format(exc=e, + time=mdelay)) eventlet.sleep(mdelay) if not forever: diff --git a/murano/common/wsgi.py b/murano/common/wsgi.py index 8997c5bef..d127fbe31 100644 --- a/murano/common/wsgi.py +++ b/murano/common/wsgi.py @@ -41,7 +41,7 @@ import webob.exc from murano.api.v1 import schemas from murano.common import exceptions -from murano.common.i18n import _ +from murano.common.i18n import _, _LE, _LW from murano.common import xmlutils wsgi_opts = [ @@ -711,8 +711,8 @@ class RequestDeserializer(object): try: content_type = request.get_content_type() except exceptions.UnsupportedContentType as e: - msg = "Unrecognized Content-Type provided in request: {0}" - LOG.debug(unicode(msg).format(str(e))) + LOG.error(_LE("Unrecognized Content-Type provided in request: " + "{error}").format(error=str(e))) raise if content_type is None: @@ -856,7 +856,8 @@ class JSONPatchDeserializer(TextDeserializer): try: jsonschema.validate(property_to_update, schemas.PKG_UPDATE_SCHEMA) except jsonschema.ValidationError as e: - LOG.exception(e) + LOG.error(_LE("Schema validation error occured: {error}") + .format(error=e)) raise webob.exc.HTTPBadRequest(explanation=e.message) def _decode_json_pointer(self, pointer): @@ -986,10 +987,11 @@ class FormDataDeserializer(TextDeserializer): def _from_json(self, datastring): value = datastring try: - LOG.debug("Trying deserialize '{0}' to json".format(datastring)) + LOG.debug("Trying deserialize '{data}' to json".format( + data=datastring)) value = jsonutils.loads(datastring) except ValueError: - LOG.debug("Unable deserialize to json, using raw text") + LOG.warning(_LW("Unable deserialize to json, using raw text")) return value def default(self, request): diff --git a/murano/db/catalog/api.py b/murano/db/catalog/api.py index 1d5600183..68b9eb588 100644 --- a/murano/db/catalog/api.py +++ b/murano/db/catalog/api.py @@ -42,8 +42,7 @@ def _package_get(package_id, session): # UUID before trying to treat it as one package = session.query(models.Package).get(package_id) if not package: - msg = _("Package id '{0}' not found").\ - format(package_id) + msg = _("Package id '{pkg_id}' not found").format(pkg_id=package_id) LOG.error(msg) raise exc.HTTPNotFound(explanation=msg) @@ -54,13 +53,15 @@ def _authorize_package(package, context, allow_public=False): if package.owner_id != context.tenant: if not allow_public: - msg = _("Package '{0}' is not owned by " - "tenant '{1}'").format(package.id, context.tenant) + msg = _("Package '{pkg_id}' is not owned by tenant " + "'{tenant}'").format(pkg_id=package.id, + tenant=context.tenant) LOG.error(msg) raise exc.HTTPForbidden(explanation=msg) if not package.is_public: - msg = _("Package '{0}' is not public and not owned by " - "tenant '{1}' ").format(package.id, context.tenant) + msg = _("Package '{pkg_id}' is not public and not owned by " + "tenant '{tenant}' ").format(pkg_id=package.id, + tenant=context.tenant) LOG.error(msg) raise exc.HTTPForbidden(explanation=msg) @@ -164,9 +165,9 @@ def _do_add(package, change): try: getattr(package, path).append(item) except AssertionError: - msg = _LW('One of the specified {0} is already ' - 'associated with a package. Doing nothing.') - LOG.warning(msg.format(path)) + LOG.warning(_LW('One of the specified {path} is already associated' + ' with a package. Doing nothing.').format( + path=path)) return package @@ -183,8 +184,8 @@ def _do_remove(package, change): current_values = getattr(package, path) for value in values: if value not in [i.name for i in current_values]: - msg = _("Value '{0}' of property '{1}' " - "does not exist.").format(value, path) + msg = _("Value '{value}' of property '{path}' " + "does not exist.").format(value=value, path=path) LOG.error(msg) raise exc.HTTPNotFound(explanation=msg) item_to_remove = find(current_values, lambda i: i.name == value) @@ -405,7 +406,7 @@ def category_get(category_id, session=None, packages=False): category = session.query(models.Category).get(category_id) if not category: - msg = _("Category id '{0}' not found").format(category_id) + msg = _("Category id '{id}' not found").format(id=category_id) LOG.error(msg) raise exc.HTTPNotFound(msg) if packages: @@ -459,7 +460,7 @@ def category_delete(category_id): with session.begin(): category = session.query(models.Category).get(category_id) if not category: - msg = _("Category id '{0}' not found").format(category_id) + msg = _("Category id '{id}' not found").format(id=category_id) LOG.error(msg) raise exc.HTTPNotFound(msg) session.delete(category) diff --git a/murano/db/services/core_services.py b/murano/db/services/core_services.py index 6b569d5bc..a4a7d8dba 100644 --- a/murano/db/services/core_services.py +++ b/murano/db/services/core_services.py @@ -90,8 +90,8 @@ class CoreServices(object): result = utils.TraverseHelper.get(path, temp_description) if result is None: - msg = _('Environment Template is not found').format( - env_template_id) + msg = _('Environment Template is not found').format( + id=env_template_id) LOG.error(msg) raise exc.HTTPNotFound(explanation=msg) return result @@ -110,8 +110,8 @@ class CoreServices(object): temp_description = get_description(env_template_id) if temp_description is None: - msg = _('Environment Template is not found').format( - env_template_id) + msg = _('Environment Template is not found').format( + id=env_template_id) LOG.error(msg) raise exc.HTTPNotFound(explanation=msg) diff --git a/murano/db/services/environment_templates.py b/murano/db/services/environment_templates.py index 1b9792d49..799282835 100644 --- a/murano/db/services/environment_templates.py +++ b/murano/db/services/environment_templates.py @@ -12,6 +12,7 @@ # License for the specific language governing permissions and limitations # under the License. +from murano.common.i18n import _ from murano.common import uuidutils from murano.db import models from murano.db import session as db_session @@ -56,8 +57,8 @@ class EnvTemplateServices(object): try: unit.add(env_template) except db_exc.DBDuplicateEntry: - msg = 'Environment template specified name already exists' - LOG.exception(msg) + msg = _('Environment template specified name already exists') + LOG.error(msg) raise db_exc.DBDuplicateEntry(explanation=msg) env_template.update({'description': env_template_params}) env_template.save(unit) diff --git a/murano/db/services/environments.py b/murano/db/services/environments.py index dd9576bd0..8f500bc21 100644 --- a/murano/db/services/environments.py +++ b/murano/db/services/environments.py @@ -217,8 +217,8 @@ class EnvironmentServices(object): }) network_type = DEFAULT_NETWORK_TYPES[network_driver] - LOG.debug("Setting '{0}' as environment's " - "default network".format(network_type)) + LOG.debug("Setting '{net_type}' as environment's " + "default network".format(net_type=network_type)) return { 'environment': { '?': { diff --git a/murano/dsl/executor.py b/murano/dsl/executor.py index 307fcf763..74bcd35a5 100644 --- a/murano/dsl/executor.py +++ b/murano/dsl/executor.py @@ -158,16 +158,18 @@ class MuranoDslExecutor(object): if frame['location']: caller_str = ' called from ' + stack_trace.format_frame(frame) - LOG.trace('{0}: Begin execution {1}({2}){3}'.format( - thread_id, method_name, params_str, caller_str)) + LOG.trace('{thread}: Begin execution {method}({params}){caller}' + .format(thread=thread_id, method=method_name, + params=params_str, caller=caller_str)) try: def log_result(result): - LOG.trace('{0}: End execution {1} with result {2}'.format( - thread_id, method_name, result)) + LOG.trace('{thread}: End execution {method} with result ' + '{result}'.format(thread=thread_id, + method=method_name, result=result)) yield log_result except Exception as e: - LOG.trace('{0}: End execution {1} with exception {2}'.format( - thread_id, method_name, e)) + LOG.trace('{thread}: End execution {method} with exception {exc}' + .format(thread=thread_id, method=method_name, exc=e)) raise @staticmethod diff --git a/murano/engine/environment.py b/murano/engine/environment.py index 66f251171..7c20b0a8e 100644 --- a/murano/engine/environment.py +++ b/murano/engine/environment.py @@ -43,7 +43,7 @@ class Environment(object): delegate() except Exception: LOG.exception(_LE('Unhandled exception on invocation of ' - 'pre-execution hook')) + 'pre-execution hook')) self._set_up_list = [] def finish(self): @@ -52,5 +52,5 @@ class Environment(object): delegate() except Exception: LOG.exception(_LE('Unhandled exception on invocation of ' - 'post-execution hook')) + 'post-execution hook')) self._tear_down_list = [] diff --git a/murano/engine/package_loader.py b/murano/engine/package_loader.py index 369722ebe..f99af585d 100644 --- a/murano/engine/package_loader.py +++ b/murano/engine/package_loader.py @@ -96,7 +96,8 @@ class ApiPackageLoader(package_loader.MuranoPackageLoader): uuid.uuid4().hex)) os.makedirs(directory) - LOG.debug('Cache for package loader is located at: %s' % directory) + LOG.debug('Cache for package loader is located at: {dir}'.format( + dir=directory)) return directory def _get_definition(self, filter_opts): @@ -105,16 +106,15 @@ class ApiPackageLoader(package_loader.MuranoPackageLoader): packages = list(self._murano_client_factory().packages.filter( **filter_opts)) if len(packages) > 1: - LOG.debug('Ambiguous package resolution: ' - 'more then 1 package found for query "{0}", ' - 'will resolve based on the ownership'. - format(filter_opts)) + LOG.debug('Ambiguous package resolution: more then 1 package ' + 'found for query "{opts}", will resolve based on the' + ' ownership'.format(opts=filter_opts)) return self._get_best_package_match(packages) elif len(packages) == 1: return packages[0] else: LOG.debug('There are no packages matching filter ' - '{0}'.format(filter_opts)) + '{filter}'.format(optst=filter_opts)) raise LookupError() except muranoclient_exc.HTTPException: LOG.debug('Failed to get package definition from repository') @@ -140,8 +140,7 @@ class ApiPackageLoader(package_loader.MuranoPackageLoader): try: return load_utils.load_from_dir(package_directory) except pkg_exc.PackageLoadError: - LOG.exception(_LE( - 'Unable to load package from cache. Clean-up...')) + LOG.error(_LE('Unable to load package from cache. Clean-up.')) shutil.rmtree(package_directory, ignore_errors=True) try: package_data = self._murano_client_factory().packages.download( diff --git a/murano/engine/system/agent_listener.py b/murano/engine/system/agent_listener.py index aac679e53..c4d6930e6 100644 --- a/murano/engine/system/agent_listener.py +++ b/murano/engine/system/agent_listener.py @@ -20,6 +20,7 @@ from oslo_config import cfg from oslo_log import log as logging from murano.common import exceptions +from murano.common.i18n import _LE from murano.dsl import dsl from murano.dsl import helpers from murano.engine.system import common @@ -45,9 +46,8 @@ class AgentListener(object): def _check_enabled(self): if CONF.engine.disable_murano_agent: - LOG.debug( - 'Use of murano-agent is disallowed ' - 'by the server configuration') + LOG.error(_LE('Use of murano-agent is disallowed ' + 'by the server configuration')) raise exceptions.PolicyViolationException( 'Use of murano-agent is disallowed ' @@ -105,8 +105,9 @@ class AgentListener(object): continue msg.ack() msg_id = msg.body.get('SourceID', msg.id) - LOG.debug("Got execution result: id '{0}'" - " body '{1}'".format(msg_id, msg.body)) + LOG.debug("Got execution result: id '{msg_id}'" + " body '{body}'".format(msg_id=msg_id, + body=msg.body)) if msg_id in self._subscriptions: event = self._subscriptions.pop(msg_id) event.send(msg.body) diff --git a/murano/engine/system/heat_stack.py b/murano/engine/system/heat_stack.py index 0b8bd8052..77f82eb35 100644 --- a/murano/engine/system/heat_stack.py +++ b/murano/engine/system/heat_stack.py @@ -19,10 +19,10 @@ import eventlet import heatclient.exc as heat_exc from oslo_log import log as logging +from murano.common.i18n import _LW from murano.common import utils from murano.dsl import dsl from murano.dsl import helpers -from murano.common.i18n import _LI, _LW LOG = logging.getLogger(__name__) @@ -179,7 +179,7 @@ class HeatStack(object): self._template['description'] = self._description template = copy.deepcopy(self._template) - LOG.info(_LI('Pushing: {0}').format(template)) + LOG.debug('Pushing: {template}'.format(template=template)) current_status = self._get_status() resources = template.get('Resources') or template.get('resources') @@ -222,7 +222,8 @@ class HeatStack(object): self._wait_state( lambda status: status in ('DELETE_COMPLETE', 'NOT_FOUND')) except heat_exc.NotFound: - LOG.warn(_LW('Stack {0} already deleted?').format(self._name)) + LOG.warning(_LW('Stack {stack_name} already deleted?') + .format(stack_name=self._name)) self._template = {} self._applied = True diff --git a/murano/engine/system/net_explorer.py b/murano/engine/system/net_explorer.py index e080b38b4..8c48db1fb 100644 --- a/murano/engine/system/net_explorer.py +++ b/murano/engine/system/net_explorer.py @@ -20,6 +20,7 @@ from oslo_config import cfg from oslo_log import log as logging from oslo_utils import uuidutils +from murano.common.i18n import _LI from murano.dsl import dsl from murano.dsl import helpers @@ -43,10 +44,10 @@ class NetworkExplorer(object): routers = client.list_routers( tenant_id=self._tenant_id, name=router_name).get('routers') if len(routers) == 0: - LOG.debug('Router {0} not found'.format(router_name)) + LOG.debug('Router {name} not found'.format(name=router_name)) if self._settings.create_router: - LOG.debug('Attempting to create Router {0}'. - format(router_name)) + LOG.debug('Attempting to create Router {router}'. + format(router=router_name)) external_network = self._settings.external_network kwargs = {'id': external_network} \ if uuidutils.is_uuid_like(external_network) \ @@ -68,7 +69,7 @@ class NetworkExplorer(object): } } router = client.create_router(body=body_data).get('router') - LOG.debug('Created router: {0}'.format(router)) + LOG.info(_LI('Created router: {id}').format(id=router['id'])) return router['id'] else: raise KeyError('Router %s was not found' % router_name) diff --git a/murano/tests/functional/common/utils.py b/murano/tests/functional/common/utils.py index d091cc178..3d979544c 100644 --- a/murano/tests/functional/common/utils.py +++ b/murano/tests/functional/common/utils.py @@ -133,8 +133,8 @@ class DeployTestMixin(zip_utils.ZipUtilsMixin): status = environment.manager.get(environment.id).status while states.SessionState.DEPLOYING == status: if time.time() - start_time > timeout: - err_msg = ('Deployment not finished in {0} seconds' - .format(timeout)) + err_msg = ('Deployment not finished in {amount} seconds' + .format(amount=timeout)) LOG.error(err_msg) raise RuntimeError(err_msg) time.sleep(5) @@ -180,11 +180,11 @@ class DeployTestMixin(zip_utils.ZipUtilsMixin): deployment = cls.get_last_deployment(environment) try: details = deployment.result['result']['details'] - LOG.warning('Details:\n {0}'.format(details)) + LOG.warning('Details:\n {details}'.format(details=details)) except Exception as e: LOG.error(e) report = cls.get_deployment_report(environment, deployment) - LOG.debug('Report:\n {0}\n'.format(report)) + LOG.debug('Report:\n {report}\n'.format(report=report)) # -----------------------------Service methods--------------------------------- @@ -199,7 +199,7 @@ class DeployTestMixin(zip_utils.ZipUtilsMixin): If False - returns a specific class """ - LOG.debug('Added service:\n {0}'.format(data)) + LOG.debug('Added service:\n {data}'.format(data=data)) service = cls.murano_client().services.post(environment.id, path='/', data=data, session_id=session.id) @@ -291,7 +291,7 @@ class DeployTestMixin(zip_utils.ZipUtilsMixin): tn.write('GET / HTTP/1.0\n\n') try: buf = tn.read_all() - LOG.debug('Data:\n {0}'.format(buf)) + LOG.debug('Data:\n {data}'.format(data=buf)) if len(buf) != 0: tn.sock.sendall(telnetlib.IAC + telnetlib.NOP) return @@ -299,7 +299,7 @@ class DeployTestMixin(zip_utils.ZipUtilsMixin): raise RuntimeError('Resource at {0}:{1} not exist'. format(ip, port)) except socket.error as e: - LOG.debug('Socket Error: {0}'.format(e)) + LOG.error('Socket Error: {error}'.format(error=e)) @classmethod def get_ip_by_appname(cls, environment, appname): diff --git a/murano/tests/functional/engine/manager.py b/murano/tests/functional/engine/manager.py index ee744aef5..87e3b1dc7 100644 --- a/murano/tests/functional/engine/manager.py +++ b/murano/tests/functional/engine/manager.py @@ -72,7 +72,8 @@ class MuranoTestsCore(testtools.TestCase, testtools.testcase.WithAttributes, self.fail('Environment has incorrect status {0}'. format(status)) time.sleep(5) - LOG.debug('Environment {0} is ready'.format(environment.name)) + LOG.debug('Environment {env_name} is ready'.format( + env_name=environment.name)) return environment.manager.get(environment.id) def status_check(self, environment, configurations, kubernetes=False): @@ -88,11 +89,13 @@ class MuranoTestsCore(testtools.TestCase, testtools.testcase.WithAttributes, for configuration in configurations: if kubernetes: service_name = configuration[0] - LOG.debug('Service: {0}'.format(service_name)) + LOG.debug('Service: {service_name}'.format( + service_name=service_name)) inst_name = configuration[1] - LOG.debug('Instance: {0}'.format(inst_name)) + LOG.debug('Instance: {instance_name}'.format( + instance_name=inst_name)) ports = configuration[2:] - LOG.debug('Acquired ports: {0}'.format(ports)) + LOG.debug('Acquired ports: {ports}'.format(ports=ports)) ip = self.get_k8s_ip_by_instance_name(environment, inst_name, service_name) if ip and ports: @@ -153,7 +156,7 @@ class MuranoTestsCore(testtools.TestCase, testtools.testcase.WithAttributes, start_time = time.time() while time.time() - start_time < 600: try: - LOG.debug('Checking: {0}:{1}'.format(ip, port)) + LOG.debug('Checking: {ip}:{port}'.format(ip=ip, port=port)) self.verify_connection(ip, port) return except RuntimeError as e: diff --git a/murano/tests/unit/db/migration/test_migrations_base.py b/murano/tests/unit/db/migration/test_migrations_base.py index d609024a4..0fc42787b 100644 --- a/murano/tests/unit/db/migration/test_migrations_base.py +++ b/murano/tests/unit/db/migration/test_migrations_base.py @@ -65,7 +65,8 @@ class BaseWalkMigrationTestCase(object): CONF.set_override('connection', str(engine.url), group='database') getattr(command, alembic_command)(*args, **kwargs) res = buf.getvalue().strip() - LOG.debug('Alembic command `%s` returns: %s' % (alembic_command, res)) + LOG.debug('Alembic command `{command}` returns: {result}'.format( + command=alembic_command, result=res)) return res def _up_and_down_versions(self): @@ -179,7 +180,6 @@ class BaseWalkMigrationTestCase(object): if check: check(engine, data) except Exception: - LOG.error(_LE( - "Failed to migrate to version %(ver)s on engine %(eng)s") % - {'ver': version, 'eng': engine}) + LOG.error(_LE("Failed to migrate to version {ver} on engine {eng}") + .format(ver=version, eng=engine)) raise diff --git a/murano/utils.py b/murano/utils.py index 1dc4cc742..d624b8ad9 100644 --- a/murano/utils.py +++ b/murano/utils.py @@ -17,7 +17,7 @@ import functools from oslo_log import log as logging from webob import exc -from murano.common.i18n import _, _LI +from murano.common.i18n import _, _LE from murano.db import models from murano.db.services import sessions from murano.db import session as db_session @@ -30,16 +30,16 @@ def check_env(request, environment_id): unit = db_session.get_session() environment = unit.query(models.Environment).get(environment_id) if environment is None: - msg = _('Environment with id {0}' - ' not found').format(environment_id) - LOG.warning(msg) + msg = _('Environment with id {env_id}' + ' not found').format(env_id=environment_id) + LOG.error(msg) raise exc.HTTPNotFound(explanation=msg) if hasattr(request, 'context'): if environment.tenant_id != request.context.tenant: msg = _('User is not authorized to access' ' these tenant resources') - LOG.warning(msg) + LOG.error(msg) raise exc.HTTPForbidden(explanation=msg) return environment @@ -76,14 +76,14 @@ def verify_env_template(func): unit = db_session.get_session() template = unit.query(models.EnvironmentTemplate).get(env_template_id) if template is None: - LOG.info(_LI("Environment Template with id '{0}' not found"). - format(env_template_id)) + LOG.error(_LE("Environment Template with id '{id}' not found"). + format(id=env_template_id)) raise exc.HTTPNotFound() if hasattr(request, 'context'): if template.tenant_id != request.context.tenant: - LOG.info(_LI('User is not authorized to access ' - 'this tenant resources')) + LOG.error(_LE('User is not authorized to access ' + 'this tenant resources')) raise exc.HTTPUnauthorized() return func(self, request, env_template_id, *args, **kwargs)