Bugfix and refactoring for ovs_lib flow methods
Remove hardcoded flow parameters from
'_build_flow_expr_str' method, so we can
define any flows we want and can rely on 'ovs-ofctl'
command to verify flow arguments correctness.
When building flow string inside _build_flow_expr_str
use the following approach:
1. Build prefix and remove prefix params from flow_dict.
2. Build postfix (actions) and remove 'actions' from
flow dict.
3. Inside the loop build flow array from everything
what's left in flow_dict.
4. Append postfix (actions) to the flow array.
5. 'Join' flow array into flow string.
Change _build_flow_expr_str() to be a function
instead of an object method because 'self'
parameter wasn't used.
Remove 'add_or_mod_flow_str' method because
we have to use separate logic when bulding flow
strings for 'add_flow' and 'mod_flow' methods.
Add more unit tests for OVSBridge class.
Closes-Bug: #
1255058
Closes-Bug: #
1240572
Change-Id: Ic89221d006a626aa2fc40314a9acffc0ea6fd61c