From 6da7266754c28754c04cf37d1974e39766a261f6 Mon Sep 17 00:00:00 2001 From: Dave Wallace Date: Tue, 6 Aug 2019 22:26:00 +0000 Subject: VAT-to-PAPI: Fix HTTP/TCP tests Change-Id: Ie728bc73eb7429d246e82dd195fc63191c3ac51d Signed-off-by: Dave Wallace --- resources/libraries/python/Constants.py | 3 ++ resources/libraries/python/tcp.py | 61 ++++++++++++++++++--------------- 2 files changed, 37 insertions(+), 27 deletions(-) (limited to 'resources/libraries/python') diff --git a/resources/libraries/python/Constants.py b/resources/libraries/python/Constants.py index c970d19027..e8209544e8 100644 --- a/resources/libraries/python/Constants.py +++ b/resources/libraries/python/Constants.py @@ -43,6 +43,9 @@ class Constants(object): # Container templates location RESOURCES_TPL_CONTAINER = 'resources/templates/container' + # HTTP Server www root directory + RESOURCES_TP_WRK_WWW = 'resources/traffic_profiles/wrk/www' + # OpenVPP VAT binary name VAT_BIN_NAME = 'vpp_api_test' diff --git a/resources/libraries/python/tcp.py b/resources/libraries/python/tcp.py index e013a65539..1b08912b7e 100644 --- a/resources/libraries/python/tcp.py +++ b/resources/libraries/python/tcp.py @@ -1,4 +1,4 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. +# Copyright (c) 2019 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -14,36 +14,35 @@ """TCP util library. """ -from resources.libraries.python.VatExecutor import VatTerminal +from resources.libraries.python.PapiExecutor import PapiSocketExecutor +from resources.libraries.python.Constants import Constants class TCPUtils(object): """Implementation of the TCP utilities. """ + www_root_dir = '{rmt_fw_dir}/{wrk_www}'\ + .format(rmt_fw_dir=Constants.REMOTE_FW_DIR, + wrk_www=Constants.RESOURCES_TP_WRK_WWW) def __init__(self): pass - @staticmethod - def start_http_server(node): - """Start HTTP server on the given node. - - :param node: Node to start HTTP server on. - :type node: dict - """ - - with VatTerminal(node) as vat: - vat.vat_terminal_exec_cmd_from_template( - "start_http_server.vat") - - @staticmethod - def start_http_server_params(node, prealloc_fifos, fifo_size, - private_segment_size): - """Start HTTP server on the given node. + @classmethod + def start_vpp_http_server_params(cls, node, http_static_plugin, + prealloc_fifos, fifo_size, + private_segment_size): + """Start the test HTTP server internal application or + the HTTP static server plugin internal applicatoin on the given node. + http static server www-root prealloc-fifos + fifo-size + private-segment-size + -- or -- test http server static prealloc-fifos fifo-size private-segment-size + Where N is the max number of connections you expect to handle at one time and should be small if you test for CPS and exchange few bytes, say 4, if each connection just exchanges few packets. Or it @@ -55,28 +54,36 @@ class TCPUtils(object): Example: For CPS - test http server static prealloc-fifos 10000 fifo-size 64 - private-segment-size 4000m + http static server www-root prealloc-fifos 10000 + fifo-size 64 private-segment-size 4000m For RPS test http server static prealloc-fifos 500000 fifo-size 4 - test http server static prealloc-fifos 500000 fifo-size 4 private-segment-size 4000m :param node: Node to start HTTP server on. + :param http_static_plugin: Run HTTP static server plugin :param prealloc_fifos: Max number of connections you expect to handle at one time. :param fifo_size: FIFO size in kB. :param private_segment_size: Private segment size. Number + unit. :type node: dict + :type http_static_plugin: boolean :type prealloc_fifos: str :type fifo_size: str :type private_segment_size: str """ + if http_static_plugin == True: + cmd='http static server www-root {www_root} '\ + 'prealloc-fifos {prealloc_fifos} fifo-size {fifo_size}'\ + ' private-segment-size {pvt_seg_size}'\ + .format(www_root=cls.www_root_dir, + prealloc_fifos=prealloc_fifos, fifo_size=fifo_size, + pvt_seg_size=private_segment_size) + else: + cmd='test http server static prealloc-fifos {prealloc_fifos} '\ + 'fifo-size {fifo_size} private-segment-size {pvt_seg_size}'\ + .format(prealloc_fifos=prealloc_fifos, fifo_size=fifo_size, + pvt_seg_size=private_segment_size) + PapiSocketExecutor.run_cli_cmd(node, cmd) - with VatTerminal(node, json_param=False) as vat: - vat.vat_terminal_exec_cmd_from_template( - "start_http_server_params.vat", - prealloc_fifos=prealloc_fifos, - fifo_size=fifo_size, - private_segment_size=private_segment_size) -- cgit 1.2.3-korg