Merge "Copy cluster nodes logs always whether tests pass or fail"

This commit is contained in:
Jenkins 2017-07-19 12:10:52 +00:00 committed by Gerrit Code Review
commit ffee7964e7
4 changed files with 22 additions and 12 deletions

View File

@ -107,7 +107,7 @@ class BayTest(base.BaseTempestTest):
self.bays.append(model.uuid)
self.bay_uuid = model.uuid
if config.Config.copy_logs:
self.addOnException(self.copy_logs_handler(
self.addCleanup(self.copy_logs_handler(
lambda: list(
[self._get_bay_by_id(self.bay_uuid)[1].master_addresses,
self._get_bay_by_id(self.bay_uuid)[1].node_addresses]),

View File

@ -107,7 +107,7 @@ class ClusterTest(base.BaseTempestTest):
self.clusters.append(model.uuid)
self.cluster_uuid = model.uuid
if config.Config.copy_logs:
self.addOnException(self.copy_logs_handler(
self.addCleanup(self.copy_logs_handler(
lambda: list(
[self._get_cluster_by_id(model.uuid)[1].master_addresses,
self._get_cluster_by_id(model.uuid)[1].node_addresses]),

View File

@ -42,11 +42,10 @@ class BaseMagnumTest(base.BaseTestCase):
[[master_nodes], [slave_nodes]].
:param coe: the COE type of the nodes
"""
def int_copy_logs(exec_info):
def int_copy_logs():
try:
cls.LOG.info("Copying logs...")
fn = exec_info[2].tb_frame.f_locals['fn']
func_name = fn.im_self._get_test_method().__name__
func_name = "test"
msg = ("Failed to copy logs for cluster")
nodes_addresses = get_nodes_fn()

View File

@ -265,12 +265,22 @@ extendedKeyUsage = clientAuth
if not cls.cluster_template_kwargs.get('tls_disabled', False):
# NOTE (wangbo) with multiple mangum-conductor processes, client
# ca files should be created after completion of cluster ca_cert
cls._wait_on_status(
cls.cluster,
[None, "CREATE_IN_PROGRESS"],
["CREATE_FAILED", "CREATE_COMPLETE"],
timeout=cls.cluster_complete_timeout
)
try:
cls._wait_on_status(
cls.cluster,
[None, "CREATE_IN_PROGRESS"],
["CREATE_FAILED", "CREATE_COMPLETE"],
timeout=cls.cluster_complete_timeout
)
except Exception:
# copy logs if setUpClass fails, may be this will not work
# as master_address, node_address would not be available, if
# not we can get that from nova
if cls.copy_logs:
cls.copy_logs_handler(
cls._get_nodes,
cls.cluster_template.coe,
'default')
cls._create_tls_ca_files(cls.config_contents)
@classmethod
@ -297,8 +307,9 @@ extendedKeyUsage = clientAuth
self.useFixture(fixtures.Timeout(test_timeout, gentle=True))
# Copy cluster nodes logs
if self.copy_logs:
self.addOnException(
self.addCleanup(
self.copy_logs_handler(
self._get_nodes,
self.cluster_template.coe,