From 72813c366cdaae8ee3c7103d6c61340650245b57 Mon Sep 17 00:00:00 2001 From: Marek Gradzki Date: Tue, 15 May 2018 10:42:58 +0200 Subject: HC tests: archive ODL logs (CSIT-1031) Change-Id: I444a5d6cd32cb9ee68575dfdb5a208de2c4eb72a Signed-off-by: Marek Gradzki --- .../libraries/python/honeycomb/HoneycombUtil.py | 39 ++++++++++++++++++++++ .../libraries/robot/honeycomb/honeycomb.robot | 22 ++++++++++-- 2 files changed, 59 insertions(+), 2 deletions(-) (limited to 'resources') diff --git a/resources/libraries/python/honeycomb/HoneycombUtil.py b/resources/libraries/python/honeycomb/HoneycombUtil.py index 74e0294055..52670b5390 100644 --- a/resources/libraries/python/honeycomb/HoneycombUtil.py +++ b/resources/libraries/python/honeycomb/HoneycombUtil.py @@ -435,6 +435,31 @@ class HoneycombUtil(object): "cat {hc_log} >> /tmp/honeycomb.log".format( hc_log=Const.REMOTE_HC_LOG)) + @staticmethod + def append_odl_log(node, odl_name, suite_name): + """Append ODL karaf log for the current test suite to the full log. + + :param node: Honeycomb node. + :param odl_name: Name of ODL client version to use. + :param suite_name: Name of the current test suite. ${SUITE_NAME} + variable in robotframework. + :type node: dict + :type odl_name: str + :type suite_name: str + """ + + ssh = SSH() + ssh.connect(node) + + ssh.exec_command( + "echo '{separator}' >> /tmp/karaf.log".format(separator="="*80)) + ssh.exec_command( + "echo 'Log for suite: {suite}' >> /tmp/karaf.log".format( + suite=suite_name)) + ssh.exec_command( + "cat /tmp/karaf_{odl_name}/data/log/karaf.log >> /tmp/karaf.log" + .format(odl_name=odl_name)) + @staticmethod def clear_honeycomb_log(node): """Delete the Honeycomb log file for the current test suite. @@ -471,3 +496,17 @@ class HoneycombUtil(object): get=True, timeout=60) ssh.exec_command("rm /tmp/honeycomb.log") + + @staticmethod + def archive_odl_log(node): + """Copy ODL karaf log file from DUT node to VIRL for archiving. + + :param node: Honeycomb node. + :type node: dict + """ + + ssh = SSH() + ssh.connect(node) + + cmd = "cp /tmp/karaf.log /scratch/" + ssh.exec_command_sudo(cmd, timeout=60) diff --git a/resources/libraries/robot/honeycomb/honeycomb.robot b/resources/libraries/robot/honeycomb/honeycomb.robot index 88de12b84c..fc61a55bb9 100644 --- a/resources/libraries/robot/honeycomb/honeycomb.robot +++ b/resources/libraries/robot/honeycomb/honeycomb.robot @@ -134,8 +134,8 @@ | | Configure Honeycomb service on DUTs | ${node} | | Check honeycomb startup state | ${node} | timeout=120 -| Archive Honeycomb log file -| | [Documentation] | Copy honeycomb.log file from Honeycomb node\ +| Archive Honeycomb logs +| | [Documentation] | Copies log files from Honeycomb node\ | | ... | to test executor. | | ... | | ... | *Arguments:* @@ -148,6 +148,7 @@ | | ... | | [Arguments] | ${node} | ${perf}=${False} | | Archive Honeycomb log | ${node} | ${perf} +| | Archive ODL log | ${node} | Configure ODL Client Service On DUT | | [Documentation] | Configure and start ODL client, then repeatedly check if @@ -249,6 +250,7 @@ | | ${use_odl_client}= | Get Variable Value | ${HC_ODL} | | Run Keyword If | '${use_odl_client}' != '${NONE}' | | ... | Run Keywords +| | ... | Append suite to ODL log file | ${node} | ${use_odl_client} | AND | | ... | Stop ODL Client | ${node} | /tmp | AND | | ... | Wait until keyword succeeds | 3min | 15sec | | ... | Check ODL shutdown state | ${node} | AND @@ -332,6 +334,22 @@ | | [Arguments] | ${node} | | Append Honeycomb log | ${node} | ${SUITE_NAME} +| Append suite to ODL log file +| | [Documentation] | Add the contents of ODL karaf.log for the current suite\ +| | ... | to the full log which will be archived. +| | ... +| | ... | *Arguments:* +| | ... | - node - information about a DUT node. Type: dictionary +| | ... | - odl_name - name of ODL client version. Type: string +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Append suite to ODL karaf log file \| ${nodes['DUT1']} \ +| | ... | \| Oxygen \| +| | ... +| | [Arguments] | ${node} | ${odl_name} +| | Append ODL log | ${node} | ${odl_name} | ${SUITE_NAME} + | Generate Honeycomb startup configuration for ODL test | | [Documentation] | Create HC startup configuration and apply to config | | ... | file on DUT. Requires Honeycomb restart to take effect. -- cgit 1.2.3-korg