diff options
Diffstat (limited to 'resources/libraries/python')
-rw-r--r-- | resources/libraries/python/HTTPRequest.py | 8 | ||||
-rw-r--r-- | resources/libraries/python/honeycomb/HoneycombSetup.py | 28 |
2 files changed, 30 insertions, 6 deletions
diff --git a/resources/libraries/python/HTTPRequest.py b/resources/libraries/python/HTTPRequest.py index d553c6641f..9c64dbbf9b 100644 --- a/resources/libraries/python/HTTPRequest.py +++ b/resources/libraries/python/HTTPRequest.py @@ -228,7 +228,7 @@ class HTTPRequest(object): @staticmethod @keyword(name="HTTP Get") - def get(node, path, headers=None, timeout=10, enable_logging=True): + def get(node, path, headers=None, timeout=15, enable_logging=True): """Sends a GET request and returns the response and status code. :param node: Honeycomb node. @@ -254,7 +254,7 @@ class HTTPRequest(object): @staticmethod @keyword(name="HTTP Put") - def put(node, path, headers=None, payload=None, json=None, timeout=10): + def put(node, path, headers=None, payload=None, json=None, timeout=15): """Sends a PUT request and returns the response and status code. :param node: Honeycomb node. @@ -280,7 +280,7 @@ class HTTPRequest(object): @staticmethod @keyword(name="HTTP Post") - def post(node, path, headers=None, payload=None, json=None, timeout=10, + def post(node, path, headers=None, payload=None, json=None, timeout=15, enable_logging=True): """Sends a POST request and returns the response and status code. @@ -312,7 +312,7 @@ class HTTPRequest(object): @staticmethod @keyword(name="HTTP Delete") - def delete(node, path, timeout=10): + def delete(node, path, timeout=15): """Sends a DELETE request and returns the response and status code. :param node: Honeycomb node. diff --git a/resources/libraries/python/honeycomb/HoneycombSetup.py b/resources/libraries/python/honeycomb/HoneycombSetup.py index 551d44b5ae..50fd1c997d 100644 --- a/resources/libraries/python/honeycomb/HoneycombSetup.py +++ b/resources/libraries/python/honeycomb/HoneycombSetup.py @@ -159,7 +159,7 @@ class HoneycombSetup(object): for node in nodes: if node['type'] == NodeType.DUT: HoneycombSetup.print_ports(node) - status_code, _ = HTTPRequest.get(node, path, timeout=10, + status_code, _ = HTTPRequest.get(node, path, enable_logging=False) if status_code == HTTPCodes.OK: logger.info("Honeycomb on node {0} is up and running". @@ -201,7 +201,6 @@ class HoneycombSetup(object): if node['type'] == NodeType.DUT: try: status_code, _ = HTTPRequest.get(node, '/index.html', - timeout=5, enable_logging=False) if status_code == HTTPCodes.OK: raise HoneycombError('Honeycomb on node {0} is still ' @@ -259,6 +258,31 @@ class HoneycombSetup(object): "node {0}, {1}".format(node, stderr)) @staticmethod + def configure_jvpp_timeout(node, timeout=10): + """Configure timeout value for Java API commands Honeycomb sends to VPP. + + :param node: Information about a DUT node. + :param timeout: Timeout value in seconds. + :type node: dict + :type timeout: int + :raises HoneycombError: If the configuration could not be changed. + """ + + find = "jvpp-request-timeout" + replace = '\\"jvpp-request-timeout\\": {0}'.format(timeout) + + argument = '"/{0}/c\\ {1}"'.format(find, replace) + path = "{0}/config/jvpp.json".format(Const.REMOTE_HC_DIR) + command = "sed -i {0} {1}".format(argument, path) + + ssh = SSH() + ssh.connect(node) + (ret_code, _, stderr) = ssh.exec_command_sudo(command) + if ret_code != 0: + raise HoneycombError("Failed to modify configuration on " + "node {0}, {1}".format(node, stderr)) + + @staticmethod def print_environment(nodes): """Print information about the nodes to log. The information is defined by commands in cmds tuple at the beginning of this method. |