:type node: dict
:type path: str
:type data: dict
- :return: Content of response.
+ :returns: Content of response.
:rtype: bytearray
:raises HoneycombError: If the status code in response to PUT is not
200 = OK.
:param table: Classify table to be added.
:type node: dict
:type table: dict
- :return: Content of response.
+ :returns: Content of response.
:rtype: bytearray
"""
:param node: Honeycomb node.
:type node: dict
- :return: Content of response.
+ :returns: Content of response.
:rtype: bytearray
"""
:param table_name: Name of the classify table to be removed.
:type node: dict
:type table_name: str
- :return: Content of response.
+ :returns: Content of response.
:rtype: bytearray
"""
:param node: Honeycomb node.
:type node: dict
- :return: List of classify tables.
+ :returns: List of classify tables.
:rtype: list
"""
raise HoneycombError(
"Not possible to get operational information about the "
"classify tables. Status code: {0}.".format(status_code))
- try:
- return resp["vpp-classifier"]["classify-table"]
- except (KeyError, TypeError):
- return []
+
+ return resp["vpp-classifier-state"]["classify-table"]
@staticmethod
def get_classify_table_oper_data(node, table_name):
:param table_name: Name of the classify table.
:type node: dict
:type table_name: str
- :return: Operational data about the given classify table.
+ :returns: Operational data about the given classify table.
:rtype: dict
"""
- path = "/classify-table/" + table_name
- status_code, resp = HcUtil.\
- get_honeycomb_data(node, "oper_classify_table", path)
-
- if status_code != HTTPCodes.OK:
- raise HoneycombError(
- "Not possible to get operational information about the "
- "classify tables. Status code: {0}.".format(status_code))
- try:
- return resp["classify-table"][0]
- except (KeyError, TypeError):
- return []
+ tables = ACLKeywords.get_all_classify_tables_oper_data(node)
+ for table in tables:
+ if table["name"] == table_name:
+ return table
+ raise HoneycombError("Table {0} not found in ACL table list.".format(
+ table_name))
@staticmethod
def get_all_classify_tables_cfg_data(node):
:param node: Honeycomb node.
:type node: dict
- :return: List of classify tables.
+ :returns: List of classify tables.
:rtype: list
"""
:type node: dict
:type table_name: str
:type session: dict
- :return: Content of response.
+ :returns: Content of response.
:rtype: bytearray
"""
:type node: dict
:type table_name: str
:type session_match: str
- :return: Content of response.
+ :returns: Content of response.
:rtype: bytearray
"""
:param table_name: Name of the classify table.
:type node: dict
:type table_name: str
- :return: List of classify sessions present in the classify table.
+ :returns: List of classify sessions present in the classify table.
:rtype: list
"""
table_data = ACLKeywords.get_classify_table_oper_data(node, table_name)
- try:
- return table_data["classify-table"][0]["classify-session"]
- except (KeyError, TypeError):
- return []
+
+ return table_data["classify-session"]
@staticmethod
def get_classify_session_oper_data(node, table_name, session_match):
:type node: dict
:type table_name: str
:type session_match: str
- :return: Classify session operational data.
+ :returns: Classify session operational data.
:rtype: dict
+ :raises HoneycombError: If no session the specified match Id is found.
"""
- path = "/classify-table/" + table_name + \
- "/classify-session/" + session_match
- status_code, resp = HcUtil.\
- get_honeycomb_data(node, "oper_classify_table", path)
-
- if status_code != HTTPCodes.OK:
- raise HoneycombError(
- "Not possible to get operational information about the "
- "classify tables. Status code: {0}.".format(status_code))
- try:
- return resp["classify-session"][0]
- except (KeyError, TypeError):
- return {}
+ sessions = ACLKeywords.get_all_classify_sessions_oper_data(
+ node, table_name)
+ for session in sessions:
+ if session["match"] == session_match:
+ return session
+ raise HoneycombError(
+ "Session with match value \"{0}\" not found"
+ " under ACL table {1}.".format(session_match, table_name))
@staticmethod
def create_acl_plugin_classify_chain(node, list_name, data, macip=False):
:type data: dict
:type macip: bool
- :return: Content of response.
+ :returns: Content of response.
:rtype: bytearray
:raises HoneycombError: If the operation fails.
"""
:type direction: str
:type macip: bool
- :return: Content of response.
+ :returns: Content of response.
:rtype: bytearray
+ :raises ValueError: If the direction argument is incorrect.
:raises HoneycombError: If the operation fails.
"""