summaryrefslogtreecommitdiffstats
path: root/sdnvpn/lib/utils.py
diff options
context:
space:
mode:
authorTim Irnich <tim.irnich@ericsson.com>2017-11-16 17:00:25 +0000
committerGerrit Code Review <gerrit@opnfv.org>2017-11-16 17:00:25 +0000
commitcd1dee3f51f98adf8fedb50eaa96f785b3a27fa1 (patch)
treef638711545cbae51102da57605d6010111400b3a /sdnvpn/lib/utils.py
parente1372d3c4955a92f36bfb50ae5925dac2fc0b89c (diff)
parent9c6c8f91387b3037b13848ef0230f63a5d2f57c4 (diff)
Merge "add resync testcase"
Diffstat (limited to 'sdnvpn/lib/utils.py')
-rw-r--r--sdnvpn/lib/utils.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/sdnvpn/lib/utils.py b/sdnvpn/lib/utils.py
index 269a319..78493be 100644
--- a/sdnvpn/lib/utils.py
+++ b/sdnvpn/lib/utils.py
@@ -756,3 +756,20 @@ def get_ovs_groups(compute_node_list, ovs_br_list, of_protocol="OpenFlow13"):
cmd_out_lines += (compute_node.run_cmd(ovs_groups_cmd).strip().
split("\n"))
return cmd_out_lines
+
+
+def get_ovs_flows(compute_node_list, ovs_br_list, of_protocol="OpenFlow13"):
+ """
+ Gets, as input, a list of compute nodes and a list of OVS bridges
+ and returns the command console output, as a list of lines, that
+ contains all the OVS flows from all bridges and nodes in lists.
+ """
+ cmd_out_lines = []
+ for compute_node in compute_node_list:
+ for ovs_br in ovs_br_list:
+ if ovs_br in compute_node.run_cmd("sudo ovs-vsctl show"):
+ ovs_flows_cmd = ("sudo ovs-ofctl dump-flows {} -O {} | "
+ "grep table=".format(ovs_br, of_protocol))
+ cmd_out_lines += (compute_node.run_cmd(ovs_flows_cmd).strip().
+ split("\n"))
+ return cmd_out_lines