Merge "Functional: Add prefix when copy logs on failure"
This commit is contained in:
commit
ee9472c88d
|
@ -101,8 +101,8 @@ class BayTest(base.BaseMagnumTest):
|
||||||
self.bay_uuid = model.uuid
|
self.bay_uuid = model.uuid
|
||||||
self.addOnException(self.copy_logs_handler(
|
self.addOnException(self.copy_logs_handler(
|
||||||
lambda: list(
|
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.baymodel.coe,
|
||||||
self.keypair))
|
self.keypair))
|
||||||
self.bay_client.wait_for_created_bay(model.uuid, delete_on_error=False)
|
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
|
from magnum.tests.functional.common import manager
|
||||||
|
|
||||||
|
|
||||||
|
COPY_LOG_HELPER = "magnum/tests/contrib/copy_instance_logs.sh"
|
||||||
|
|
||||||
|
|
||||||
class BaseMagnumTest(base.BaseTestCase):
|
class BaseMagnumTest(base.BaseTestCase):
|
||||||
"""Sets up configuration required for functional tests"""
|
"""Sets up configuration required for functional tests"""
|
||||||
|
|
||||||
|
@ -172,7 +175,8 @@ class BaseMagnumTest(base.BaseTestCase):
|
||||||
and copy addresses from there locally.
|
and copy addresses from there locally.
|
||||||
|
|
||||||
:param get_nodes_fn: function that takes no parameters and returns
|
: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
|
:param coe: the COE type of the nodes
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@ -187,13 +191,17 @@ class BaseMagnumTest(base.BaseTestCase):
|
||||||
msg = "Failed to copy logs for bay"
|
msg = "Failed to copy logs for bay"
|
||||||
nodes_addresses = get_nodes_fn()
|
nodes_addresses = get_nodes_fn()
|
||||||
|
|
||||||
for node_address in nodes_addresses:
|
master_nodes = nodes_addresses[0]
|
||||||
log_name = "node-" + func_name
|
slave_nodes = nodes_addresses[1]
|
||||||
try:
|
|
||||||
base_path = os.path.split(os.path.dirname(
|
base_path = os.path.split(os.path.dirname(
|
||||||
os.path.abspath(magnum.__file__)))[0]
|
os.path.abspath(magnum.__file__)))[0]
|
||||||
script = "magnum/tests/contrib/copy_instance_logs.sh"
|
full_location = os.path.join(base_path, COPY_LOG_HELPER)
|
||||||
full_location = os.path.join(base_path, script)
|
|
||||||
|
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("running %s" % full_location)
|
||||||
cls.LOG.debug("keypair: %s" % keypair)
|
cls.LOG.debug("keypair: %s" % keypair)
|
||||||
subprocess.check_call([
|
subprocess.check_call([
|
||||||
|
@ -205,10 +213,13 @@ class BaseMagnumTest(base.BaseTestCase):
|
||||||
])
|
])
|
||||||
except Exception:
|
except Exception:
|
||||||
cls.LOG.exception(msg)
|
cls.LOG.exception(msg)
|
||||||
cls.LOG.exception("failed to copy from %s to %s%s-%s" %
|
cls.LOG.exception(
|
||||||
(node_address,
|
"failed to copy from %s to %s%s-%s" %
|
||||||
"/opt/stack/logs/bay-nodes/",
|
(node_address, "/opt/stack/logs/bay-nodes/",
|
||||||
log_name, node_address))
|
log_name, node_address))
|
||||||
|
|
||||||
|
do_copy_logs('master', master_nodes)
|
||||||
|
do_copy_logs('node', slave_nodes)
|
||||||
except Exception:
|
except Exception:
|
||||||
cls.LOG.exception(msg)
|
cls.LOG.exception(msg)
|
||||||
|
|
||||||
|
|
|
@ -248,8 +248,8 @@ extendedKeyUsage = clientAuth
|
||||||
|
|
||||||
self.addOnException(
|
self.addOnException(
|
||||||
self.copy_logs_handler(
|
self.copy_logs_handler(
|
||||||
lambda: list(self.cs.bays.get(self.bay.uuid).node_addresses +
|
lambda: list([self.cs.bays.get(self.bay.uuid).master_addresses,
|
||||||
self.cs.bays.get(self.bay.uuid).master_addresses),
|
self.cs.bays.get(self.bay.uuid).node_addresses]),
|
||||||
self.baymodel.coe,
|
self.baymodel.coe,
|
||||||
'default'))
|
'default'))
|
||||||
self._wait_for_bay_complete(self.bay)
|
self._wait_for_bay_complete(self.bay)
|
||||||
|
|
Loading…
Reference in New Issue