X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2FDUTSetup.py;h=e176dd704a279fac44982c9a82e28fb7221ad3b8;hb=64b8f55af5dd6a0e7f360186cbd60ed788040939;hp=a0a48708b77e5ce8645eb97c9e3622edb314c082;hpb=8c12ff59f1a5e750151f5eb0e806dcc80e91c3c2;p=csit.git diff --git a/resources/libraries/python/DUTSetup.py b/resources/libraries/python/DUTSetup.py index a0a48708b7..e176dd704a 100644 --- a/resources/libraries/python/DUTSetup.py +++ b/resources/libraries/python/DUTSetup.py @@ -11,14 +11,18 @@ # See the License for the specific language governing permissions and # limitations under the License. +"""DUT setup library.""" + from robot.api import logger from resources.libraries.python.topology import NodeType from resources.libraries.python.ssh import SSH from resources.libraries.python.constants import Constants +from resources.libraries.python.VatExecutor import VatExecutor class DUTSetup(object): + """Contains methods for setting up DUTs.""" @staticmethod def start_vpp_service_on_all_duts(nodes): """Start up the VPP service on all nodes.""" @@ -28,12 +32,42 @@ class DUTSetup(object): ssh.connect(node) (ret_code, stdout, stderr) = \ ssh.exec_command_sudo('service vpp restart') - if 0 != int(ret_code): + if int(ret_code) != 0: logger.debug('stdout: {0}'.format(stdout)) logger.debug('stderr: {0}'.format(stderr)) raise Exception('DUT {0} failed to start VPP service'. format(node['host'])) + @staticmethod + def vpp_show_version_verbose(node): + """Run "show version verbose" CLI command. + + :param node: Node to run command on. + :type node: dict + """ + vat = VatExecutor() + vat.execute_script("show_version_verbose.vat", node, json_out=False) + + @staticmethod + def vpp_api_trace_save(node): + """Run "api trace save" CLI command. + + :param node: Node to run command on. + :type node: dict + """ + vat = VatExecutor() + vat.execute_script("api_trace_save.vat", node, json_out=False) + + @staticmethod + def vpp_api_trace_dump(node): + """Run "api trace custom-dump" CLI command. + + :param node: Node to run command on. + :type node: dict + """ + vat = VatExecutor() + vat.execute_script("api_trace_dump.vat", node, json_out=False) + @staticmethod def setup_all_duts(nodes): """Prepare all DUTs in given topology for test execution.""" @@ -43,6 +77,13 @@ class DUTSetup(object): @staticmethod def setup_dut(node): + """Run script over SSH to setup the DUT node. + + :param node: DUT node to set up. + :type node: dict + + :raises Exception: If the DUT setup fails. + """ ssh = SSH() ssh.connect(node) @@ -51,7 +92,7 @@ class DUTSetup(object): Constants.REMOTE_FW_DIR, Constants.RESOURCES_LIB_SH)) logger.trace(stdout) logger.trace(stderr) - if 0 != int(ret_code): + if int(ret_code) != 0: logger.debug('DUT {0} setup script failed: "{1}"'. format(node['host'], stdout + stderr)) raise Exception('DUT test setup script failed at node {}'.