Code Review
/
csit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Upgrade T-rex to v2.22
[csit.git]
/
resources
/
libraries
/
python
/
honeycomb
/
HoneycombUtil.py
diff --git
a/resources/libraries/python/honeycomb/HoneycombUtil.py
b/resources/libraries/python/honeycomb/HoneycombUtil.py
index
22a7e7e
..
a718a24
100644
(file)
--- a/
resources/libraries/python/honeycomb/HoneycombUtil.py
+++ b/
resources/libraries/python/honeycomb/HoneycombUtil.py
@@
-28,7
+28,7
@@
from enum import Enum, unique
from robot.api import logger
from resources.libraries.python.ssh import SSH
from robot.api import logger
from resources.libraries.python.ssh import SSH
-from resources.libraries.python.HTTPRequest import HTTPRequest
, HTTPCodes
+from resources.libraries.python.HTTPRequest import HTTPRequest
from resources.libraries.python.constants import Constants as Const
from resources.libraries.python.constants import Constants as Const
@@
-126,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
: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.
+ :return
s
: Requested path.
:rtype: str
"""
:rtype: str
"""
@@
-178,7
+178,7
@@
class HoneycombUtil(object):
:param path: Path to data we want to find.
:type data: dict
:type path: tuple
:param path: Path to data we want to find.
:type data: dict
:type path: tuple
- :return: Data represented by path.
+ :return
s
: Data represented by path.
:rtype: str, dict, or list
:raises HoneycombError: If the data has not been found.
"""
:rtype: str, dict, or list
:raises HoneycombError: If the data has not been found.
"""
@@
-205,7
+205,7
@@
class HoneycombUtil(object):
:param path: Path to data we want to remove.
:type data: dict
:type path: tuple
:param path: Path to data we want to remove.
:type data: dict
:type path: tuple
- :return: Original data without removed part.
+ :return
s
: Original data without removed part.
:rtype: dict
"""
:rtype: dict
"""
@@
-245,7
+245,7
@@
class HoneycombUtil(object):
:type data: dict
:type path: tuple
:type new_value: str, dict or list
:type data: dict
:type path: tuple
:type new_value: str, dict or list
- :return: Original data with the new value.
+ :return
s
: Original data with the new value.
:rtype: dict
"""
:rtype: dict
"""
@@
-295,17
+295,14
@@
class HoneycombUtil(object):
:type node: dict
:type url_file: str
:type path: str
:type node: dict
:type url_file: str
:type path: str
- :return: Status code and content of response.
+ :return
s
: Status code and content of response.
:rtype tuple
"""
base_path = HoneycombUtil.read_path_from_url_file(url_file)
path = base_path + path
status_code, resp = HTTPRequest.get(node, path)
:rtype tuple
"""
base_path = HoneycombUtil.read_path_from_url_file(url_file)
path = base_path + path
status_code, resp = HTTPRequest.get(node, path)
- (status_node, response) = status_code, loads(resp)
- if status_code != HTTPCodes.OK:
- HoneycombUtil.read_log_tail(node)
- return status_code, response
+ return status_code, loads(resp)
@staticmethod
def put_honeycomb_data(node, url_file, data, path="",
@staticmethod
def put_honeycomb_data(node, url_file, data, path="",
@@
-324,7
+321,7
@@
class HoneycombUtil(object):
:type data: dict, str
:type path: str
:type data_representation: DataRepresentation
:type data: dict, str
:type path: str
:type data_representation: DataRepresentation
- :return: Status code and content of response.
+ :return
s
: Status code and content of response.
:rtype: tuple
:raises HoneycombError: If the given data representation is not defined
in HEADERS.
:rtype: tuple
:raises HoneycombError: If the given data representation is not defined
in HEADERS.
@@
-343,13
+340,9
@@
class HoneycombUtil(object):
base_path = HoneycombUtil.read_path_from_url_file(url_file)
path = base_path + path
logger.trace(path)
base_path = HoneycombUtil.read_path_from_url_file(url_file)
path = base_path + path
logger.trace(path)
-
(status_code, response) =
HTTPRequest.put(
+
return
HTTPRequest.put(
node=node, path=path, headers=header, payload=data)
node=node, path=path, headers=header, payload=data)
- if status_code not in (HTTPCodes.OK, HTTPCodes.ACCEPTED):
- HoneycombUtil.read_log_tail(node)
- return status_code, response
-
@staticmethod
def post_honeycomb_data(node, url_file, data=None,
data_representation=DataRepresentation.JSON,
@staticmethod
def post_honeycomb_data(node, url_file, data=None,
data_representation=DataRepresentation.JSON,
@@
-368,7
+361,7
@@
class HoneycombUtil(object):
:type data: dict, str
:type data_representation: DataRepresentation
:type timeout: int
:type data: dict, str
:type data_representation: DataRepresentation
:type timeout: int
- :return: Status code and content of response.
+ :return
s
: Status code and content of response.
:rtype: tuple
:raises HoneycombError: If the given data representation is not defined
in HEADERS.
:rtype: tuple
:raises HoneycombError: If the given data representation is not defined
in HEADERS.
@@
-383,13
+376,9
@@
class HoneycombUtil(object):
data = dumps(data)
path = HoneycombUtil.read_path_from_url_file(url_file)
data = dumps(data)
path = HoneycombUtil.read_path_from_url_file(url_file)
-
(status_code, response) =
HTTPRequest.post(
+
return
HTTPRequest.post(
node=node, path=path, headers=header, payload=data, timeout=timeout)
node=node, path=path, headers=header, payload=data, timeout=timeout)
- if status_code not in (HTTPCodes.OK, HTTPCodes.ACCEPTED):
- HoneycombUtil.read_log_tail(node)
- return status_code, response
-
@staticmethod
def delete_honeycomb_data(node, url_file, path=""):
"""Delete data from Honeycomb according to given URL.
@staticmethod
def delete_honeycomb_data(node, url_file, path=""):
"""Delete data from Honeycomb according to given URL.
@@
-401,39
+390,25
@@
class HoneycombUtil(object):
:type node: dict
:type url_file: str
:type path: str
:type node: dict
:type url_file: str
:type path: str
- :return: Status code and content of response.
+ :return
s
: Status code and content of response.
:rtype tuple
"""
base_path = HoneycombUtil.read_path_from_url_file(url_file)
path = base_path + path
:rtype tuple
"""
base_path = HoneycombUtil.read_path_from_url_file(url_file)
path = base_path + path
- (status_code, response) = HTTPRequest.delete(node, path)
-
- if status_code != HTTPCodes.OK:
- HoneycombUtil.read_log_tail(node)
- return status_code, response
+ return HTTPRequest.delete(node, path)
@staticmethod
@staticmethod
- def read_log_tail(node, lines=120):
- """Read the last N lines of the Honeycomb log file and print them
- to robot log.
+ def archive_honeycomb_log(node):
+ """Copy honeycomb log file from DUT node to VIRL for archiving.
:param node: Honeycomb node.
:param node: Honeycomb node.
- :param lines: Number of lines to read.
:type node: dict
:type node: dict
- :type lines: int
- :return: Last N log lines.
- :rtype: str
"""
"""
- logger.trace(
- "HTTP request failed, "
- "obtaining last {0} lines of Honeycomb log...".format(lines))
-
ssh = SSH()
ssh.connect(node)
ssh = SSH()
ssh.connect(node)
- cmd = "tail -n {0} /var/log/honeycomb/honeycomb.log".format(lines)
- # ssh also logs the reply on trace level
- (_, stdout, _) = ssh.exec_command(cmd, timeout=30)
- return stdout
+ cmd = "cp /var/log/honeycomb/honeycomb.log /scratch/"
+
+ ssh.exec_command_sudo(cmd)