Merge "Functional: Add prefix when copy logs on failure"
This commit is contained in:
commit
507d9d5247
@ -101,8 +101,8 @@ class BayTest(base.BaseMagnumTest):
|
||||
self.bay_uuid = model.uuid
|
||||
self.addOnException(self.copy_logs_handler(
|
||||
lambda: list(
|
||||
self._get_bay_by_id(self.bay_uuid)[1].node_addresses +
|
||||
self._get_bay_by_id(self.bay_uuid)[1].master_addresses),
|
||||
[self._get_bay_by_id(self.bay_uuid)[1].master_addresses,
|
||||
self._get_bay_by_id(self.bay_uuid)[1].node_addresses]),
|
||||
self.baymodel.coe,
|
||||
self.keypair))
|
||||
self.bay_client.wait_for_created_bay(model.uuid, delete_on_error=False)
|
||||
|
@ -23,6 +23,9 @@ from magnum.tests.functional.common import config
|
||||
from magnum.tests.functional.common import manager
|
||||
|
||||
|
||||
COPY_LOG_HELPER = "magnum/tests/contrib/copy_instance_logs.sh"
|
||||
|
||||
|
||||
class BaseMagnumTest(base.BaseTestCase):
|
||||
"""Sets up configuration required for functional tests"""
|
||||
|
||||
@ -172,7 +175,8 @@ class BaseMagnumTest(base.BaseTestCase):
|
||||
and copy addresses from there locally.
|
||||
|
||||
:param get_nodes_fn: function that takes no parameters and returns
|
||||
a list of node IPs to get logs from
|
||||
a list of node IPs which are in such form:
|
||||
[[master_nodes], [slave_nodes]].
|
||||
:param coe: the COE type of the nodes
|
||||
"""
|
||||
|
||||
@ -187,28 +191,35 @@ class BaseMagnumTest(base.BaseTestCase):
|
||||
msg = "Failed to copy logs for bay"
|
||||
nodes_addresses = get_nodes_fn()
|
||||
|
||||
for node_address in nodes_addresses:
|
||||
log_name = "node-" + func_name
|
||||
try:
|
||||
base_path = os.path.split(os.path.dirname(
|
||||
os.path.abspath(magnum.__file__)))[0]
|
||||
script = "magnum/tests/contrib/copy_instance_logs.sh"
|
||||
full_location = os.path.join(base_path, script)
|
||||
cls.LOG.debug("running %s" % full_location)
|
||||
cls.LOG.debug("keypair: %s" % keypair)
|
||||
subprocess.check_call([
|
||||
full_location,
|
||||
node_address,
|
||||
coe,
|
||||
log_name,
|
||||
str(keypair)
|
||||
])
|
||||
except Exception:
|
||||
cls.LOG.exception(msg)
|
||||
cls.LOG.exception("failed to copy from %s to %s%s-%s" %
|
||||
(node_address,
|
||||
"/opt/stack/logs/bay-nodes/",
|
||||
log_name, node_address))
|
||||
master_nodes = nodes_addresses[0]
|
||||
slave_nodes = nodes_addresses[1]
|
||||
|
||||
base_path = os.path.split(os.path.dirname(
|
||||
os.path.abspath(magnum.__file__)))[0]
|
||||
full_location = os.path.join(base_path, COPY_LOG_HELPER)
|
||||
|
||||
def do_copy_logs(prefix, nodes_address):
|
||||
log_name = prefix + "-" + func_name
|
||||
for node_address in nodes_address:
|
||||
try:
|
||||
cls.LOG.debug("running %s" % full_location)
|
||||
cls.LOG.debug("keypair: %s" % keypair)
|
||||
subprocess.check_call([
|
||||
full_location,
|
||||
node_address,
|
||||
coe,
|
||||
log_name,
|
||||
str(keypair)
|
||||
])
|
||||
except Exception:
|
||||
cls.LOG.exception(msg)
|
||||
cls.LOG.exception(
|
||||
"failed to copy from %s to %s%s-%s" %
|
||||
(node_address, "/opt/stack/logs/bay-nodes/",
|
||||
log_name, node_address))
|
||||
|
||||
do_copy_logs('master', master_nodes)
|
||||
do_copy_logs('node', slave_nodes)
|
||||
except Exception:
|
||||
cls.LOG.exception(msg)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user