diff options
Diffstat (limited to 'resources/libraries/python')
-rw-r--r-- | resources/libraries/python/Constants.py | 3 | ||||
-rw-r--r-- | resources/libraries/python/tcp.py | 61 |
2 files changed, 37 insertions, 27 deletions
diff --git a/resources/libraries/python/Constants.py b/resources/libraries/python/Constants.py index d8550ab27a..e01536b5e6 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 <www-root-dir> prealloc-fifos <N> + fifo-size <size in kB> + private-segment-size <seg_size expressed as number + unit, e.g. 100m> + -- or -- test http server static prealloc-fifos <N> fifo-size <size in kB> private-segment-size <seg_size expressed as number + unit, e.g. 100m> + Where N is the max number of connections you expect to handle at one time and <size> 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 <www-root-dir> 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) |