X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2FTrace.py;h=1fb645b36a1c6e9d810e09332acb78f234e95893;hb=refs%2Fchanges%2F06%2F20706%2F53;hp=c61a8deda438ac50e2094e7492cc8c72b156bfd2;hpb=cf561a6e3d4c4fbd78ab6c9d0a9aa817bb3300fc;p=csit.git diff --git a/resources/libraries/python/Trace.py b/resources/libraries/python/Trace.py index c61a8deda4..1fb645b36a 100644 --- a/resources/libraries/python/Trace.py +++ b/resources/libraries/python/Trace.py @@ -1,4 +1,4 @@ -# Copyright (c) 2016 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: @@ -13,33 +13,37 @@ """Packet trace library.""" -from resources.libraries.python.VatExecutor import VatExecutor +from resources.libraries.python.PapiExecutor import PapiSocketExecutor from resources.libraries.python.topology import NodeType -class Trace(object): +class Trace: """This class provides methods to manipulate the VPP packet trace.""" @staticmethod - def show_packet_trace_on_all_duts(nodes): + def show_packet_trace_on_all_duts(nodes, maximum=None): """Show VPP packet trace. :param nodes: Nodes from which the packet trace will be displayed. - :type nodes: list + :param maximum: Maximum number of packet traces to be displayed. + :type nodes: dict + :type maximum: int """ + maximum = f"max {maximum}" if maximum is not None else f"" + for node in nodes.values(): - if node['type'] == NodeType.DUT: - vat = VatExecutor() - vat.execute_script("show_trace.vat", node, json_out=False) + if node[u"type"] == NodeType.DUT: + PapiSocketExecutor.run_cli_cmd_on_all_sockets( + node, f"show trace {maximum}") @staticmethod def clear_packet_trace_on_all_duts(nodes): """Clear VPP packet trace. :param nodes: Nodes where the packet trace will be cleared. - :type nodes: list + :type nodes: dict """ for node in nodes.values(): - if node['type'] == NodeType.DUT: - vat = VatExecutor() - vat.execute_script("clear_trace.vat", node, json_out=False) + if node[u"type"] == NodeType.DUT: + PapiSocketExecutor.run_cli_cmd_on_all_sockets( + node, u"clear trace")