X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2FTrace.py;h=5f885d6c60bc4ee754da181191418d061095ea83;hb=f88a3d9178dfbd73d0479f9aa2f5224e0c89ca1f;hp=49b39cbdfbe240698bf7a9998844d7bb1f020783;hpb=517ee7fd3eb28ecf030c5d50be09fcdabe508922;p=csit.git diff --git a/resources/libraries/python/Trace.py b/resources/libraries/python/Trace.py index 49b39cbdfb..5f885d6c60 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: @@ -11,23 +11,39 @@ # See the License for the specific language governing permissions and # limitations under the License. -from resources.libraries.python.VatExecutor import VatExecutor +"""Packet trace library.""" + +from resources.libraries.python.PapiExecutor import PapiSocketExecutor from resources.libraries.python.topology import NodeType class Trace(object): + """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. + :param maximum: Maximum number of packet traces to be displayed. + :type nodes: dict + :type maximum: int + """ + maximum = "max {count}".format(count=maximum) if maximum is not None\ + else "" + for node in nodes.values(): if node['type'] == NodeType.DUT: - vat = VatExecutor() - vat.execute_script("show_trace.vat", node, json_out=False) + PapiSocketExecutor.run_cli_cmd( + node, cmd="show trace {max}".format(max=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: dict + """ for node in nodes.values(): if node['type'] == NodeType.DUT: - vat = VatExecutor() - vat.execute_script("clear_trace.vat", node, json_out=False) - + PapiSocketExecutor.run_cli_cmd(node, cmd="clear trace")