Log translation hint for Heat.contrib
Currently, Log translation is motivated by oslo's move to prioritized translation of strings, as documented at https://wiki.openstack.org/wiki/LoggingStandards#Log_Translation - add log translation hints for warning, error and info levels - move from LOG.warning to LOG.warn - remove use of % as a string formatter, use the log functionality instead Partial implements blueprint log-translation-hints Change-Id: I8dbb5430507283038939b5665d67615c46b1f72e
This commit is contained in:
parent
d971917560
commit
7a786674f7
@ -17,6 +17,7 @@
|
||||
import six
|
||||
|
||||
from heat.common.i18n import _
|
||||
from heat.common.i18n import _LW
|
||||
from heat.engine import attributes
|
||||
from heat.engine import properties
|
||||
from heat.engine import resource
|
||||
@ -346,5 +347,5 @@ def available_resource_mapping():
|
||||
if DOCKER_INSTALLED:
|
||||
return resource_mapping()
|
||||
else:
|
||||
LOG.warn(_("Docker plug-in loaded, but docker lib not installed."))
|
||||
LOG.warn(_LW("Docker plug-in loaded, but docker lib not installed."))
|
||||
return {}
|
||||
|
@ -20,11 +20,13 @@ from oslo.config import cfg
|
||||
from oslo.utils import importutils
|
||||
|
||||
from heat.common import exception
|
||||
from heat.common.i18n import _
|
||||
from heat.common.i18n import _LE
|
||||
from heat.common.i18n import _LI
|
||||
from heat.common.i18n import _LW
|
||||
from heat.openstack.common import log as logging
|
||||
|
||||
LOG = logging.getLogger('heat.common.keystoneclient')
|
||||
LOG.info(_("Keystone V2 loaded"))
|
||||
LOG.info(_LI("Keystone V2 loaded"))
|
||||
|
||||
|
||||
class KeystoneClientV2(object):
|
||||
@ -87,8 +89,8 @@ class KeystoneClientV2(object):
|
||||
kwargs['tenant_name'] = self.context.tenant
|
||||
kwargs['tenant_id'] = self.context.tenant_id
|
||||
else:
|
||||
LOG.error(_("Keystone v2 API connection failed, no password "
|
||||
"or auth_token!"))
|
||||
LOG.error(_LE("Keystone v2 API connection failed, no password "
|
||||
"or auth_token!"))
|
||||
raise exception.AuthorizationFailure()
|
||||
kwargs['cacert'] = self._get_client_option('ca_file')
|
||||
kwargs['insecure'] = self._get_client_option('insecure')
|
||||
@ -102,7 +104,7 @@ class KeystoneClientV2(object):
|
||||
if auth_kwargs:
|
||||
# Sanity check
|
||||
if not client.auth_ref.trust_scoped:
|
||||
LOG.error(_("v2 trust token re-scoping failed!"))
|
||||
LOG.error(_LE("v2 trust token re-scoping failed!"))
|
||||
raise exception.AuthorizationFailure()
|
||||
# All OK so update the context with the token
|
||||
self.context.auth_token = client.auth_ref.auth_token
|
||||
@ -110,8 +112,8 @@ class KeystoneClientV2(object):
|
||||
# Ensure the v2 API we're using is not impacted by keystone
|
||||
# bug #1239303, otherwise we can't trust the user_id
|
||||
if self.context.trustor_user_id != client.auth_ref.user_id:
|
||||
LOG.error(_("Trust impersonation failed, bug #1239303 "
|
||||
"suspected, you may need a newer keystone"))
|
||||
LOG.error(_LE("Trust impersonation failed, bug #1239303 "
|
||||
"suspected, you may need a newer keystone"))
|
||||
raise exception.AuthorizationFailure()
|
||||
|
||||
return client
|
||||
@ -147,8 +149,8 @@ class KeystoneClientV2(object):
|
||||
Returns the keystone ID of the resulting user
|
||||
"""
|
||||
if(len(username) > 64):
|
||||
LOG.warning(_("Truncating the username %s to the last 64 "
|
||||
"characters.") % username)
|
||||
LOG.warn(_LW("Truncating the username %s to the last 64 "
|
||||
"characters."), username)
|
||||
#get the last 64 characters of the username
|
||||
username = username[-64:]
|
||||
user = self.client.users.create(username,
|
||||
@ -171,10 +173,10 @@ class KeystoneClientV2(object):
|
||||
self.client.roles.add_user_role(user.id, role_id,
|
||||
self.context.tenant_id)
|
||||
else:
|
||||
LOG.error(_("Failed to add user %(user)s to role %(role)s, "
|
||||
"check role exists!")
|
||||
% {'user': username,
|
||||
'role': cfg.CONF.heat_stack_user_role})
|
||||
LOG.error(_LE("Failed to add user %(user)s to role %(role)s, "
|
||||
"check role exists!"),
|
||||
{'user': username,
|
||||
'role': cfg.CONF.heat_stack_user_role})
|
||||
|
||||
return user.id
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from heat.common.i18n import _
|
||||
from heat.common.i18n import _LE
|
||||
from heat.openstack.common import log as logging
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
@ -30,7 +30,7 @@ class ZaqarClientPlugin(client_plugin.ClientPlugin):
|
||||
|
||||
con = self.context
|
||||
if self.auth_token is None:
|
||||
LOG.error(_("Zaqar connection failed, no auth_token!"))
|
||||
LOG.error(_LE("Zaqar connection failed, no auth_token!"))
|
||||
return None
|
||||
|
||||
opts = {
|
||||
|
@ -21,7 +21,8 @@ import urlparse
|
||||
from oslo.config import cfg
|
||||
|
||||
from heat.common import exception
|
||||
from heat.common.i18n import _
|
||||
from heat.common.i18n import _LI
|
||||
from heat.common.i18n import _LW
|
||||
from heat.engine.clients import client_plugin
|
||||
from heat.engine.clients.os import cinder
|
||||
from heat.engine.clients.os import glance
|
||||
@ -57,7 +58,7 @@ class RackspaceClientPlugin(client_plugin.ClientPlugin):
|
||||
"""Create an authenticated client context."""
|
||||
self.pyrax = pyrax.create_context("rackspace")
|
||||
self.pyrax.auth_endpoint = self.context.auth_url
|
||||
LOG.info(_("Authenticating username: %s") %
|
||||
LOG.info(_LI("Authenticating username: %s") %
|
||||
self.context.username)
|
||||
tenant = self.context.tenant_id
|
||||
tenant_name = self.context.tenant
|
||||
@ -65,9 +66,9 @@ class RackspaceClientPlugin(client_plugin.ClientPlugin):
|
||||
tenant_id=tenant,
|
||||
tenant_name=tenant_name)
|
||||
if not self.pyrax.authenticated:
|
||||
LOG.warn(_("Pyrax Authentication Failed."))
|
||||
LOG.warn(_LW("Pyrax Authentication Failed."))
|
||||
raise exception.AuthorizationFailure()
|
||||
LOG.info(_("User %s authenticated successfully."),
|
||||
LOG.info(_LI("User %s authenticated successfully."),
|
||||
self.context.username)
|
||||
|
||||
|
||||
|
@ -18,6 +18,7 @@ import six
|
||||
|
||||
from heat.common import exception
|
||||
from heat.common.i18n import _
|
||||
from heat.common.i18n import _LI
|
||||
from heat.engine import attributes
|
||||
from heat.engine import constraints
|
||||
from heat.engine import function
|
||||
@ -672,7 +673,7 @@ class CloudLoadBalancer(resource.Resource):
|
||||
raise exception.InvalidTemplateAttribute(resource=self.name,
|
||||
key=key)
|
||||
function = attribute_function[key]
|
||||
LOG.info(_('%(name)s.GetAtt(%(key)s) == %(function)s'),
|
||||
LOG.info(_LI('%(name)s.GetAtt(%(key)s) == %(function)s'),
|
||||
{'name': self.name, 'key': key, 'function': function})
|
||||
return function
|
||||
|
||||
|
@ -15,6 +15,7 @@ import copy
|
||||
|
||||
from heat.common import exception
|
||||
from heat.common.i18n import _
|
||||
from heat.common.i18n import _LW
|
||||
from heat.engine import attributes
|
||||
from heat.engine import properties
|
||||
from heat.engine.resources import server
|
||||
@ -181,7 +182,7 @@ class CloudServer(server.Server):
|
||||
reason = server.metadata.get('rackconnect_unprocessable_reason',
|
||||
None)
|
||||
if reason is not None:
|
||||
LOG.warning(_("RackConnect unprocessable reason: %s") % reason)
|
||||
LOG.warn(_LW("RackConnect unprocessable reason: %s"), reason)
|
||||
|
||||
msg = _("RackConnect automation has completed")
|
||||
self._add_event(self.action, self.status, msg)
|
||||
|
@ -15,6 +15,7 @@ import netaddr
|
||||
|
||||
from heat.common import exception
|
||||
from heat.common.i18n import _
|
||||
from heat.common.i18n import _LW
|
||||
from heat.engine import attributes
|
||||
from heat.engine import constraints
|
||||
from heat.engine import properties
|
||||
@ -93,8 +94,8 @@ class CloudNetwork(resource.Resource):
|
||||
try:
|
||||
self._network = self.cloud_networks().get(self.resource_id)
|
||||
except NotFound:
|
||||
LOG.warn(_("Could not find network %s but resource id is set.")
|
||||
% self.resource_id)
|
||||
LOG.warn(_LW("Could not find network %s but resource id is"
|
||||
" set."), self.resource_id)
|
||||
return self._network
|
||||
|
||||
def cloud_networks(self):
|
||||
|
Loading…
Reference in New Issue
Block a user