fix use of locals() in strings
hacking 0.6 brings in H501, don't use locals() in strings, as it
has the ability to hide errors. This fixes it in preparation of
landing hacking 0.6.
Change-Id: I7972befbb945a27ed8aa601975205736038eefa2
diff --git a/tempest/api/compute/servers/test_list_servers_negative.py b/tempest/api/compute/servers/test_list_servers_negative.py
index db9bdc1..c03c43e 100644
--- a/tempest/api/compute/servers/test_list_servers_negative.py
+++ b/tempest/api/compute/servers/test_list_servers_negative.py
@@ -59,8 +59,9 @@
if num_servers > 0:
username = cls.os.username
tenant_name = cls.os.tenant_name
- msg = ("User/tenant %(username)s/%(tenant_name)s already have "
- "existing server instances. Skipping test.") % locals()
+ msg = ("User/tenant %(u)s/%(t)s already have "
+ "existing server instances. Skipping test." %
+ {'u': username, 't': tenant_name})
raise cls.skipException(msg)
resp, body = cls.alt_client.list_servers()
@@ -69,8 +70,9 @@
if num_servers > 0:
username = cls.alt_manager.username
tenant_name = cls.alt_manager.tenant_name
- msg = ("Alt User/tenant %(username)s/%(tenant_name)s already have "
- "existing server instances. Skipping test.") % locals()
+ msg = ("Alt User/tenant %(u)s/%(t)s already have "
+ "existing server instances. Skipping test." %
+ {'u': username, 't': tenant_name})
raise cls.skipException(msg)
# The following servers are created for use
diff --git a/tempest/clients.py b/tempest/clients.py
index 5efce98..2154f8b 100644
--- a/tempest/clients.py
+++ b/tempest/clients.py
@@ -274,8 +274,9 @@
if None in (self.username, self.password, self.tenant_name):
msg = ("Missing required credentials. "
- "username: %(username)s, password: %(password)s, "
- "tenant_name: %(tenant_name)s") % locals()
+ "username: %(u)s, password: %(p)s, "
+ "tenant_name: %(t)s" %
+ {'u': username, 'p': password, 't': tenant_name})
raise exceptions.InvalidConfiguration(msg)
self.auth_url = self.config.identity.uri
diff --git a/tempest/common/glance_http.py b/tempest/common/glance_http.py
index cd33a22..4045430 100644
--- a/tempest/common/glance_http.py
+++ b/tempest/common/glance_http.py
@@ -125,11 +125,12 @@
conn.request(method, conn_url, **kwargs)
resp = conn.getresponse()
except socket.gaierror as e:
- message = "Error finding address for %(url)s: %(e)s" % locals()
+ message = ("Error finding address for %(url)s: %(e)s" %
+ {'url': url, 'e': e})
raise exc.EndpointNotFound(message)
except (socket.error, socket.timeout) as e:
- endpoint = self.endpoint
- message = "Error communicating with %(endpoint)s %(e)s" % locals()
+ message = ("Error communicating with %(endpoint)s %(e)s" %
+ {'endpoint': self.endpoint, 'e': e})
raise exc.TimeoutException(message)
body_iter = ResponseBodyIterator(resp)
diff --git a/tempest/config.py b/tempest/config.py
index 2e56628..6e6488b 100644
--- a/tempest/config.py
+++ b/tempest/config.py
@@ -569,7 +569,7 @@
LOG.info("Using tempest config file %s" % path)
if not os.path.exists(path):
- msg = "Config file %(path)s not found" % locals()
+ msg = "Config file %s not found" % path
print(RuntimeError(msg), file=sys.stderr)
else:
config_files.append(path)
diff --git a/tempest/manager.py b/tempest/manager.py
index 4a447f3..187e2c6 100644
--- a/tempest/manager.py
+++ b/tempest/manager.py
@@ -65,6 +65,15 @@
self.config = tempest.config.TempestConfig()
self.client_attr_names = []
+ # we do this everywhere, have it be part of the super class
+ def _validate_credentials(self, username, password, tenant_name):
+ if None in (username, password, tenant_name):
+ msg = ("Missing required credentials. "
+ "username: %(u)s, password: %(p)s, "
+ "tenant_name: %(t)s" %
+ {'u': username, 'p': password, 't': tenant_name})
+ raise exceptions.InvalidConfiguration(msg)
+
class FuzzClientManager(Manager):
@@ -103,11 +112,7 @@
password = password or self.config.identity.password
tenant_name = tenant_name or self.config.identity.tenant_name
- if None in (username, password, tenant_name):
- msg = ("Missing required credentials. "
- "username: %(username)s, password: %(password)s, "
- "tenant_name: %(tenant_name)s") % locals()
- raise exceptions.InvalidConfiguration(msg)
+ self._validate_credentials(username, password, tenant_name)
auth_url = self.config.identity.uri
diff --git a/tempest/scenario/manager.py b/tempest/scenario/manager.py
index fe6fbf5..f968411 100644
--- a/tempest/scenario/manager.py
+++ b/tempest/scenario/manager.py
@@ -32,7 +32,6 @@
from tempest.common import log as logging
from tempest.common import ssh
from tempest.common.utils.data_utils import rand_name
-from tempest import exceptions
import tempest.manager
import tempest.test
@@ -76,11 +75,7 @@
if not tenant_name:
tenant_name = self.config.identity.tenant_name
- if None in (username, password, tenant_name):
- msg = ("Missing required credentials for compute client. "
- "username: %(username)s, password: %(password)s, "
- "tenant_name: %(tenant_name)s") % locals()
- raise exceptions.InvalidConfiguration(msg)
+ self._validate_credentials(username, password, tenant_name)
auth_url = self.config.identity.uri
dscv = self.config.identity.disable_ssl_certificate_validation
@@ -131,11 +126,7 @@
if not tenant_name:
tenant_name = self.config.identity.admin_tenant_name
- if None in (username, password, tenant_name):
- msg = ("Missing required credentials for identity client. "
- "username: %(username)s, password: %(password)s, "
- "tenant_name: %(tenant_name)s") % locals()
- raise exceptions.InvalidConfiguration(msg)
+ self._validate_credentials(username, password, tenant_name)
auth_url = self.config.identity.uri
dscv = self.config.identity.disable_ssl_certificate_validation
@@ -157,11 +148,7 @@
password = self.config.identity.admin_password
tenant_name = self.config.identity.admin_tenant_name
- if None in (username, password, tenant_name):
- msg = ("Missing required credentials for network client. "
- "username: %(username)s, password: %(password)s, "
- "tenant_name: %(tenant_name)s") % locals()
- raise exceptions.InvalidConfiguration(msg)
+ self._validate_credentials(username, password, tenant_name)
auth_url = self.config.identity.uri
dscv = self.config.identity.disable_ssl_certificate_validation