X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2Fhoneycomb%2FHoneycombUtil.py;h=a718a242f2a447c75802109ad4da51610c89a617;hb=a114591eac9f52502048db886da2fb228c62254d;hp=f2f012ea9bb0cc6bdc2381ec072dbbdf0982cb3d;hpb=e87a07f056891f328b22e97f03f4c3ca5231d681;p=csit.git diff --git a/resources/libraries/python/honeycomb/HoneycombUtil.py b/resources/libraries/python/honeycomb/HoneycombUtil.py index f2f012ea9b..a718a242f2 100644 --- a/resources/libraries/python/honeycomb/HoneycombUtil.py +++ b/resources/libraries/python/honeycomb/HoneycombUtil.py @@ -27,6 +27,7 @@ from enum import Enum, unique from robot.api import logger +from resources.libraries.python.ssh import SSH from resources.libraries.python.HTTPRequest import HTTPRequest from resources.libraries.python.constants import Constants as Const @@ -125,7 +126,7 @@ class HoneycombUtil(object): :param url_file: URL file. The argument contains only the name of file without extension, not the full path. :type url_file: str - :return: Requested path. + :returns: Requested path. :rtype: str """ @@ -177,7 +178,7 @@ class HoneycombUtil(object): :param path: Path to data we want to find. :type data: dict :type path: tuple - :return: Data represented by path. + :returns: Data represented by path. :rtype: str, dict, or list :raises HoneycombError: If the data has not been found. """ @@ -204,7 +205,7 @@ class HoneycombUtil(object): :param path: Path to data we want to remove. :type data: dict :type path: tuple - :return: Original data without removed part. + :returns: Original data without removed part. :rtype: dict """ @@ -244,7 +245,7 @@ class HoneycombUtil(object): :type data: dict :type path: tuple :type new_value: str, dict or list - :return: Original data with the new value. + :returns: Original data with the new value. :rtype: dict """ @@ -294,7 +295,7 @@ class HoneycombUtil(object): :type node: dict :type url_file: str :type path: str - :return: Status code and content of response. + :returns: Status code and content of response. :rtype tuple """ @@ -320,7 +321,7 @@ class HoneycombUtil(object): :type data: dict, str :type path: str :type data_representation: DataRepresentation - :return: Status code and content of response. + :returns: Status code and content of response. :rtype: tuple :raises HoneycombError: If the given data representation is not defined in HEADERS. @@ -339,8 +340,8 @@ class HoneycombUtil(object): base_path = HoneycombUtil.read_path_from_url_file(url_file) path = base_path + path logger.trace(path) - return HTTPRequest.put(node=node, path=path, headers=header, - payload=data) + return HTTPRequest.put( + node=node, path=path, headers=header, payload=data) @staticmethod def post_honeycomb_data(node, url_file, data=None, @@ -360,7 +361,7 @@ class HoneycombUtil(object): :type data: dict, str :type data_representation: DataRepresentation :type timeout: int - :return: Status code and content of response. + :returns: Status code and content of response. :rtype: tuple :raises HoneycombError: If the given data representation is not defined in HEADERS. @@ -375,8 +376,8 @@ class HoneycombUtil(object): data = dumps(data) path = HoneycombUtil.read_path_from_url_file(url_file) - return HTTPRequest.post(node=node, path=path, headers=header, - payload=data, timeout=timeout) + return HTTPRequest.post( + node=node, path=path, headers=header, payload=data, timeout=timeout) @staticmethod def delete_honeycomb_data(node, url_file, path=""): @@ -389,10 +390,25 @@ class HoneycombUtil(object): :type node: dict :type url_file: str :type path: str - :return: Status code and content of response. + :returns: Status code and content of response. :rtype tuple """ base_path = HoneycombUtil.read_path_from_url_file(url_file) path = base_path + path return HTTPRequest.delete(node, path) + + @staticmethod + def archive_honeycomb_log(node): + """Copy honeycomb log file from DUT node to VIRL for archiving. + + :param node: Honeycomb node. + :type node: dict + """ + + ssh = SSH() + ssh.connect(node) + + cmd = "cp /var/log/honeycomb/honeycomb.log /scratch/" + + ssh.exec_command_sudo(cmd)