diff options
author | jan.hradil <jan.hradil@pantheon.tech> | 2017-03-23 13:16:18 +0100 |
---|---|---|
committer | Tibor Frank <tifrank@cisco.com> | 2017-03-30 11:45:03 +0000 |
commit | c756b657f5fd3423b95c98d41c6fb0c007cbed08 (patch) | |
tree | d7ee1c93c5fadf2eacda6f78f67207f2b8ca72e7 /resources/libraries/python/honeycomb | |
parent | 8c1bb6ac0c8253ee203d120c1a8f035c47293d9e (diff) |
HC Test: SPAN Port Mirroring Suite
Change-Id: Ideaae09aa0d062460f5dfb3e3732dee67d6a5aea
Signed-off-by: jan.hradil <jan.hradil@pantheon.tech>
Diffstat (limited to 'resources/libraries/python/honeycomb')
-rw-r--r-- | resources/libraries/python/honeycomb/HcAPIKwInterfaces.py | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/resources/libraries/python/honeycomb/HcAPIKwInterfaces.py b/resources/libraries/python/honeycomb/HcAPIKwInterfaces.py index f317d06a69..19ce8f26c8 100644 --- a/resources/libraries/python/honeycomb/HcAPIKwInterfaces.py +++ b/resources/libraries/python/honeycomb/HcAPIKwInterfaces.py @@ -1635,7 +1635,7 @@ class InterfaceKeywords(object): " of disabled interfaces.".format(interface)) @staticmethod - def configure_interface_span(node, dst_interface, *src_interfaces): + def configure_interface_span(node, dst_interface, src_interfaces=None): """Configure SPAN port mirroring on the specified interfaces. If no source interface is provided, SPAN will be disabled. @@ -1644,29 +1644,35 @@ class InterfaceKeywords(object): :param src_interfaces: List of interfaces to mirror packets from. :type node: dict :type dst_interface: str - :type src_interfaces: list of str + :type src_interfaces: list of dict :returns: Content of response. :rtype: bytearray :raises HoneycombError: If SPAN could not be configured. """ - interface = dst_interface.replace("/", "%2F") + interface = Topology.convert_interface_reference( + node, dst_interface, "name") + interface = interface.replace("/", "%2F") path = "/interface/" + interface + "/span" if not src_interfaces: status_code, _ = HcUtil.delete_honeycomb_data( node, "config_vpp_interfaces", path) - - data = { - "span": { - "mirrored-interfaces": { - "mirrored-interface": src_interfaces + else: + for src_interface in src_interfaces: + src_interface["iface-ref"] = Topology.\ + convert_interface_reference( + node, src_interface["iface-ref"], "name") + data = { + "span": { + "mirrored-interfaces": { + "mirrored-interface": src_interfaces + } } } - } - status_code, _ = HcUtil.put_honeycomb_data( - node, "config_vpp_interfaces", data, path) + status_code, _ = HcUtil.put_honeycomb_data( + node, "config_vpp_interfaces", data, path) if status_code not in (HTTPCodes.OK, HTTPCodes.ACCEPTED): raise HoneycombError( |