aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/python/Classify.py
diff options
context:
space:
mode:
authorVratko Polak <vrpolak@cisco.com>2019-07-09 12:17:09 +0200
committerDave Wallace <dwallacelf@gmail.com>2019-07-12 13:00:49 +0000
commit33fb34665214bbbd0a4b3154169b21c2da01f69b (patch)
tree9ebb70889824451cf8411875159a6fafd70b60ac /resources/libraries/python/Classify.py
parentccfe499e2a27f2caf234ecbb2ec948120810eab6 (diff)
PapiExecutor always verifies
Do not support returning unverified replies anymore. Basically, ".get_replies().verify_replies()" is now just ".get_replies()". This allows fairly large simplifications both at call sites and in PapiExecutor.py + Rename get_dumps to get_details. + Introduce get_reply and get_sw_if_index. + Rename variables holding get_*() value, + e.g. get_stats() value is stored to variable named "stats". + Rename "item" of subsequent loop to hint the type instead. + Rename "details" function argument to "verbose". + Process reply details in place, instead of building new list. - Except hybrid blocks which can return both list or single item. - Except human readable text building blocks. + Rename most similar names to sw_if_index. - Except "vpp_sw_index" and some function names. + Use single run_cli_cmd from PapiExecutor. + Do not chain methods over multiple lines. + Small space gain is not worth readability loss. + Include minor code and docstrings improvement. + Add some TODOs. Change-Id: Ib2110a3d2101a74d5837baab3a58dc46aafc6ce3 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
Diffstat (limited to 'resources/libraries/python/Classify.py')
-rw-r--r--resources/libraries/python/Classify.py38
1 files changed, 15 insertions, 23 deletions
diff --git a/resources/libraries/python/Classify.py b/resources/libraries/python/Classify.py
index 2b9ab3d11c..b2cc3a6420 100644
--- a/resources/libraries/python/Classify.py
+++ b/resources/libraries/python/Classify.py
@@ -290,11 +290,10 @@ class Classify(object):
host=node['host'])
with PapiExecutor(node) as papi_exec:
- data = papi_exec.add(cmd, **args).get_replies(err_msg).\
- verify_reply(err_msg=err_msg)
+ reply = papi_exec.add(cmd, **args).get_reply(err_msg)
- return int(data["new_table_index"]), int(data["skip_n_vectors"]),\
- int(data["match_n_vectors"])
+ return int(reply["new_table_index"]), int(reply["skip_n_vectors"]),\
+ int(reply["match_n_vectors"])
@staticmethod
def _classify_add_del_session(node, is_add, table_index, match,
@@ -357,8 +356,7 @@ class Classify(object):
host=node['host'])
with PapiExecutor(node) as papi_exec:
- papi_exec.add(cmd, **args).get_replies(err_msg). \
- verify_reply(err_msg=err_msg)
+ papi_exec.add(cmd, **args).get_reply(err_msg)
@staticmethod
def _macip_acl_add(node, rules, tag=""):
@@ -382,8 +380,7 @@ class Classify(object):
host=node['host'])
with PapiExecutor(node) as papi_exec:
- papi_exec.add(cmd, **args).get_replies(err_msg). \
- verify_reply(err_msg=err_msg)
+ papi_exec.add(cmd, **args).get_reply(err_msg)
@staticmethod
def _acl_interface_set_acl_list(node, sw_if_index, acl_type, acls):
@@ -411,8 +408,7 @@ class Classify(object):
format(idx=sw_if_index, host=node['host'])
with PapiExecutor(node) as papi_exec:
- papi_exec.add(cmd, **args).get_replies(err_msg). \
- verify_reply(err_msg=err_msg)
+ papi_exec.add(cmd, **args).get_reply(err_msg)
@staticmethod
def _acl_add_replace(node, acl_idx, rules, tag=""):
@@ -439,8 +435,7 @@ class Classify(object):
host=node['host'])
with PapiExecutor(node) as papi_exec:
- papi_exec.add(cmd, **args).get_replies(err_msg). \
- verify_reply(err_msg=err_msg)
+ papi_exec.add(cmd, **args).get_reply(err_msg)
@staticmethod
def vpp_creates_classify_table_l3(node, ip_version, direction, ip_addr):
@@ -738,10 +733,8 @@ class Classify(object):
table_id=int(table_index)
)
with PapiExecutor(node) as papi_exec:
- data = papi_exec.add(cmd, **args).get_replies(err_msg).\
- verify_reply(err_msg=err_msg)
-
- return data
+ reply = papi_exec.add(cmd, **args).get_reply(err_msg)
+ return reply
@staticmethod
def get_classify_session_data(node, table_index):
@@ -754,14 +747,14 @@ class Classify(object):
:returns: List of classify session settings.
:rtype: list or dict
"""
+ cmd = "classify_session_dump"
args = dict(
table_id=int(table_index)
)
with PapiExecutor(node) as papi_exec:
- dump = papi_exec.add("classify_session_dump", **args).\
- get_dump().reply[0]["api_reply"]["classify_session_details"]
+ details = papi_exec.add(cmd, **args).get_details()
- return dump
+ return details
@staticmethod
def vpp_log_plugin_acl_settings(node):
@@ -941,8 +934,7 @@ class Classify(object):
acl_index=int(acl_idx)
)
with PapiExecutor(node) as papi_exec:
- papi_exec.add(cmd, **args).get_replies(err_msg).\
- verify_reply(err_msg=err_msg)
+ papi_exec.add(cmd, **args).get_reply(err_msg)
@staticmethod
def vpp_log_macip_acl_interface_assignment(node):
@@ -955,5 +947,5 @@ class Classify(object):
err_msg = "Failed to get 'macip_acl_interface' on host {host}".format(
host=node['host'])
with PapiExecutor(node) as papi_exec:
- rpl = papi_exec.add(cmd).get_replies(err_msg).reply[0]["api_reply"]
- logger.info(rpl["macip_acl_interface_get_reply"])
+ reply = papi_exec.add(cmd).get_reply(err_msg)
+ logger.info(reply)