aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/python/honeycomb/HoneycombSetup.py
diff options
context:
space:
mode:
authorselias <samelias@cisco.com>2016-11-07 16:04:26 +0100
committerPeter Mikus <pmikus@cisco.com>2016-11-25 07:56:37 +0000
commit4bda4f8b55b0d431b514663e8e90fccd97ad31d4 (patch)
tree40f2e469c45b9f99ea5935bf9dc6cb272020face /resources/libraries/python/honeycomb/HoneycombSetup.py
parent0d782a5690c7e28a329952fb93afde84ddd97078 (diff)
CSIT-425: HC Test: NSH-SFC test suite
- add keyword to enable optional modules in Honeycomb (including NSH) - update honeycomb __init__.robot with the new keyword - add python and robot libraries for NSH tests - add NSH test suite (CRUD operations) Change-Id: I869069a138a51d56d25522163c3a6deefb316f46 Signed-off-by: selias <samelias@cisco.com>
Diffstat (limited to 'resources/libraries/python/honeycomb/HoneycombSetup.py')
-rw-r--r--resources/libraries/python/honeycomb/HoneycombSetup.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/resources/libraries/python/honeycomb/HoneycombSetup.py b/resources/libraries/python/honeycomb/HoneycombSetup.py
index 06b35db8a1..99f334e3b4 100644
--- a/resources/libraries/python/honeycomb/HoneycombSetup.py
+++ b/resources/libraries/python/honeycomb/HoneycombSetup.py
@@ -296,3 +296,36 @@ class HoneycombSetup(object):
if ret_code != 0:
raise HoneycombError("Failed to modify configuration on "
"node {0}, {1}".format(node, stderr))
+
+ @staticmethod
+ def enable_module_features(node):
+ """Configure Honeycomb to use VPP modules that are disabled by default.
+
+ Note: If the module is not enabled in VPP, Honeycomb will
+ be unable to establish VPP connection.
+
+ :param node: Honeycomb node.
+ :type node: dict
+ :raises HoneycombError: If the configuration could not be changed.
+ """
+
+ disabled_features = {
+ "NSH": "io.fd.honeycomb.vppnsh.impl.VppNshModule"
+ }
+
+ ssh = SSH()
+ ssh.connect(node)
+
+ for feature in disabled_features.keys():
+ # uncomment by replacing the entire line
+ find = replace = "{0}".format(disabled_features[feature])
+
+ argument = '"/{0}/c\\ {1}"'.format(find, replace)
+ path = "{0}/modules/io-fd-honeycomb-vpp-integration*module-config"\
+ .format(Const.REMOTE_HC_DIR)
+ command = "sed -i {0} {1}".format(argument, path)
+
+ (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))