X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2Fhoneycomb%2FHcAPIKwACL.py;h=b2848411a14a301bfdd718f2570dac6ec6019952;hb=cc0c2870a18fb74a56410eca2d1870bddc945397;hp=49fc351b019681027b80df524fd1e95e858f9d37;hpb=4c6fe5602edcbd9857a846e5b13a21d5c671a2c8;p=csit.git diff --git a/resources/libraries/python/honeycomb/HcAPIKwACL.py b/resources/libraries/python/honeycomb/HcAPIKwACL.py index 49fc351b01..b2848411a1 100644 --- a/resources/libraries/python/honeycomb/HcAPIKwACL.py +++ b/resources/libraries/python/honeycomb/HcAPIKwACL.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: @@ -13,6 +13,8 @@ """This module implements keywords to manipulate ACL data structures using Honeycomb REST API.""" + + from robot.api import logger from resources.libraries.python.topology import Topology @@ -255,26 +257,21 @@ class ACLKeywords(object): " under ACL table {1}.".format(session_match, table_name)) @staticmethod - def create_acl_plugin_classify_chain(node, list_name, data, macip=False): + def create_acl_plugin_classify_chain(node, list_name, data): """Create classify chain using the ietf-acl node. :param node: Honeycomb node. :param list_name: Name for the classify list. :param data: Dictionary of settings to send to Honeycomb. - :param macip: Use simple MAC+IP classifier. Optional. :type node: dict :type list_name: str :type data: dict - :type macip: bool :returns: Content of response. :rtype: bytearray :raises HoneycombError: If the operation fails. """ - if macip: - path = "/acl/vpp-acl:vpp-macip-acl/{0}".format(list_name) - else: - path = "/acl/vpp-acl:vpp-acl/{0}".format(list_name) + path = "/acl/{0}".format(list_name) status_code, resp = HcUtil.put_honeycomb_data( node, "config_plugin_acl", data, path) @@ -287,21 +284,18 @@ class ACLKeywords(object): return resp @staticmethod - def set_acl_plugin_interface(node, interface, acl_name, - direction, macip=False): + def set_acl_plugin_interface(node, interface, acl_name, direction): """Assign an interface to an ietf-acl classify chain. :param node: Honeycomb node. :param interface: Name of an interface on the node. :param acl_name: Name of an ACL chain configured through ACL-plugin. - :param direction: Classify incoming or outgiong packets. + :param direction: Classify incoming or outgoing packets. Valid options are: ingress, egress - :param macip: Use simple MAC+IP classifier. Optional. :type node: dict :type interface: str or int :type acl_name: str :type direction: str - :type macip: bool :returns: Content of response. :rtype: bytearray :raises ValueError: If the direction argument is incorrect. @@ -318,32 +312,19 @@ class ACLKeywords(object): "Valid options are: ingress, egress." .format(direction)) - path = "/interface/{0}/interface-acl:acl/{1}".format( + path = "/attachment-points/interface/{0}/{1}/acl-sets/".format( interface, direction) - if macip: - data = { - direction: { - "vpp-macip-acl": { - "type": "vpp-acl:vpp-macip-acl", - "name": acl_name - } - } - } - else: - data = { - direction: { - "vpp-acls": [ - { - "type": "vpp-acl:vpp-acl", - "name": acl_name - } - ] + data = { + "acl-sets": { + "acl-set": { + "name": acl_name } } + } status_code, resp = HcUtil.put_honeycomb_data( - node, "config_vpp_interfaces", data, path) + node, "config_plugin_acl", data, path) if status_code not in (HTTPCodes.OK, HTTPCodes.ACCEPTED): raise HoneycombError( @@ -367,9 +348,9 @@ class ACLKeywords(object): interface = interface.replace("/", "%2F") - path = "/interface/{0}/interface-acl:acl/".format(interface) + path = "/attachment-points/interface/{0}/".format(interface) status_code, _ = HcUtil.delete_honeycomb_data( - node, "config_vpp_interfaces", path) + node, "config_plugin_acl", path) if status_code != HTTPCodes.OK: raise HoneycombError(