From 4bda4f8b55b0d431b514663e8e90fccd97ad31d4 Mon Sep 17 00:00:00 2001 From: selias Date: Mon, 7 Nov 2016 16:04:26 +0100 Subject: 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 --- .../libraries/python/honeycomb/HoneycombSetup.py | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'resources/libraries/python/honeycomb/HoneycombSetup.py') 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)) -- cgit 1.2.3-korg