aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorselias <samelias@cisco.com>2017-05-02 09:54:02 +0200
committerSamuel Eliáš <samelias@cisco.com>2017-05-03 15:29:22 +0000
commit919b7cb359cc8fd06ca8cc7a651391ac6aa03f20 (patch)
tree3a558568fd56657faa62296b9a9d40e0d48b0364
parent631b366985355cbe41a243a87b06eda75cdd2c42 (diff)
HC Test: Update honeycomb suite setup
- remove workaround for jVPP version mismatch - increase Java API command timeout Change-Id: Ic6a61ff029cc7cdfec1f75890e18599e3b05f019 Signed-off-by: selias <samelias@cisco.com>
-rw-r--r--resources/libraries/python/HTTPRequest.py8
-rw-r--r--resources/libraries/python/honeycomb/HoneycombSetup.py28
-rw-r--r--resources/libraries/robot/honeycomb/honeycomb.robot12
-rw-r--r--tests/func/honeycomb/__init__.robot2
4 files changed, 37 insertions, 13 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.
diff --git a/resources/libraries/robot/honeycomb/honeycomb.robot b/resources/libraries/robot/honeycomb/honeycomb.robot
index 919c6f5e2a..27aa078ef9 100644
--- a/resources/libraries/robot/honeycomb/honeycomb.robot
+++ b/resources/libraries/robot/honeycomb/honeycomb.robot
@@ -37,7 +37,7 @@
| | ...
| | [Arguments] | @{duts}
| | Start honeycomb on DUTs | @{duts}
-| | Wait until keyword succeeds | 4min | 20sec
+| | Wait until keyword succeeds | 4min | 16sec
| | ... | Check honeycomb startup state | @{duts}
| Stop honeycomb service on DUTs
@@ -59,7 +59,7 @@
| | ...
| | [Arguments] | @{duts}
| | Stop honeycomb on DUTs | @{duts}
-| | Wait until keyword succeeds | 60sec | 10sec
+| | Wait until keyword succeeds | 60sec | 16sec
| | ... | Check honeycomb shutdown state | @{duts}
| Clear persisted Honeycomb configuration
@@ -103,7 +103,7 @@
| | [Arguments] | ${node}
| | Log | Performing clean restart of Honeycomb and VPP. | console=True
| | Restart Honeycomb and VPP on DUTs | ${node}
-| | Wait until keyword succeeds | 4min | 20sec
+| | Wait until keyword succeeds | 4min | 16sec
| | ... | Check honeycomb startup state | ${node}
| Archive Honeycomb log file
@@ -126,9 +126,9 @@
| Start ODL client on node
| | [Arguments] | ${node}
| | Start ODL client | ${node}
-| | Wait until keyword succeeds | 4min | 20sec
+| | Wait until keyword succeeds | 4min | 16sec
| | ... | Mount Honeycomb on ODL | ${node}
-| | Wait until keyword succeeds | 2min | 10sec
+| | Wait until keyword succeeds | 2min | 16sec
| | ... | Check ODL startup state | ${node}
-| | Wait until keyword succeeds | 2min | 10sec
+| | Wait until keyword succeeds | 2min | 16sec
| | ... | Check honeycomb startup state | ${node}
diff --git a/tests/func/honeycomb/__init__.robot b/tests/func/honeycomb/__init__.robot
index 086660bfc3..39e78af9cd 100644
--- a/tests/func/honeycomb/__init__.robot
+++ b/tests/func/honeycomb/__init__.robot
@@ -28,11 +28,11 @@
*** Keywords ***
| Configure Honeycomb for testing
| | [Arguments] | ${node}
-| | Copy Java Libraries | ${node}
| | Configure Restconf binding address | ${node}
| | Enable Module Features | ${node}
| | Configure Log Level | ${node} | TRACE
| | Configure Persistence | ${node} | disable
+| | Configure jVPP timeout | ${node} | ${14}
| | Clear Persisted Honeycomb Configuration | ${node}
| | Setup Honeycomb Service On DUTs | ${node}
| | ${use_odl_client}= | Find ODL client on node | ${node}