aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorselias <samelias@cisco.com>2017-05-09 12:38:35 +0200
committerSamuel Eliáš <samelias@cisco.com>2017-05-17 07:27:59 +0000
commita114591eac9f52502048db886da2fb228c62254d (patch)
tree24426e7fe44f24e8c9471da885269813214550e9 /tests
parent03bb1e5611946a53f243a3d923c8f2d1aeee079a (diff)
CSIT-562 HC Test: Persistence suite rework, part1
- rename keywords that check operational data, to distinguish from keywords that check configuration data - modify existing persistence cases so that they don't affect each other - add feature-specific persistence tests for: Interface Management, L2 bridge - move Interface Management variables to separate file so they can be reused - add new tag HC_PERSIST to execute persistence tests separately - update existing Honeycomb tags to comply with CSIT conventions More feature-specific tests to be added in part2. Change-Id: I8657da4bb9e9a3d5261c04f5f1999b2572f605ef Signed-off-by: selias <samelias@cisco.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/func/honeycomb/mgmt-cfg-acl-apihc-apivat-func.robot2
-rw-r--r--tests/func/honeycomb/mgmt-cfg-dhcp-apihc-apivat-func.robot10
-rw-r--r--tests/func/honeycomb/mgmt-cfg-int-apihcnc-func.robot2
-rw-r--r--tests/func/honeycomb/mgmt-cfg-int-subint-apihc-apivat-func.robot38
-rw-r--r--tests/func/honeycomb/mgmt-cfg-intip4-intip6-apihc-apivat-func.robot91
-rw-r--r--tests/func/honeycomb/mgmt-cfg-inttap-apihc-apivat-func.robot26
-rw-r--r--tests/func/honeycomb/mgmt-cfg-intvhost-apihc-apivat-func.robot64
-rw-r--r--tests/func/honeycomb/mgmt-cfg-l2bd-apihc-apivat-func.robot30
-rw-r--r--tests/func/honeycomb/mgmt-cfg-l2fib-apihc-apivat-func.robot20
-rw-r--r--tests/func/honeycomb/mgmt-cfg-lisp-apihc-apivat-func.robot2
-rw-r--r--tests/func/honeycomb/mgmt-cfg-nsh-apihc-apivat-func.robot16
-rw-r--r--tests/func/honeycomb/mgmt-cfg-pbb-apihc-apivat-func.robot2
-rw-r--r--tests/func/honeycomb/mgmt-cfg-pluginacl-apihc-apivat-func.robot2
-rw-r--r--tests/func/honeycomb/mgmt-cfg-policer-apihc-func.robot18
-rw-r--r--tests/func/honeycomb/mgmt-cfg-proxyarp-apihc-func.robot2
-rw-r--r--tests/func/honeycomb/mgmt-cfg-proxynd6-apihc-func.robot2
-rw-r--r--tests/func/honeycomb/mgmt-cfg-routing-apihc-apivat-func.robot2
-rw-r--r--tests/func/honeycomb/mgmt-cfg-slaac-apihc-func.robot26
-rw-r--r--tests/func/honeycomb/mgmt-cfg-snat44-apihc-apivat-func.robot32
-rw-r--r--tests/func/honeycomb/mgmt-cfg-spanrx-apihc-apivat-func.robot14
-rw-r--r--tests/func/honeycomb/mgmt-cfg-vxlan-apihc-apivat-func.robot48
-rw-r--r--tests/func/honeycomb/mgmt-cfg-vxlangpe-apihc-apivat-func.robot54
-rw-r--r--tests/func/honeycomb/mgmt-notif-apihcnc-func.robot6
-rw-r--r--tests/func/honeycomb/mgmt-statepersist-apihc-func.robot123
24 files changed, 346 insertions, 286 deletions
diff --git a/tests/func/honeycomb/mgmt-cfg-acl-apihc-apivat-func.robot b/tests/func/honeycomb/mgmt-cfg-acl-apihc-apivat-func.robot
index 1dac59839b..7792fb3fdd 100644
--- a/tests/func/honeycomb/mgmt-cfg-acl-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-acl-apihc-apivat-func.robot
@@ -22,7 +22,7 @@
| Variables | resources/test_data/honeycomb/acl.py
| Suite Teardown | Restart Honeycomb and VPP | ${node}
| Documentation | *Honeycomb access control lists test suite.*
-| Force Tags | honeycomb_sanity | honeycomb_odl
+| Force Tags | HC_FUNC
*** Test Cases ***
| TC01: Honeycomb can create ACL classify table
diff --git a/tests/func/honeycomb/mgmt-cfg-dhcp-apihc-apivat-func.robot b/tests/func/honeycomb/mgmt-cfg-dhcp-apihc-apivat-func.robot
index 4405da11e6..ba39c02402 100644
--- a/tests/func/honeycomb/mgmt-cfg-dhcp-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-dhcp-apihc-apivat-func.robot
@@ -27,7 +27,7 @@
| Documentation | *Honeycomb DHCP relay test suite.*
| Test Setup | Clear Packet Trace on All DUTs | ${nodes}
| Suite Teardown | Restart Honeycomb and VPP | ${node}
-| Force Tags | honeycomb_sanity | honeycomb_odl
+| Force Tags | HC_FUNC
*** Test Cases ***
| TC01: Honeycomb can configure DHCP relay entry
@@ -40,7 +40,7 @@
| | ... | on the second TG interface and verify required fields.
| | [Teardown] | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
| | ... | AND | Log DHCP relay configuration from VAT | ${node} | ipv4
-| | Given DHCP relay configuration from Honeycomb should be empty | ${node}
+| | Given DHCP relay Operational Data From Honeycomb Should Be empty | ${node}
| | When Honeycomb configures DHCP relay | ${node} | ${relay1} | ipv4 | ${0}
| | Then DHCP relay configuration from Honeycomb should contain
| | ... | ${node} | ${relay1_oper}
@@ -55,13 +55,13 @@
| | Given DHCP relay configuration from Honeycomb should contain
| | ... | ${node} | ${relay1_oper}
| | When Honeycomb clears DHCP relay configuration | ${node}
-| | Then DHCP relay configuration from Honeycomb should be empty | ${node}
+| | Then DHCP relay Operational Data From Honeycomb Should Be empty | ${node}
| TC03: Honeycomb can configure multiple DHCP relay servers.
| | [Documentation] | Configure multiple DHCP relay servers and verify\
| | ... | their configuration using operational data.
| | [Teardown] | Honeycomb clears DHCP relay configuration | ${node}
-| | Given DHCP relay configuration from Honeycomb should be empty | ${node}
+| | Given DHCP relay Operational Data From Honeycomb Should Be empty | ${node}
| | And Honeycomb configures DHCP relay | ${node} | ${relay2} | ipv4 | ${0}
| | Then DHCP relay configuration from Honeycomb should contain
| | ... | ${node} | ${relay2_oper}
@@ -77,7 +77,7 @@
| | [Teardown] | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
| | ... | AND | Log DHCP relay configuration from VAT | ${node} | ipv6
| | ... | AND | Honeycomb clears DHCP relay configuration | ${node}
-| | Given DHCP relay configuration from Honeycomb should be empty | ${node}
+| | Given DHCP relay Operational Data From Honeycomb Should Be empty | ${node}
| | When Honeycomb configures DHCP relay | ${node} | ${relay_v6} | ipv6 | ${0}
| | Then DHCP relay configuration from Honeycomb should contain
| | ... | ${node} | ${relay_v6_oper}
diff --git a/tests/func/honeycomb/mgmt-cfg-int-apihcnc-func.robot b/tests/func/honeycomb/mgmt-cfg-int-apihcnc-func.robot
index 8f5796a299..4fe9dde40c 100644
--- a/tests/func/honeycomb/mgmt-cfg-int-apihcnc-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-int-apihcnc-func.robot
@@ -21,7 +21,7 @@
| Variables | resources/test_data/honeycomb/netconf/triggers.py
| Documentation | *Netconf test suite. Contains test cases that need to bypass\
| ... | REST API.*
-| Force Tags | honeycomb_sanity
+| Force Tags | HC_FUNC | HC_REST_ONLY
| Suite Teardown
| ... | Restart Honeycomb and VPP | ${node}
diff --git a/tests/func/honeycomb/mgmt-cfg-int-subint-apihc-apivat-func.robot b/tests/func/honeycomb/mgmt-cfg-int-subint-apihc-apivat-func.robot
index ca1ff9988c..9fb858ad25 100644
--- a/tests/func/honeycomb/mgmt-cfg-int-subint-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-int-subint-apihc-apivat-func.robot
@@ -20,7 +20,7 @@
| Variables | resources/test_data/honeycomb/sub_interfaces.py
| Suite Teardown
| ... | Restart Honeycomb and VPP | ${node}
-| Force Tags | honeycomb_sanity | honeycomb_odl
+| Force Tags | HC_FUNC
| Documentation | *Honeycomb sub-interface management test suite.*
*** Variables ***
@@ -36,15 +36,15 @@
| | [Documentation] | Check if Honeycomb creates a sub-interface.
| | ...
| | Given Honeycomb sets interface state | ${node} | ${super_if} | down
-| | And sub-interface configuration from Honeycomb should be empty
+| | And sub-interface Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${super_if} | ${sub_if_id}
-| | And interface configuration from VAT should be empty
+| | And interface Operational Data From VAT Should Be empty
| | ... | ${node} | ${sub_if_name}
| | When Honeycomb creates sub-interface | ${node} | ${super_if}
| | ... | ${sub_if_1_match} | ${sub_if_1_tags} | ${sub_if_1_settings}
-| | Then Sub-interface configuration from Honeycomb should be
+| | Then Sub-interface Operational Data From Honeycomb Should Be
| | ... | ${node} | ${super_if} | ${sub_if_id} | ${sub_if_1_oper}
-| | And Sub-interface configuration from VAT should be
+| | And Sub-interface Operational Data From VAT Should Be
| | ... | ${node} | ${sub_if_name} | ${sub_if_1_oper}
| | And sub-interface indices from Honeycomb and VAT should correspond
| | ... | ${node} | ${super_if} | ${sub_if_id}
@@ -157,15 +157,15 @@
| | [Setup] | Set super and sub interfaces down
| | ... | ${node} | ${super_if} | ${sub_if_id}
| | ...
-| | Given sub-interface configuration from Honeycomb should be
+| | Given sub-interface Operational Data From Honeycomb Should Be
| | ... | ${node} | ${super_if} | ${sub_if_id} | ${sub_if_1_oper}
-| | And sub-interface configuration from VAT should be
+| | And sub-interface Operational Data From VAT Should Be
| | ... | ${node} | ${sub_if_name} | ${sub_if_1_oper}
| | When Honeycomb fails to remove all sub-interfaces
| | ... | ${node} | ${super_if}
-| | Then sub-interface configuration from Honeycomb should be
+| | Then sub-interface Operational Data From Honeycomb Should Be
| | ... | ${node} | ${super_if} | ${sub_if_id} | ${sub_if_1_oper}
-| | And sub-interface configuration from VAT should be
+| | And sub-interface Operational Data From VAT Should Be
| | ... | ${node} | ${sub_if_name} | ${sub_if_1_oper}
| TC07: Honeycomb adds sub-interface to new bridge domain
@@ -174,21 +174,21 @@
| | [Setup] | Set super and sub interfaces down
| | ... | ${node} | ${super_if} | ${sub_if_id}
| | ...
-| | Given sub-interface configuration from Honeycomb should be
+| | Given sub-interface Operational Data From Honeycomb Should Be
| | ... | ${node} | ${super_if} | ${sub_if_id} | ${sub_if_1_oper}
-| | And sub-interface configuration from VAT should be
+| | And sub-interface Operational Data From VAT Should Be
| | ... | ${node} | ${sub_if_name} | ${sub_if_1_oper}
| | When Honeycomb creates first L2 bridge domain
| | ... | ${node} | ${bd_name} | ${bd_settings}
-| | Then bridge domain configuration from Honeycomb should be
+| | Then bridge domain Operational Data From Honeycomb Should Be
| | ... | ${node} | ${bd_name} | ${bd_settings}
| | When Honeycomb adds sub-interface to bridge domain
| | ... | ${node} | ${super_if} | ${sub_if_id} | ${sub_bd_settings}
-| | Then sub-interface bridge domain configuration from Honeycomb should be
+| | Then sub-interface bridge domain Operational Data From Honeycomb Should Be
| | ... | ${node} | ${super_if} | ${sub_if_id} | ${sub_bd_settings}
-| | And sub-interface bridge domain configuration from VAT should be
+| | And sub-interface bridge domain Operational Data From VAT Should Be
| | ... | ${node} | ${sub_if_name} | ${sub_bd_settings}
-| | And sub-interface configuration from VAT should be
+| | And sub-interface Operational Data From VAT Should Be
| | ... | ${node} | ${sub_if_name} | ${sub_if_1_oper}
| TC08: Honeycomb enables tag-rewrite pop 1
@@ -387,15 +387,15 @@
| | [Documentation] | Check if Honeycomb can modify a sub-interface with exact\
| | ... | tag match.
| | Given Honeycomb sets interface state | ${node} | ${super_if2} | down
-| | And sub-interface configuration from Honeycomb should be empty
+| | And sub-interface Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${super_if2} | ${sub_if_id}
-| | And interface configuration from VAT should be empty
+| | And interface Operational Data From VAT Should Be empty
| | ... | ${node} | ${sub_if2_name}
| | When Honeycomb creates sub-interface | ${node} | ${super_if2}
| | ... | ${sub_if_2_match} | ${sub_if_2_tags} | ${sub_if_2_settings}
-| | Then Sub-interface configuration from Honeycomb should be
+| | Then Sub-interface Operational Data From Honeycomb Should Be
| | ... | ${node} | ${super_if2} | ${sub_if_id} | ${sub_if_2_oper}
-| | And Sub-interface configuration from VAT should be
+| | And Sub-interface Operational Data From VAT Should Be
| | ... | ${node} | ${sub_if2_name} | ${sub_if_2_oper}
| | And sub-interface indices from Honeycomb and VAT should correspond
| | ... | ${node} | ${super_if2} | ${sub_if_id}
diff --git a/tests/func/honeycomb/mgmt-cfg-intip4-intip6-apihc-apivat-func.robot b/tests/func/honeycomb/mgmt-cfg-intip4-intip6-apihc-apivat-func.robot
index 1a8d4008b3..1d2b4ae7de 100644
--- a/tests/func/honeycomb/mgmt-cfg-intip4-intip6-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-intip4-intip6-apihc-apivat-func.robot
@@ -14,24 +14,6 @@
*** Variables ***
# Interface to run tests on.
| ${interface}= | ${node['interfaces']['port1']['name']}
-# Configuration which will be set and verified during tests.
-| @{ipv4_address}= | 192.168.0.2 | ${24}
-| @{ipv4_address2}= | 192.168.1.2 | ${24}
-| ${ipv4_mask}= | 255.255.255.0
-| ${ipv4_prefix}= | ${24}
-| @{ipv4_neighbor}= | 192.168.0.4 | 08:00:27:c0:5d:37
-| @{ipv4_neighbor2}= | 192.168.1.4 | 08:00:27:c0:5d:37
-| &{ipv4_settings}= | mtu=${9000}
-| @{ipv6_address}= | 10::10 | ${64}
-| @{ipv6_address2}= | 11::10 | ${64}
-| @{ipv6_neighbor}= | 10::11 | 08:00:27:c0:5d:37
-| @{ipv6_neighbor2}= | 11::11 | 08:00:27:c0:5d:37
-| &{ipv6_settings}= | enabled=${True} | forwarding=${True} | mtu=${9000}
-| ... | dup-addr-detect-transmits=${5}
-| &{ethernet}= | mtu=${9000}
-| &{routing}= | vrf-id=${27}
-| &{vxlan_settings}= | src=10.0.1.20 | dst=10.0.3.20 | vni=${1000}
-| ... | encap-vrf-id=${1000}
*** Settings ***
| Resource | resources/libraries/robot/default.robot
@@ -39,7 +21,8 @@
| Resource | resources/libraries/robot/honeycomb/honeycomb.robot
| Resource | resources/libraries/robot/testing_path.robot
| Resource | resources/libraries/robot/ipv6.robot
-| Force Tags | honeycomb_sanity | honeycomb_odl
+| Variables | resources/test_data/honeycomb/interface_ip.py
+| Force Tags | HC_FUNC
| Suite Teardown
| | ... | Restart Honeycomb and VPP | ${node}
| Documentation | *Honeycomb interface management test suite.*
@@ -66,19 +49,21 @@
| | Given IPv4 address from Honeycomb should be empty | ${node} | ${interface}
| | And ipv4 address from VAT should be empty | ${node} | ${interface}
| | When Honeycomb sets interface ipv4 address | ${node} | ${interface}
-| | ... | ${ipv4_address[0]} | ${ipv4_mask}
+| | ... | ${ipv4_address} | ${ipv4_mask}
| | Then IPv4 address from Honeycomb should be
-| | ... | ${node} | ${interface} | ${ipv4_address[0]} | ${ipv4_prefix}
+| | ... | ${node} | ${interface} | ${ipv4_address} | ${ipv4_prefix}
| | And IPv4 address from VAT should be
-| | ... | ${node} | ${interface} | @{ipv4_address} | ${ipv4_mask}
+| | ... | ${node} | ${interface} | ${ipv4_address}
+| | ... | ${ipv4_prefix} | ${ipv4_mask}
| TC03: Honeycomb removes IPv4 address from interface
| | [Documentation] | Check if Honeycomb API can remove configured ipv4\
| | ... | addresses from interface.
| | Given IPv4 address from Honeycomb should be
-| | ... | ${node} | ${interface} | @{ipv4_address}
+| | ... | ${node} | ${interface} | ${ipv4_address} | ${ipv4_prefix}
| | And IPv4 address from VAT should be
-| | ... | ${node} | ${interface} | @{ipv4_address} | ${ipv4_mask}
+| | ... | ${node} | ${interface} | ${ipv4_address}
+| | ... | ${ipv4_prefix} | ${ipv4_mask}
| | When Honeycomb removes interface ipv4 addresses | ${node} | ${interface}
| | Then IPv4 address from Honeycomb should be empty | ${node} | ${interface}
| | And ipv4 address from VAT should be empty | ${node} | ${interface}
@@ -91,11 +76,12 @@
| | Given IPv4 address from Honeycomb should be empty | ${node} | ${interface}
| | And ipv4 address from VAT should be empty | ${node} | ${interface}
| | When Honeycomb sets interface ipv4 address with prefix
-| | ... | ${node} | ${interface} | @{ipv4_address2}
+| | ... | ${node} | ${interface} | ${ipv4_address2} | ${ipv4_prefix}
| | Then IPv4 address from Honeycomb should be
-| | ... | ${node} | ${interface} | @{ipv4_address2}
+| | ... | ${node} | ${interface} | ${ipv4_address2} | ${ipv4_prefix}
| | And IPv4 address from VAT should be
-| | ... | ${node} | ${interface} | @{ipv4_address2} | ${ipv4_mask}
+| | ... | ${node} | ${interface} | ${ipv4_address2}
+| | ... | ${ipv4_prefix} | ${ipv4_mask}
| TC05: Honeycomb modifies IPv4 neighbor table
| | [Documentation] | Check if Honeycomb API can add and remove ARP entries.
@@ -104,9 +90,9 @@
| | Given IPv4 neighbor from Honeycomb should be empty
| | ... | ${node} | ${interface}
| | When Honeycomb adds interface ipv4 neighbor
-| | ... | ${node} | ${interface} | @{ipv4_neighbor}
+| | ... | ${node} | ${interface} | ${ipv4_neighbor} | ${neighbor_mac}
| | Then IPv4 neighbor from Honeycomb should be
-| | ... | ${node} | ${interface} | @{ipv4_neighbor}
+| | ... | ${node} | ${interface} | ${ipv4_neighbor} | ${neighbor_mac}
| TC06: Honeycomb modifies interface configuration - IPv6
| | [Documentation] | Check if Honeycomb API can configure interfaces for ipv6.
@@ -117,11 +103,11 @@
| | And IPv6 address from VAT should be empty
| | ... | ${node} | ${interface}
| | When Honeycomb sets interface ipv6 address
-| | ... | ${node} | ${interface} | @{ipv6_address}
+| | ... | ${node} | ${interface} | ${ipv6_address} | ${ipv6_prefix}
| | Then IPv6 address from Honeycomb should contain
-| | ... | ${node} | ${interface} | @{ipv6_address}
+| | ... | ${node} | ${interface} | ${ipv6_address} | ${ipv6_prefix}
| | And IPv6 address from VAT should contain
-| | ... | ${node} | ${interface} | @{ipv6_address}
+| | ... | ${node} | ${interface} | ${ipv6_address} | ${ipv6_prefix}
| TC07: Honeycomb modifies IPv6 neighbor table
| | [Documentation] | Check if Honeycomb API can add and remove ARP entries.
@@ -130,18 +116,18 @@
| | Given IPv6 neighbor from Honeycomb should be empty
| | ... | ${node} | ${interface}
| | When Honeycomb adds interface ipv6 neighbor
-| | ... | ${node} | ${interface} | @{ipv6_neighbor}
+| | ... | ${node} | ${interface} | ${ipv6_neighbor} | ${neighbor_mac}
| | Then IPv6 neighbor from Honeycomb should be
-| | ... | ${node} | ${interface} | @{ipv6_neighbor}
+| | ... | ${node} | ${interface} | ${ipv6_neighbor} | ${neighbor_mac}
| TC08: Honeycomb modifies interface configuration - MTU
| | [Documentation] | Check if Honeycomb API can configure interface\
| | ... | MTU value.
| | When Honeycomb sets interface ethernet configuration
| | ... | ${node} | ${interface} | ${ethernet}
-| | Then Interface ethernet configuration from Honeycomb should be
+| | Then Interface ethernet Operational Data From Honeycomb Should Be
| | ... | ${node} | ${interface} | ${ethernet}
-| | And Interface ethernet configuration from VAT should be
+| | And Interface ethernet Operational Data From VAT Should Be
| | ... | ${node} | ${interface} | ${ethernet['mtu']}
| TC09: Honeycomb modifies interface configuration - vrf
@@ -169,45 +155,46 @@
| | Given Path for 2-node testing is set
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
| | When Honeycomb sets interface ipv4 address with prefix
-| | ... | ${dut_node} | ${dut_to_tg_if1} | @{ipv4_address}
+| | ... | ${dut_node} | ${dut_to_tg_if1} | ${ipv4_address} | ${ipv4_prefix}
| | And Honeycomb adds interface ipv4 address
-| | ... | ${dut_node} | ${dut_to_tg_if1} | @{ipv4_address2}
+| | ... | ${dut_node} | ${dut_to_tg_if1} | ${ipv4_address2} | ${ipv4_prefix}
| | And Honeycomb sets interface ipv6 address
-| | ... | ${dut_node} | ${dut_to_tg_if1} | @{ipv6_address}
+| | ... | ${dut_node} | ${dut_to_tg_if1} | ${ipv6_address} | ${ipv6_prefix}
| | And Honeycomb adds interface ipv6 address
-| | ... | ${dut_node} | ${dut_to_tg_if1} | @{ipv6_address2}
+| | ... | ${dut_node} | ${dut_to_tg_if1} | ${ipv6_address2} | ${ipv6_prefix}
| | Then IPv4 address from Honeycomb should be
-| | ... | ${dut_node} | ${dut_to_tg_if1} | @{ipv4_address}
+| | ... | ${dut_node} | ${dut_to_tg_if1} | ${ipv4_address} | ${ipv4_prefix}
| | And IPv4 address from VAT should be
-| | ... | ${dut_node} | ${dut_to_tg_if1} | @{ipv4_address} | ${ipv4_mask}
+| | ... | ${dut_node} | ${dut_to_tg_if1} | ${ipv4_address}
+| | ... | ${ipv4_prefix} | ${ipv4_mask}
| | And IPv6 address from Honeycomb should contain
-| | ... | ${dut_node} | ${dut_to_tg_if1} | @{ipv6_address}
+| | ... | ${dut_node} | ${dut_to_tg_if1} | ${ipv6_address} | ${ipv6_prefix}
| | And IPv6 address from VAT should contain
-| | ... | ${dut_node} | ${dut_to_tg_if1} | @{ipv6_address}
+| | ... | ${dut_node} | ${dut_to_tg_if1} | ${ipv6_address} | ${ipv6_prefix}
| | And Honeycomb sets interface state | ${dut_node} | ${dut_to_tg_if1} | up
| | And Honeycomb adds interface ipv4 neighbor | ${dut_node} | ${dut_to_tg_if1}
-| | ... | @{ipv4_neighbor}
+| | ... | ${ipv4_neighbor} | ${neighbor_mac}
| | And Honeycomb adds interface ipv4 neighbor | ${dut_node} | ${dut_to_tg_if1}
-| | ... | @{ipv4_neighbor2}
+| | ... | ${ipv4_neighbor2} | ${neighbor_mac2}
| | And Honeycomb adds interface ipv6 neighbor | ${dut_node} | ${dut_to_tg_if1}
-| | ... | @{ipv6_neighbor}
+| | ... | ${ipv6_neighbor} | ${neighbor_mac}
| | And Honeycomb adds interface ipv6 neighbor | ${dut_node} | ${dut_to_tg_if1}
-| | ... | @{ipv6_neighbor2}
+| | ... | ${ipv6_neighbor2} | ${neighbor_mac2}
| | And Vpp nodes ra suppress link layer | ${nodes}
| | Then Ping and Verify IP address | ${nodes['TG']}
-| | ... | ${ipv4_neighbor[0]} | ${ipv4_address[0]}
+| | ... | ${ipv4_neighbor} | ${ipv4_address}
| | ... | ${tg_to_dut_if1} | ${tg_to_dut_if1_mac}
| | ... | ${tg_to_dut_if1} | ${dut_to_tg_if1_mac}
| | And Ping and Verify IP address | ${nodes['TG']}
-| | ... | ${ipv4_neighbor2[0]} | ${ipv4_address2[0]}
+| | ... | ${ipv4_neighbor2} | ${ipv4_address2}
| | ... | ${tg_to_dut_if1} | ${tg_to_dut_if1_mac}
| | ... | ${tg_to_dut_if1} | ${dut_to_tg_if1_mac}
| | And Ping and Verify IP address | ${nodes['TG']}
-| | ... | ${ipv6_neighbor[0]} | ${ipv6_address[0]}
+| | ... | ${ipv6_neighbor} | ${ipv6_address}
| | ... | ${tg_to_dut_if1} | ${tg_to_dut_if1_mac}
| | ... | ${tg_to_dut_if1} | ${dut_to_tg_if1_mac}
| | And Ping and Verify IP address | ${nodes['TG']}
-| | ... | ${ipv6_neighbor2[0]} | ${ipv6_address2[0]}
+| | ... | ${ipv6_neighbor2} | ${ipv6_address2}
| | ... | ${tg_to_dut_if1} | ${tg_to_dut_if1_mac}
| | ... | ${tg_to_dut_if1} | ${dut_to_tg_if1_mac}
diff --git a/tests/func/honeycomb/mgmt-cfg-inttap-apihc-apivat-func.robot b/tests/func/honeycomb/mgmt-cfg-inttap-apihc-apivat-func.robot
index 29eb0af5cc..2efdaf2eb5 100644
--- a/tests/func/honeycomb/mgmt-cfg-inttap-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-inttap-apihc-apivat-func.robot
@@ -26,7 +26,7 @@
| Resource | resources/libraries/robot/honeycomb/honeycomb.robot
| Resource | resources/libraries/robot/honeycomb/interfaces.robot
| Resource | resources/libraries/robot/honeycomb/tap.robot
-| Force Tags | honeycomb_sanity | honeycomb_odl
+| Force Tags | HC_FUNC
| Suite Teardown | Run Keyword If Any Tests Failed
| ... | Restart Honeycomb and VPP | ${node}
| Documentation | *Honeycomb TAP management test suite.*
@@ -34,39 +34,39 @@
*** Test Cases ***
| TC01: Honeycomb configures TAP interface
| | [Documentation] | Check if Honeycomb API can configure a TAP interface.
-| | Given TAP configuration from Honeycomb should be empty
+| | Given TAP Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${tap_interface}
-| | And TAP configuration from VAT should be empty
+| | And TAP Operational Data From VAT Should Be empty
| | ... | ${node} | ${tap_interface}
| | When Honeycomb creates TAP interface
| | ... | ${node} | ${tap_interface} | ${tap_settings}
-| | Then TAP configuration from Honeycomb should be
+| | Then TAP Operational Data From Honeycomb Should Be
| | ... | ${node} | ${tap_interface} | ${tap_settings}
-| | And TAP configuration from VAT should be
+| | And TAP Operational Data From VAT Should Be
| | ... | ${node} | ${tap_interface} | ${tap_settings}
| TC02: Honeycomb modifies existing TAP interface configuration
| | [Documentation] | Check if Honeycomb API can re-configure and existing TAP\
| | ... | interface with new settings.
-| | Given TAP configuration from Honeycomb should be
+| | Given TAP Operational Data From Honeycomb Should Be
| | ... | ${node} | ${tap_interface} | ${tap_settings}
-| | And TAP configuration from VAT should be
+| | And TAP Operational Data From VAT Should Be
| | ... | ${node} | ${tap_interface} | ${tap_settings}
| | When Honeycomb configures TAP interface
| | ... | ${node} | ${tap_interface} | ${tap_settings2}
-| | Then TAP configuration from Honeycomb should be
+| | Then TAP Operational Data From Honeycomb Should Be
| | ... | ${node} | ${tap_interface} | ${tap_settings2}
-| | And TAP configuration from VAT should be
+| | And TAP Operational Data From VAT Should Be
| | ... | ${node} | ${tap_interface} | ${tap_settings2}
| TC03: Honeycomb removes TAP interface
| | [Documentation] | Check if Honeycomb API can remove TAP interface.
-| | Given TAP configuration from Honeycomb should be
+| | Given TAP Operational Data From Honeycomb Should Be
| | ... | ${node} | ${tap_interface} | ${tap_settings2}
-| | And TAP configuration from VAT should be
+| | And TAP Operational Data From VAT Should Be
| | ... | ${node} | ${tap_interface} | ${tap_settings2}
| | When Honeycomb removes TAP interface | ${node} | ${tap_interface}
-| | Then TAP configuration from Honeycomb should be empty
+| | Then TAP Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${tap_interface}
-| | And TAP configuration from VAT should be empty
+| | And TAP Operational Data From VAT Should Be empty
| | ... | ${node} | ${tap_interface}
diff --git a/tests/func/honeycomb/mgmt-cfg-intvhost-apihc-apivat-func.robot b/tests/func/honeycomb/mgmt-cfg-intvhost-apihc-apivat-func.robot
index 1e37918753..24e79fa799 100644
--- a/tests/func/honeycomb/mgmt-cfg-intvhost-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-intvhost-apihc-apivat-func.robot
@@ -26,7 +26,7 @@
| Resource | resources/libraries/robot/default.robot
| Resource | resources/libraries/robot/honeycomb/honeycomb.robot
| Resource | resources/libraries/robot/honeycomb/vhost_user.robot
-| Force Tags | honeycomb_sanity | honeycomb_odl
+| Force Tags | HC_FUNC
| Suite Teardown | Run Keyword If Any Tests Failed
| ... | Restart Honeycomb and VPP | ${node}
| Documentation | *Honeycomb vhost-user interface management test suite.*
@@ -36,102 +36,102 @@
| | [Documentation] | Check if Honeycomb creates a vhost-user interface, role:\
| | ... | server.
| | ...
-| | Given vhost-user configuration from Honeycomb should be empty
+| | Given vhost-user Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${vhost_interface}
| | When Honeycomb creates vhost-user interface
| | ... | ${node} | ${vhost_interface} | ${vhost_user_server}
-| | Then vhost-user configuration from Honeycomb should be
+| | Then vhost-user Operational Data From Honeycomb Should Be
| | ... | ${node} | ${vhost_interface} | ${vhost_user_server}
-| | And vhost-user configuration from VAT should be
+| | And vhost-user Operational Data From VAT Should Be
| | ... | ${node} | ${vhost_user_server}
| TC02: Honeycomb modifies vhost-user interface - server
| | [Documentation] | Check if Honeycomb can modify properties of existing\
| | ... | vhost-user interface, role: server.
| | ...
-| | Given vhost-user configuration from Honeycomb should be
+| | Given vhost-user Operational Data From Honeycomb Should Be
| | ... | ${node} | ${vhost_interface} | ${vhost_user_server}
| | When Honeycomb configures vhost-user interface
| | ... | ${node} | ${vhost_interface} | ${vhost_user_server_edit_1}
-| | Then vhost-user configuration from Honeycomb should be
+| | Then vhost-user Operational Data From Honeycomb Should Be
| | ... | ${node} | ${vhost_interface} | ${vhost_user_server_edit_1}
-| | And vhost-user configuration from VAT should be
+| | And vhost-user Operational Data From VAT Should Be
| | ... | ${node} | ${vhost_user_server_edit_1}
| | When Honeycomb configures vhost-user interface
| | ... | ${node} | ${vhost_interface} | ${vhost_user_server_edit_2}
-| | Then vhost-user configuration from Honeycomb should be
+| | Then vhost-user Operational Data From Honeycomb Should Be
| | ... | ${node} | ${vhost_interface} | ${vhost_user_server_edit_2}
-| | And vhost-user configuration from VAT should be
+| | And vhost-user Operational Data From VAT Should Be
| | ... | ${node} | ${vhost_user_server_edit_2}
| | When Honeycomb configures vhost-user interface
| | ... | ${node} | ${vhost_interface} | ${vhost_user_server}
-| | Then vhost-user configuration from Honeycomb should be
+| | Then vhost-user Operational Data From Honeycomb Should Be
| | ... | ${node} | ${vhost_interface} | ${vhost_user_server}
-| | And vhost-user configuration from VAT should be
+| | And vhost-user Operational Data From VAT Should Be
| | ... | ${node} | ${vhost_user_server}
| TC03: Honeycomb deletes vhost-user interface - server
| | [Documentation] | Check if Honeycomb can delete an existing vhost-user\
| | ... | interface, role: server.
| | ...
-| | Given vhost-user configuration from Honeycomb should be
+| | Given vhost-user Operational Data From Honeycomb Should Be
| | ... | ${node} | ${vhost_interface} | ${vhost_user_server}
| | When Honeycomb removes vhost-user interface
| | ... | ${node} | ${vhost_interface}
-| | Then vhost-user configuration from Honeycomb should be empty
+| | Then vhost-user Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${vhost_interface}
-| | And vhost-user configuration from VAT should be empty
+| | And vhost-user Operational Data From VAT Should Be empty
| | ... | ${node}
| TC04: Honeycomb creates vhost-user interface - client
| | [Documentation] | Check if Honeycomb creates a vhost-user interface, role:\
| | ... | client.
| | ...
-| | Given vhost-user configuration from Honeycomb should be empty
+| | Given vhost-user Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${vhost_interface}
| | When Honeycomb creates vhost-user interface
| | ... | ${node} | ${vhost_interface} | ${vhost_user_client}
-| | Then vhost-user configuration from Honeycomb should be
+| | Then vhost-user Operational Data From Honeycomb Should Be
| | ... | ${node} | ${vhost_interface} | ${vhost_user_client}
-| | And vhost-user configuration from VAT should be
+| | And vhost-user Operational Data From VAT Should Be
| | ... | ${node} | ${vhost_user_client}
| TC05: Honeycomb modifies vhost-user interface - client
| | [Documentation] | Check if Honeycomb can modify properties of existing\
| | ... | vhost-user interface, role: client.
| | ...
-| | Given vhost-user configuration from Honeycomb should be
+| | Given vhost-user Operational Data From Honeycomb Should Be
| | ... | ${node} | ${vhost_interface} | ${vhost_user_client}
| | When Honeycomb configures vhost-user interface
| | ... | ${node} | ${vhost_interface} | ${vhost_user_client_edit_1}
-| | Then vhost-user configuration from Honeycomb should be
+| | Then vhost-user Operational Data From Honeycomb Should Be
| | ... | ${node} | ${vhost_interface} | ${vhost_user_client_edit_1}
-| | And vhost-user configuration from VAT should be
+| | And vhost-user Operational Data From VAT Should Be
| | ... | ${node} | ${vhost_user_client_edit_1}
| | When Honeycomb configures vhost-user interface
| | ... | ${node} | ${vhost_interface} | ${vhost_user_client_edit_2}
-| | Then vhost-user configuration from Honeycomb should be
+| | Then vhost-user Operational Data From Honeycomb Should Be
| | ... | ${node} | ${vhost_interface} | ${vhost_user_client_edit_2}
-| | And vhost-user configuration from VAT should be
+| | And vhost-user Operational Data From VAT Should Be
| | ... | ${node} | ${vhost_user_client_edit_2}
| | When Honeycomb configures vhost-user interface
| | ... | ${node} | ${vhost_interface} | ${vhost_user_client}
-| | Then vhost-user configuration from Honeycomb should be
+| | Then vhost-user Operational Data From Honeycomb Should Be
| | ... | ${node} | ${vhost_interface} | ${vhost_user_client}
-| | And vhost-user configuration from VAT should be
+| | And vhost-user Operational Data From VAT Should Be
| | ... | ${node} | ${vhost_user_client}
| TC06: Honeycomb deletes vhost-user interface - client
| | [Documentation] | Check if Honeycomb can delete an existing vhost-user\
| | ... | interface, role: client.
| | ...
-| | Given vhost-user configuration from Honeycomb should be
+| | Given vhost-user Operational Data From Honeycomb Should Be
| | ... | ${node} | ${vhost_interface} | ${vhost_user_client}
| | When Honeycomb removes vhost-user interface
| | ... | ${node} | ${vhost_interface}
-| | Then vhost-user configuration from Honeycomb should be empty
+| | Then vhost-user Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${vhost_interface}
-| | And vhost-user configuration from VAT should be empty
+| | And vhost-user Operational Data From VAT Should Be empty
| | ... | ${node}
| TC07: Honeycomb does not set vhost-user configuration on another interface type
@@ -140,20 +140,20 @@
| | ...
| | When Honeycomb fails setting vhost-user on different interface type
| | ... | ${node} | ${interface} | ${vhost_user_server}
-| | Then vhost-user configuration from Honeycomb should be empty
+| | Then vhost-user Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${interface}
-| | And vhost-user configuration from VAT should be empty
+| | And vhost-user Operational Data From VAT Should Be empty
| | ... | ${node}
| TC08: Honeycomb does not set invalid vhost-user configuration
| | [Documentation] | Check if Honeycomb refuses to set invalid parameters to\
| | ... | vhost-user interface.
| | ...
-| | Given vhost-user configuration from Honeycomb should be empty
+| | Given vhost-user Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${vhost_interface}
| | When Honeycomb fails setting invalid vhost-user configuration
| | ... | ${node} | ${vhost_interface} | ${vhost_user_wrong}
-| | Then vhost-user configuration from Honeycomb should be empty
+| | Then vhost-user Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${vhost_interface}
-| | And vhost-user configuration from VAT should be empty
+| | And vhost-user Operational Data From VAT Should Be empty
| | ... | ${node}
diff --git a/tests/func/honeycomb/mgmt-cfg-l2bd-apihc-apivat-func.robot b/tests/func/honeycomb/mgmt-cfg-l2bd-apihc-apivat-func.robot
index dca6a60303..e8649bd0c7 100644
--- a/tests/func/honeycomb/mgmt-cfg-l2bd-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-l2bd-apihc-apivat-func.robot
@@ -32,7 +32,7 @@
| ... | Run Keyword If Any Tests Failed
| ... | Restart Honeycomb and VPP | ${node}
| ... | AND | Honeycomb removes all bridge domains | ${node} | @{interfaces}
-| Force Tags | honeycomb_sanity | honeycomb_odl
+| Force Tags | HC_FUNC
| Documentation | *Honeycomb bridge domain management test suite.*
*** Test Cases ***
@@ -40,31 +40,31 @@
| | [Documentation] | Check if Honeycomb can create bridge domains on VPP node.
| | When Honeycomb creates first l2 bridge domain
| | ... | ${node} | ${bd1_name} | ${bd_settings}
-| | Then Bridge domain configuration from Honeycomb should be
+| | Then Bridge domain Operational Data From Honeycomb Should Be
| | ... | ${node} | ${bd1_name} | ${bd_settings}
-| | And Bridge domain configuration from VAT should be
+| | And Bridge domain Operational Data From VAT Should Be
| | ... | ${node} | ${0} | ${bd_settings}
| TC02: Honeycomb manages multiple bridge domains on node
| | [Documentation] | Check if Honeycomb can manage multiple bridge domains on\
| | ... | a single node.
-| | Given Bridge domain configuration from Honeycomb should be
+| | Given Bridge domain Operational Data From Honeycomb Should Be
| | ... | ${node} | ${bd1_name} | ${bd_settings}
| | When Honeycomb creates l2 bridge domain
| | ... | ${node} | ${bd2_name} | ${bd_settings}
-| | Then Bridge domain configuration from Honeycomb should be
+| | Then Bridge domain Operational Data From Honeycomb Should Be
| | ... | ${node} | ${bd1_name} | ${bd_settings}
-| | And Bridge domain configuration from Honeycomb should be
+| | And Bridge domain Operational Data From Honeycomb Should Be
| | ... | ${node} | ${bd2_name} | ${bd_settings}
-| | And Bridge domain configuration from VAT should be
+| | And Bridge domain Operational Data From VAT Should Be
| | ... | ${node} | ${0} | ${bd_settings}
-| | And Bridge domain configuration from VAT should be
+| | And Bridge domain Operational Data From VAT Should Be
| | ... | ${node} | ${1} | ${bd_settings}
| TC03: Honeycomb removes bridge domains
| | [Documentation] | Check if Honeycomb can remove bridge domains from a VPP\
| | ... | node.
-| | Given Bridge domain configuration from Honeycomb should be
+| | Given Bridge domain Operational Data From Honeycomb Should Be
| | ... | ${node} | ${bd1_name} | ${bd_settings}
| | When Honeycomb removes all bridge domains | ${node}
| | Then Honeycomb should show no bridge domains | ${node}
@@ -77,9 +77,9 @@
| | ... | ${node} | ${bd1_name} | ${bd_settings}
| | When Honeycomb adds interfaces to bridge domain
| | ... | ${node} | @{interfaces} | ${bd1_name} | ${if_settings}
-| | Then Bridge domain configuration from Honeycomb should be
+| | Then Bridge domain Operational Data From Honeycomb Should Be
| | ... | ${node} | ${bd1_name} | ${bd_settings}
-| | And Bridge domain configuration from VAT should be
+| | And Bridge domain Operational Data From VAT Should Be
| | ... | ${node} | ${0} | ${bd_settings}
| | And Honeycomb should show interfaces assigned to bridge domain
| | ... | ${node} | @{interfaces} | ${bd1_name} | ${if_settings}
@@ -89,9 +89,9 @@
| TC05: Honeycomb cannot remove bridge domain with an interface assigned
| | [Documentation] | Check if Honeycomb can remove a bridge domain that has an\
| | ... | interface assigned to it. Expect to fail with code 500.
-| | Given Bridge domain configuration from Honeycomb should be
+| | Given Bridge domain Operational Data From Honeycomb Should Be
| | ... | ${node} | ${bd1_name} | ${bd_settings}
-| | And Bridge domain configuration from VAT should be
+| | And Bridge domain Operational Data From VAT Should Be
| | ... | ${node} | ${0} | ${bd_settings}
| | And Honeycomb should show interfaces assigned to bridge domain
| | ... | ${node} | @{interfaces} | ${bd1_name} | ${if_settings}
@@ -99,9 +99,9 @@
| | ... | ${node} | ${0} | @{interfaces} | ${if_settings}
| | When Run keyword and expect error | HoneycombError* Status code: 500.
| | ... | Honeycomb removes all bridge domains | ${node}
-| | Then Bridge domain configuration from Honeycomb should be
+| | Then Bridge domain Operational Data From Honeycomb Should Be
| | ... | ${node} | ${bd1_name} | ${bd_settings}
-| | And Bridge domain configuration from VAT should be
+| | And Bridge domain Operational Data From VAT Should Be
| | ... | ${node} | ${0} | ${bd_settings}
| | And Honeycomb should show interfaces assigned to bridge domain
| | ... | ${node} | @{interfaces} | ${bd1_name} | ${if_settings}
diff --git a/tests/func/honeycomb/mgmt-cfg-l2fib-apihc-apivat-func.robot b/tests/func/honeycomb/mgmt-cfg-l2fib-apihc-apivat-func.robot
index ef6a50ca4a..76683a70db 100644
--- a/tests/func/honeycomb/mgmt-cfg-l2fib-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-l2fib-apihc-apivat-func.robot
@@ -28,7 +28,7 @@
| ... | AND
| ... | Honeycomb removes all bridge domains
| ... | ${node} | ${interface} | ${interface2}
-| Force tags | honeycomb_sanity | honeycomb_odl
+| Force tags | HC_FUNC
*** Variables ***
# Interface to run tests on.
@@ -52,13 +52,13 @@
| | ... | ${node} | ${interface} | up
| | When Honeycomb creates first l2 bridge domain
| | ... | ${node} | ${bd_name} | ${bd_settings}
-| | Then Bridge domain configuration from Honeycomb should be
+| | Then Bridge domain Operational Data From Honeycomb Should Be
| | ... | ${node} | ${bd_name} | ${bd_settings}
-| | Given Bridge domain configuration in interface operational data should be empty
+| | Given Bridge domain Operational Interface Assignment should be empty
| | ... | ${node} | ${interface}
| | When Honeycomb adds interface to bridge domain
| | ... | ${node} | ${interface} | ${bd_name} | ${if_bd_settings}
-| | Then Bridge domain configuration in interface operational data should be
+| | Then Bridge domain Operational Interface Assignment should be
| | ... | ${node} | ${interface} | ${if_bd_settings}
| | Given L2 FIB Table from Honeycomb should be empty
| | ... | ${node} | ${bd_name}
@@ -78,7 +78,7 @@
| | [Teardown] | Honeycomb removes L2 FIB entry
| | ... | ${node} | ${bd_name} | ${l2_fib_static_forward_oper['phys-address']}
| | ...
-| | Given Bridge domain configuration in interface operational data should be
+| | Given Bridge domain Operational Interface Assignment should be
| | ... | ${node} | ${interface} | ${if_bd_settings}
| | And L2 FIB Table from Honeycomb should be empty
| | ... | ${node} | ${bd_name}
@@ -98,7 +98,7 @@
| | [Teardown] | Honeycomb removes L2 FIB entry
| | ... | ${node} | ${bd_name} | ${l2_fib_filter_oper['phys-address']}
| | ...
-| | Given Bridge domain configuration in interface operational data should be
+| | Given Bridge domain Operational Interface Assignment should be
| | ... | ${node} | ${interface} | ${if_bd_settings}
| | And L2 FIB Table from Honeycomb should be empty
| | ... | ${node} | ${bd_name}
@@ -118,7 +118,7 @@
| | [Teardown] | Honeycomb removes L2 FIB entry
| | ... | ${node} | ${bd_name} | ${l2_fib_forward_oper['phys-address']}
| | ...
-| | Given Bridge domain configuration in interface operational data should be
+| | Given Bridge domain Operational Interface Assignment should be
| | ... | ${node} | ${interface} | ${if_bd_settings}
| | And L2 FIB Table from Honeycomb should be empty
| | ... | ${node} | ${bd_name}
@@ -143,7 +143,7 @@
| | [Teardown] | Honeycomb removes all L2 FIB entries
| | ... | ${node} | ${bd_name}
| | ...
-| | Given Bridge domain configuration in interface operational data should be
+| | Given Bridge domain Operational Interface Assignment should be
| | ... | ${node} | ${interface} | ${if_bd_settings}
| | And L2 FIB Table from Honeycomb should be empty
| | ... | ${node} | ${bd_name}
@@ -175,7 +175,7 @@
| | [Teardown] | Honeycomb removes all L2 FIB entries
| | ... | ${node} | ${bd_name}
| | ...
-| | Given Bridge domain configuration in interface operational data should be
+| | Given Bridge domain Operational Interface Assignment should be
| | ... | ${node} | ${interface} | ${if_bd_settings}
| | And L2 FIB Table from Honeycomb should be empty
| | ... | ${node} | ${bd_name}
@@ -207,7 +207,7 @@
| | [Teardown] | Honeycomb removes all L2 FIB entries
| | ... | ${node} | ${bd_name}
| | ...
-| | Given Bridge domain configuration in interface operational data should be
+| | Given Bridge domain Operational Interface Assignment should be
| | ... | ${node} | ${interface} | ${if_bd_settings}
| | And L2 FIB Table from Honeycomb should be empty
| | ... | ${node} | ${bd_name}
diff --git a/tests/func/honeycomb/mgmt-cfg-lisp-apihc-apivat-func.robot b/tests/func/honeycomb/mgmt-cfg-lisp-apihc-apivat-func.robot
index 087720b0c6..174a145a52 100644
--- a/tests/func/honeycomb/mgmt-cfg-lisp-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-lisp-apihc-apivat-func.robot
@@ -30,7 +30,7 @@
| Documentation | *Honeycomb Lisp test suite.*
| Suite Teardown | Run Keyword If Any Tests Failed
| ... | Restart Honeycomb and VPP | ${node}
-| Force Tags | honeycomb_sanity | honeycomb_odl
+| Force Tags | HC_FUNC
*** Test Cases ***
| TC01: Honeycomb enables Lisp feature
diff --git a/tests/func/honeycomb/mgmt-cfg-nsh-apihc-apivat-func.robot b/tests/func/honeycomb/mgmt-cfg-nsh-apihc-apivat-func.robot
index 3f4b08795a..068fbcf8a3 100644
--- a/tests/func/honeycomb/mgmt-cfg-nsh-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-nsh-apihc-apivat-func.robot
@@ -30,7 +30,7 @@
*** Test Cases ***
| TC01: Honeycomb can configure NSH entry
| | [Documentation] | Check if Honeycomb can configure an NSH entry.
-| | Given NSH configuration from Honeycomb should be empty | ${node}
+| | Given NSH Operational Data From Honeycomb Should Be empty | ${node}
| | When Honeycomb adds NSH entry | ${node} | entry1 | ${nsh_entry1}
| | Then NSH entry from Honeycomb should be
| | ... | ${node} | entry1 | ${nsh_entry1_oper}
@@ -40,13 +40,13 @@
| | Given NSH entry from Honeycomb should be
| | ... | ${node} | entry1 | ${nsh_entry1_oper}
| | When Honeycomb removes NSH entry | ${node} | entry1
-| | Then NSH configuration from Honeycomb should be empty | ${node}
+| | Then NSH Operational Data From Honeycomb Should Be empty | ${node}
| TC03: Honeycomb can configure new NSH entry
| | [Documentation] | Check if Honeycomb can configure an NSH antry after one\
| | ... | has been deleted.
| | [Teardown] | Honeycomb removes NSH entry | ${node} | entry2
-| | Given NSH configuration from Honeycomb should be empty | ${node}
+| | Given NSH Operational Data From Honeycomb Should Be empty | ${node}
| | When Honeycomb adds NSH entry | ${node} | entry2 | ${nsh_entry2}
| | Then NSH entry from Honeycomb should be
| | ... | ${node} | entry2 | ${nsh_entry2_oper}
@@ -55,7 +55,7 @@
| | [Documentation] | Check if Honeycomb can configure an NSH entry when one\
| | ... | already exists.
| | [Teardown] | Honeycomb clears NSH configuration | ${node}
-| | Given NSH configuration from Honeycomb should be empty | ${node}
+| | Given NSH Operational Data From Honeycomb Should Be empty | ${node}
| | When Honeycomb adds NSH entry | ${node} | entry1 | ${nsh_entry1}
| | And Honeycomb adds NSH entry | ${node} | entry2 | ${nsh_entry2}
| | Then NSH entry from Honeycomb should be
@@ -65,7 +65,7 @@
| TC05: Honeycomb can configure NSH map
| | [Documentation] | Check if Honeycomb can configure an NSH map.
-| | Given NSH configuration from Honeycomb should be empty | ${node}
+| | Given NSH Operational Data From Honeycomb Should Be empty | ${node}
| | And Honeycomb creates VxLAN GPE interface
| | ... | ${node} | ${vxlan_gpe_if1}
| | ... | ${vxlan_gpe_base_settings1} | ${vxlan_gpe_settings1}
@@ -77,7 +77,7 @@
| | [Documentation] | Check if Honeycomb can remove an existing NSH map.
| | Given NSH entry from Honeycomb should be
| | ... | ${node} | entry1 | ${nsh_entry1_oper}
-| | And VxLAN GPE configuration from Honeycomb should be
+| | And VxLAN GPE Operational Data From Honeycomb Should Be
| | ... | ${node} | ${vxlan_gpe_if1}
| | ... | ${vxlan_gpe_base_settings1} | ${vxlan_gpe_settings1}
| | And NSH map from Honeycomb should be | ${node} | map1 | ${nsh_map1_oper}
@@ -93,7 +93,7 @@
| | Given NSH map from Honeycomb should not exist | ${node} | map1_edit
| | And NSH entry from Honeycomb should be
| | ... | ${node} | entry1 | ${nsh_entry1_oper}
-| | And VxLAN GPE configuration from Honeycomb should be
+| | And VxLAN GPE Operational Data From Honeycomb Should Be
| | ... | ${node} | ${vxlan_gpe_if1}
| | ... | ${vxlan_gpe_base_settings1} | ${vxlan_gpe_settings1}
| | When Honeycomb adds NSH map | ${node} | map1_edit | ${nsh_map1_edit}
@@ -114,7 +114,7 @@
| | Given NSH map from Honeycomb should not exist | ${node} | map2
| | And NSH entry from Honeycomb should be
| | ... | ${node} | entry1 | ${nsh_entry1_oper}
-| | And VxLAN GPE configuration from Honeycomb should be
+| | And VxLAN GPE Operational Data From Honeycomb Should Be
| | ... | ${node} | ${vxlan_gpe_if1}
| | ... | ${vxlan_gpe_base_settings1} | ${vxlan_gpe_settings1}
| | And Honeycomb creates VxLAN GPE interface
diff --git a/tests/func/honeycomb/mgmt-cfg-pbb-apihc-apivat-func.robot b/tests/func/honeycomb/mgmt-cfg-pbb-apihc-apivat-func.robot
index e4353e8e45..4d7c8a21ef 100644
--- a/tests/func/honeycomb/mgmt-cfg-pbb-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-pbb-apihc-apivat-func.robot
@@ -22,7 +22,7 @@
| Documentation | *Honeycomb provider backbone bridge test suite.*
| Suite Teardown | Run Keyword If Any Tests Failed
| ... | Restart Honeycomb and VPP | ${node}
-| Force Tags | honeycomb_sanity | honeycomb_odl
+| Force Tags | HC_FUNC
*** Test Cases ***
# TODO: add verifications once operational data or VPP dump is available.
diff --git a/tests/func/honeycomb/mgmt-cfg-pluginacl-apihc-apivat-func.robot b/tests/func/honeycomb/mgmt-cfg-pluginacl-apihc-apivat-func.robot
index cecd1c2846..abdd94ceb3 100644
--- a/tests/func/honeycomb/mgmt-cfg-pluginacl-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-pluginacl-apihc-apivat-func.robot
@@ -46,7 +46,7 @@
| Suite Teardown
| ... | Restart Honeycomb and VPP | ${node}
| Documentation | *Honeycomb access control lists test suite for ACL plugin.*
-| Force Tags | honeycomb_sanity | honeycomb_odl
+| Force Tags | HC_FUNC
*** Test Cases ***
| TC01: ACL MAC filtering through plugin-acl node - bridged
diff --git a/tests/func/honeycomb/mgmt-cfg-policer-apihc-func.robot b/tests/func/honeycomb/mgmt-cfg-policer-apihc-func.robot
index f7d8e9912b..2884f7c628 100644
--- a/tests/func/honeycomb/mgmt-cfg-policer-apihc-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-policer-apihc-func.robot
@@ -32,40 +32,40 @@
| Suite Teardown
| ... | Run Keyword If Any Tests Failed
| ... | Restart Honeycomb and VPP | ${node}
-| Force Tags | honeycomb_sanity | honeycomb_odl
+| Force Tags | HC_FUNC
| Documentation | *Honeycomb Policer management test suite.*
*** Test Cases ***
| TC01: Honeycomb can configure Policer
| | [Documentation] | Checks if Honeycomb can configure Policer.
-| | Given Policer configuration from Honeycomb should be empty | ${node}
+| | Given Policer Operational Data From Honeycomb Should Be empty | ${node}
| | When Honeycomb configures Policer | ${node} | ${policer_data}
-| | Then Policer configuration from Honeycomb should be | ${node}
+| | Then Policer Operational Data From Honeycomb Should Be | ${node}
| | ... | ${policer_data_oper}
| TC02: Honeycomb can disable Policer
| | [Documentation] | Checks if Honeycomb can disable Policer.
-| | Given Policer configuration from Honeycomb should be | ${node}
+| | Given Policer Operational Data From Honeycomb Should Be | ${node}
| | ... | ${policer_data_oper}
| | When Honeycomb removes Policer configuration | ${node}
-| | Then Policer configuration from Honeycomb should be empty | ${node}
+| | Then Policer Operational Data From Honeycomb Should Be empty | ${node}
| TC03: Honeycomb can configure Policer with increased values of CIR (900kbps)
| | [Documentation] | Checks if Honeycomb can configure Policer\
| | ... | with increased values of CIR.
| | [Teardown] | Policer test teardown | ${node}
-| | Given Policer configuration from Honeycomb should be empty | ${node}
+| | Given Policer Operational Data From Honeycomb Should Be empty | ${node}
| | When Honeycomb configures Policer | ${node} | ${policer_data_2}
-| | Then Policer configuration from Honeycomb should be | ${node}
+| | Then Policer Operational Data From Honeycomb Should Be | ${node}
| | ... | ${policer_data_oper_2}
| TC04: Honeycomb can configure Packets-Per-Second Based Policer
| | [Documentation] | Checks if Honeycomb can configure Policer\
| | ... | based on rate-type measured in pps.
| | [Teardown] | Policer test teardown | ${node}
-| | Given Policer configuration from Honeycomb should be empty | ${node}
+| | Given Policer Operational Data From Honeycomb Should Be empty | ${node}
| | When Honeycomb configures Policer | ${node} | ${policer_data_3}
-| | Then Policer configuration from Honeycomb should be | ${node}
+| | Then Policer Operational Data From Honeycomb Should Be | ${node}
| | ... | ${policer_data_oper_3}
| TC05: Configure Policer on Interface
diff --git a/tests/func/honeycomb/mgmt-cfg-proxyarp-apihc-func.robot b/tests/func/honeycomb/mgmt-cfg-proxyarp-apihc-func.robot
index 9263ebbc2a..c6ad942170 100644
--- a/tests/func/honeycomb/mgmt-cfg-proxyarp-apihc-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-proxyarp-apihc-func.robot
@@ -33,7 +33,7 @@
| Suite Teardown
| ... | Run Keyword If Any Tests Failed
| ... | Restart Honeycomb And VPP | ${node}
-| Force Tags | honeycomb_sanity | honeycomb_odl
+| Force Tags | HC_FUNC
| Documentation | *Honeycomb proxyARP management test suite.*
*** Test Cases ***
diff --git a/tests/func/honeycomb/mgmt-cfg-proxynd6-apihc-func.robot b/tests/func/honeycomb/mgmt-cfg-proxynd6-apihc-func.robot
index 423c7885ec..c934b06a84 100644
--- a/tests/func/honeycomb/mgmt-cfg-proxynd6-apihc-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-proxynd6-apihc-func.robot
@@ -36,7 +36,7 @@
| Library | resources.libraries.python.Trace
| Test Setup | Clear Packet Trace on All DUTs | ${nodes}
| Suite Teardown | Restart Honeycomb And VPP | ${node}
-| Force Tags | honeycomb_sanity | honeycomb_odl
+| Force Tags | HC_FUNC
| Documentation | *Honeycomb IPv6 neighbor discovery proxy test suite.*
*** Test Cases ***
diff --git a/tests/func/honeycomb/mgmt-cfg-routing-apihc-apivat-func.robot b/tests/func/honeycomb/mgmt-cfg-routing-apihc-apivat-func.robot
index 93c842010b..a722adaa7b 100644
--- a/tests/func/honeycomb/mgmt-cfg-routing-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-routing-apihc-apivat-func.robot
@@ -26,7 +26,7 @@
| Test Teardown | Honeycomb routing test teardown
| ... | ${node} | ${table}
| Documentation | *Honeycomb routing test suite.*
-| Force Tags | Honeycomb_sanity | honeycomb_odl
+| Force Tags | HC_FUNC
*** Test Cases ***
| TC01: Single hop IPv4 route
diff --git a/tests/func/honeycomb/mgmt-cfg-slaac-apihc-func.robot b/tests/func/honeycomb/mgmt-cfg-slaac-apihc-func.robot
index 8d85eb2a45..3325a0f9bd 100644
--- a/tests/func/honeycomb/mgmt-cfg-slaac-apihc-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-slaac-apihc-func.robot
@@ -25,79 +25,79 @@
| Suite Teardown
| ... | Run Keyword If Any Tests Failed
| ... | Restart Honeycomb and VPP | ${node}
-| Force Tags | honeycomb_sanity | honeycomb_odl
+| Force Tags | HC_FUNC
| Documentation | *Honeycomb SLAAC management test suite.*
| Variables | resources/test_data/honeycomb/slaac_variables.py
*** Test Cases ***
| TC01: Honeycomb can configure SLAAC
| | [Documentation] | Checks if Honeycomb can congigure SLAAC.
-| | Given SLAAC configuration from Honeycomb should be empty | ${node}
+| | Given SLAAC Operational Data From Honeycomb Should Be empty | ${node}
| | ... | ${interface}
| | And InterfaceAPI.Set Interface State | ${node} | ${interface} | up
| | And Honeycomb sets interface ipv6 address | ${node} | ${interface}
| | ... | ${address} | ${prefix}
| | When Honeycomb configures SLAAC | ${node} | ${interface} | ${slaac_data}
-| | Then SLAAC configuration from Honeycomb should be | ${node}
+| | Then SLAAC Operational Data From Honeycomb Should Be | ${node}
| | ... | ${interface} | ${slaac_data}
| TC02: Honeycomb can disable SLAAC
| | [Documentation] | Checks if Honeycomb can disable SLAAC.
-| | Given SLAAC configuration from Honeycomb should be | ${node}
+| | Given SLAAC Operational Data From Honeycomb Should Be | ${node}
| | ... | ${interface} | ${slaac_data}
| | When Honeycomb removes SLAAC configuration | ${node} | ${interface}
-| | Then SLAAC configuration from Honeycomb should be empty | ${node}
+| | Then SLAAC Operational Data From Honeycomb Should Be empty | ${node}
| | ... | ${interface}
| TC03: Honeycomb can configure SLAAC with suppress link layer disabled
| | [Documentation] | Checks if Honeycomb can congigure SLAAC.
| | [Teardown] | SLAAC test teardown | ${node} | ${interface}
-| | Given SLAAC configuration from Honeycomb should be empty | ${node}
+| | Given SLAAC Operational Data From Honeycomb Should Be empty | ${node}
| | ... | ${interface}
| | And InterfaceAPI.Set Interface State | ${node} | ${interface} | up
| | And Honeycomb sets interface ipv6 address | ${node} | ${interface}
| | ... | ${address} | ${prefix}
| | When Honeycomb configures SLAAC | ${node} | ${interface} | ${slaac_data}
-| | Then SLAAC configuration from Honeycomb should be | ${node}
+| | Then SLAAC Operational Data From Honeycomb Should Be | ${node}
| | ... | ${interface} | ${slaac_data}
| TC04: Honeycomb can configure SLAAC with sending RA packets disabled
| | [Documentation] | Checks if Honeycomb can configure SLAAC\
| | ... | with given settings.
| | [Teardown] | SLAAC test teardown | ${node} | ${interface}
-| | Given SLAAC configuration from Honeycomb should be empty | ${node}
+| | Given SLAAC Operational Data From Honeycomb Should Be empty | ${node}
| | ... | ${interface}
| | And InterfaceAPI.Set Interface State | ${node} | ${interface} | up
| | And Honeycomb sets interface ipv6 address | ${node} | ${interface}
| | ... | ${address} | ${prefix}
| | When Honeycomb configures SLAAC | ${node} | ${interface} | ${slaac_data_01}
-| | Then SLAAC configuration from Honeycomb should be | ${node} | ${interface}
+| | Then SLAAC Operational Data From Honeycomb Should Be | ${node} | ${interface}
| | ... | ${slaac_data_01}
| TC05: Honeycomb can configure SLAAC with min interval values
| | [Documentation] | Checks if Honeycomb can configure SLAAC\
| | ... | with given settings.
| | [Teardown] | SLAAC test teardown | ${node} | ${interface}
-| | Given SLAAC configuration from Honeycomb should be empty | ${node}
+| | Given SLAAC Operational Data From Honeycomb Should Be empty | ${node}
| | ... | ${interface}
| | And InterfaceAPI.Set Interface State | ${node} | ${interface} | up
| | And Honeycomb sets interface ipv6 address | ${node} | ${interface}
| | ... | ${address} | ${prefix}
| | When Honeycomb configures SLAAC | ${node} | ${interface} | ${slaac_data_02}
-| | Then SLAAC configuration from Honeycomb should be | ${node} | ${interface}
+| | Then SLAAC Operational Data From Honeycomb Should Be | ${node} | ${interface}
| | ... | ${slaac_data_02}
| TC06: Honeycomb can configure SLAAC with max interval values
| | [Documentation] | Checks if Honeycomb can configure SLAAC\
| | ... | with given settings.
| | [Teardown] | SLAAC test teardown | ${node} | ${interface}
-| | Given SLAAC configuration from Honeycomb should be empty | ${node}
+| | Given SLAAC Operational Data From Honeycomb Should Be empty | ${node}
| | ... | ${interface}
| | And InterfaceAPI.Set Interface State | ${node} | ${interface} | up
| | And Honeycomb sets interface ipv6 address | ${node} | ${interface}
| | ... | ${address} | ${prefix}
| | When Honeycomb configures SLAAC | ${node} | ${interface} | ${slaac_data_03}
-| | Then SLAAC configuration from Honeycomb should be | ${node} | ${interface}
+| | Then SLAAC Operational Data From Honeycomb Should Be | ${node} | ${interface}
| | ... | ${slaac_data_03}
| TC07: DUT retransmits RA on IPv6 enabled interface after a set interval
diff --git a/tests/func/honeycomb/mgmt-cfg-snat44-apihc-apivat-func.robot b/tests/func/honeycomb/mgmt-cfg-snat44-apihc-apivat-func.robot
index c4e929574f..d765f1e4e9 100644
--- a/tests/func/honeycomb/mgmt-cfg-snat44-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-snat44-apihc-apivat-func.robot
@@ -22,12 +22,12 @@
| Documentation | *Honeycomb NAT test suite.*
| Suite Teardown | Run Keyword If Any Tests Failed
| ... | Restart Honeycomb and VPP | ${node}
-| Force Tags | honeycomb_sanity | honeycomb_odl
+| Force Tags | HC_FUNC
*** Test Cases ***
| TC01: Honeycomb configures NAT entry
| | [Documentation] | Honeycomb configures a static NAT entry.
-| | Given NAT configuration from Honeycomb should be empty
+| | Given NAT Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${nat_empty}
| | When Honeycomb Configures NAT Entry | ${node} | ${entry1}
| | Then NAT Entries From Honeycomb Should Be | ${node} | ${entry1}
@@ -36,13 +36,13 @@
| | [Documentation] | Honeycomb removes a configured static NAT entry.
| | Given NAT Entries From Honeycomb Should Be | ${node} | ${entry1}
| | When Honeycomb Configures NAT Entry | ${node} | ${NONE}
-| | Then NAT configuration from Honeycomb should be empty
+| | Then NAT Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${nat_empty}
| TC03: Honeycomb configures multiple NAT entries
| | [Documentation] | Honeycomb configures two static NAT entries.
| | [Teardown] | Honeycomb Configures NAT Entry | ${node} | ${NONE}
-| | Given NAT configuration from Honeycomb should be empty
+| | Given NAT Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${nat_empty}
| | When Honeycomb Configures NAT Entry | ${node} | ${entry1} | ${0} | ${1}
| | And Honeycomb Configures NAT Entry | ${node} | ${entry2} | ${0} | ${2}
@@ -52,28 +52,28 @@
| TC04: Honeycomb enables NAT on interface - inbound
| | [Documentation] | Honeycomb configures NAT on an interface\
| | ... | in inbound direction.
-| | Given NAT Interface Configuration From Honeycomb Should Be Empty
+| | Given NAT Interface Operational Data From Honeycomb Should Be Empty
| | ... | ${node} | ${interface} | inbound
-| | And NAT Interface Configuration From Honeycomb Should Be Empty
+| | And NAT Interface Operational Data From Honeycomb Should Be Empty
| | ... | ${node} | ${interface} | outbound
| | When Honeycomb Configures NAT On Interface
| | ... | ${node} | ${interface} | inbound
-| | Then NAT Interface Configuration From Honeycomb Should Be
+| | Then NAT Interface Operational Data From Honeycomb Should Be
| | ... | ${node} | ${interface} | inbound
-| | And NAT Interface Configuration From Honeycomb Should be empty
+| | And NAT Interface Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${interface} | outbound
| TC05: Honeycomb removes NAT interface configuration
| | [Documentation] | Honeycomb removes NAT configuration from an interface.
-| | Given NAT Interface Configuration From Honeycomb Should Be
+| | Given NAT Interface Operational Data From Honeycomb Should Be
| | ... | ${node} | ${interface} | inbound
-| | And NAT Interface Configuration From Honeycomb Should Be empty
+| | And NAT Interface Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${interface} | outbound
| | When Honeycomb removes NAT interface configuration
| | ... | ${node} | ${interface} | inbound
-| | Then NAT Interface Configuration From Honeycomb Should Be empty
+| | Then NAT Interface Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${interface} | inbound
-| | And NAT Interface Configuration From Honeycomb Should Be empty
+| | And NAT Interface Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${interface} | outbound
| TC06: Honeycomb enables NAT on interface - outbound
@@ -81,13 +81,13 @@
| | ... | in outbound direction.
| | [Teardown] | Honeycomb removes NAT interface configuration
| | ... | ${node} | ${interface} | outbound
-| | Given NAT Interface Configuration From Honeycomb Should Be empty
+| | Given NAT Interface Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${interface} | inbound
-| | And NAT Interface Configuration From Honeycomb Should Be empty
+| | And NAT Interface Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${interface} | outbound
| | When Honeycomb Configures NAT on Interface
| | ... | ${node} | ${interface} | outbound
-| | Then NAT Interface Configuration From Honeycomb Should Be empty
+| | Then NAT Interface Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${interface} | inbound
-| | And NAT Interface Configuration From Honeycomb Should Be
+| | And NAT Interface Operational Data From Honeycomb Should Be
| | ... | ${node} | ${interface} | outbound
diff --git a/tests/func/honeycomb/mgmt-cfg-spanrx-apihc-apivat-func.robot b/tests/func/honeycomb/mgmt-cfg-spanrx-apihc-apivat-func.robot
index cf1f4b880f..74c56eb564 100644
--- a/tests/func/honeycomb/mgmt-cfg-spanrx-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-spanrx-apihc-apivat-func.robot
@@ -21,7 +21,7 @@
| Variables | resources/test_data/honeycomb/spanrx-apihc-apivat.py
| ... | ${node} | ${node['interfaces']['port1']['name']}
| ... | ${node['interfaces']['port3']['name']} | local0
-| Force Tags | honeycomb_sanity
+| Force Tags | HC_FUNC
| Suite Setup | Add Interface local0 To Topology | ${node}
| Suite Teardown | Restart Honeycomb and VPP | ${node}
| Documentation | *Honeycomb port mirroring test suite.*
@@ -33,7 +33,7 @@
| | ...
| | When Honeycomb Configures SPAN on interface
| | ... | ${node} | ${interface1} | ${settings_1}
-| | Then Interface SPAN configuration from Honeycomb should be
+| | Then Interface SPAN Operational Data From Honeycomb Should Be
| | ... | ${node} | ${interface1} | ${settings_1}
| TC02: Honeycomb can configure SPAN on an interface transmit
@@ -42,7 +42,7 @@
| | ...
| | When Honeycomb Configures SPAN on interface
| | ... | ${node} | ${interface1} | ${settings_2}
-| | Then Interface SPAN configuration from Honeycomb should be
+| | Then Interface SPAN Operational Data From Honeycomb Should Be
| | ... | ${node} | ${interface1} | ${settings_2}
| TC03: Honeycomb can configure SPAN on an interface both
@@ -51,7 +51,7 @@
| | ...
| | When Honeycomb Configures SPAN on interface
| | ... | ${node} | ${interface1} | ${settings_3}
-| | Then Interface SPAN configuration from Honeycomb should be
+| | Then Interface SPAN Operational Data From Honeycomb Should Be
| | ... | ${node} | ${interface1} | ${settings_3}
| TC04: Honeycomb can configure SPAN on two interfaces
@@ -60,18 +60,18 @@
| | ...
| | When Honeycomb Configures SPAN on interface
| | ... | ${node} | ${interface1} | ${settings_2} | ${settings_4}
-| | Then Interface SPAN configuration from Honeycomb should be
+| | Then Interface SPAN Operational Data From Honeycomb Should Be
| | ... | ${node} | ${interface1} | ${settings_2} | ${settings_4}
| TC05: Honeycomb can disable SPAN on interface
| | [Documentation] | Honeycomb removes existing SPAN configuration
| | ... | on interface.
| | ...
-| | Given Interface SPAN configuration from Honeycomb should be
+| | Given Interface SPAN Operational Data From Honeycomb Should Be
| | ... | ${node} | ${interface1} | ${settings_2} | ${settings_4}
| | When Honeycomb removes interface SPAN configuration
| | ... | ${node} | ${interface1}
-| | Then Interface SPAN configuration from Honeycomb should be empty
+| | Then Interface SPAN Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${interface1}
| TC06: DUT mirrors IPv4 packets from one interface to another
diff --git a/tests/func/honeycomb/mgmt-cfg-vxlan-apihc-apivat-func.robot b/tests/func/honeycomb/mgmt-cfg-vxlan-apihc-apivat-func.robot
index f4cec2712d..339fdb8972 100644
--- a/tests/func/honeycomb/mgmt-cfg-vxlan-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-vxlan-apihc-apivat-func.robot
@@ -32,7 +32,7 @@
| Resource | resources/libraries/robot/honeycomb/vxlan.robot
# import additional VxLAN settings from resource file
| Variables | resources/test_data/honeycomb/vxlan.py
-| Force Tags | honeycomb_sanity | honeycomb_odl
+| Force Tags | HC_FUNC
| Suite Teardown | Run Keyword If Any Tests Failed
| ... | Restart Honeycomb and VPP | ${node}
| Documentation | *Honeycomb VxLAN management test suite.*
@@ -40,14 +40,14 @@
*** Test Cases ***
| TC01: Honeycomb configures VxLAN tunnel
| | [Documentation] | Check if Honeycomb API can configure VxLAN settings.
-| | Given VxLAN configuration from Honeycomb should be empty
+| | Given VxLAN Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${vx_interface}
-| | And VxLAN configuration from VAT should be empty | ${node}
+| | And VxLAN Operational Data From VAT Should Be empty | ${node}
| | When Honeycomb sets interface VxLAN configuration
| | ... | ${node} | ${vx_interface} | ${vxlan_settings}
-| | Then VxLAN configuration from Honeycomb should be
+| | Then VxLAN Operational Data From Honeycomb Should Be
| | ... | ${node} | ${vx_interface} | ${vxlan_settings}
-| | And VxLAN configuration from VAT should be
+| | And VxLAN Operational Data From VAT Should Be
| | ... | ${node} | ${vxlan_settings}
| | ${vxlan_index}= | Get Interface index from oper data
| | ... | ${node} | ${vx_interface}
@@ -55,60 +55,60 @@
| TC02: Honeycomb disables VxLAN tunnel
| | [Documentation] | Check if Honeycomb API can reset VxLAN configuration.
-| | Given VxLAN configuration from Honeycomb should be
+| | Given VxLAN Operational Data From Honeycomb Should Be
| | ... | ${node} | ${vx_interface} | ${vxlan_settings}
| | And Honeycomb should not show disabled interface in oper data
| | ... | ${node} | ${vxlan_index}
-| | And VxLAN configuration from VAT should be
+| | And VxLAN Operational Data From VAT Should Be
| | ... | ${node} | ${vxlan_settings}
| | When Honeycomb removes VxLAN tunnel settings | ${node} | ${vx_interface}
-| | Then VxLAN configuration from Honeycomb should be empty
+| | Then VxLAN Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${vx_interface}
| | And Honeycomb should show disabled interface in oper data
| | ... | ${node} | ${vxlan_index}
-| | And VxLAN configuration from VAT should be empty | ${node}
+| | And VxLAN Operational Data From VAT Should Be empty | ${node}
| TC03: Honeycomb can configure VXLAN tunnel after one has been disabled
| | [Documentation] | Check if Honeycomb API can configure VxLAN settings again\
| | ... | after previous settings have been removed.
| | [Teardown] | Honeycomb removes VxLAN tunnel settings
| | ... | ${node} | ${vx_interface}
-| | Given VxLAN configuration from Honeycomb should be empty
+| | Given VxLAN Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${vx_interface}
| | And Honeycomb should show disabled interface in oper data
| | ... | ${node} | ${vxlan_index}
-| | And VxLAN configuration from VAT should be empty | ${node}
+| | And VxLAN Operational Data From VAT Should Be empty | ${node}
| | When Honeycomb sets interface VxLAN configuration
| | ... | ${node} | ${vx_interface} | ${vxlan_settings2}
-| | Then VxLAN configuration from Honeycomb should be
+| | Then VxLAN Operational Data From Honeycomb Should Be
| | ... | ${node} | ${vx_interface} | ${vxlan_settings2}
| | And Honeycomb should not show disabled interface in oper data
| | ... | ${node} | ${vxlan_index}
-| | And VxLAN configuration from VAT should be
+| | And VxLAN Operational Data From VAT Should Be
| | ... | ${node} | ${vxlan_settings2}
| TC04: Honeycomb does not set VxLAN configuration on another interface type
| | [Documentation] | Check if Honeycomb API prevents setting VxLAN\
| | ... | on incorrect interface.
-| | Given VxLAN configuration from Honeycomb should be empty
+| | Given VxLAN Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${interface}
-| | And VxLAN configuration from VAT should be empty | ${node}
+| | And VxLAN Operational Data From VAT Should Be empty | ${node}
| | When Honeycomb fails setting VxLan on different interface type
| | ... | ${node} | ${interface} | ${vxlan_settings2}
-| | Then VxLAN configuration from Honeycomb should be empty
+| | Then VxLAN Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${interface}
-| | And VxLAN configuration from VAT should be empty
+| | And VxLAN Operational Data From VAT Should Be empty
| | ... | ${node}
| TC05: Honeycomb does not set invalid VxLAN configuration
| | [Documentation] | Check if Honeycomb API prevents setting incorrect VxLAN\
| | ... | settings.
-| | Given VxLAN configuration from Honeycomb should be empty
+| | Given VxLAN Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${vx_interface}
-| | And VxLAN configuration from VAT should be empty | ${node}
+| | And VxLAN Operational Data From VAT Should Be empty | ${node}
| | When Honeycomb fails setting invalid VxLAN configuration
| | ... | ${node} | ${vx_interface} | ${vxlan_invalid}
-| | Then VxLAN configuration from Honeycomb should be empty
+| | Then VxLAN Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${vx_interface}
| TC06: Honeycomb configures VxLAN tunnel with ipv6
@@ -116,12 +116,12 @@
| | ... | ipv6 settings.
| | [Teardown] | Honeycomb removes VxLAN tunnel settings
| | ... | ${node} | ${vx_interface}
-| | Given VxLAN configuration from Honeycomb should be empty
+| | Given VxLAN Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${vx_interface}
-| | And VxLAN configuration from VAT should be empty | ${node}
+| | And VxLAN Operational Data From VAT Should Be empty | ${node}
| | When Honeycomb sets interface VxLAN configuration
| | ... | ${node} | ${vx_interface} | ${vxlan_settings_ipv6}
-| | Then VxLAN configuration from Honeycomb should be
+| | Then VxLAN Operational Data From Honeycomb Should Be
| | ... | ${node} | ${vx_interface} | ${vxlan_settings_ipv6_long}
-| | And VxLAN configuration from VAT should be
+| | And VxLAN Operational Data From VAT Should Be
| | ... | ${node} | ${vxlan_settings_ipv6}
diff --git a/tests/func/honeycomb/mgmt-cfg-vxlangpe-apihc-apivat-func.robot b/tests/func/honeycomb/mgmt-cfg-vxlangpe-apihc-apivat-func.robot
index 7902396e40..253cd6ab05 100644
--- a/tests/func/honeycomb/mgmt-cfg-vxlangpe-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-vxlangpe-apihc-apivat-func.robot
@@ -39,7 +39,7 @@
# Import additional VxLAN GPE settings from resource file
| Variables | resources/test_data/honeycomb/vxlan_gpe.py
| Documentation | *Honeycomb VxLAN-GPE management test suite.*
-| Force Tags | honeycomb_sanity | honeycomb_odl
+| Force Tags | HC_FUNC
| Suite Setup
| ... | Restart Honeycomb and VPP | ${node}
@@ -47,17 +47,17 @@
| TC01: Honeycomb creates VxLAN GPE tunnel
| | [Documentation] | Check if Honeycomb API can configure a VxLAN GPE tunnel.
| | ...
-| | Given interface configuration from Honeycomb should be empty
+| | Given interface Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${vxlan_gpe_if1}
-| | And interface configuration from VAT should be empty
+| | And interface Operational Data From VAT Should Be empty
| | ... | ${node} | ${vxlan_gpe_if1}
| | When Honeycomb creates VxLAN GPE interface
| | ... | ${node} | ${vxlan_gpe_if1}
| | ... | ${vxlan_gpe_base_settings} | ${vxlan_gpe_settings}
-| | Then VxLAN GPE configuration from Honeycomb should be
+| | Then VxLAN GPE Operational Data From Honeycomb Should Be
| | ... | ${node} | ${vxlan_gpe_if1}
| | ... | ${vxlan_gpe_base_settings} | ${vxlan_gpe_settings}
-| | And VxLAN GPE configuration from VAT should be
+| | And VxLAN GPE Operational Data From VAT Should Be
| | ... | ${node} | ${vxlan_gpe_if1} | ${vxlan_gpe_settings}
| | And VxLAN GPE Interface indices from Honeycomb and VAT should correspond
| | ... | ${node} | ${vxlan_gpe_if1}
@@ -65,80 +65,80 @@
| TC02: Honeycomb removes VxLAN GPE tunnel
| | [Documentation] | Check if Honeycomb API can remove VxLAN GPE tunnel.
| | ...
-| | Given VxLAN GPE configuration from Honeycomb should be
+| | Given VxLAN GPE Operational Data From Honeycomb Should Be
| | ... | ${node} | ${vxlan_gpe_if1}
| | ... | ${vxlan_gpe_base_settings} | ${vxlan_gpe_settings}
-| | VxLAN GPE configuration from VAT should be
+| | VxLAN GPE Operational Data From VAT Should Be
| | ... | ${node} | ${vxlan_gpe_if1} | ${vxlan_gpe_settings}
| | When Honeycomb removes VxLAN GPE interface
| | ... | ${node} | ${vxlan_gpe_if1}
-| | Then VxLAN GPE configuration from Honeycomb should be empty
+| | Then VxLAN GPE Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${vxlan_gpe_if1}
-| | And VxLAN GPE configuration from VAT should be empty
+| | And VxLAN GPE Operational Data From VAT Should Be empty
| | ... | ${node}
| TC03: Honeycomb sets wrong interface type while creating VxLAN GPE tunnel
| | [Documentation] | Check if Honeycomb refuses to create a VxLAN GPE tunnel\
| | ... | with a wrong interface type set.
| | ...
-| | Given interface configuration from Honeycomb should be empty
+| | Given interface Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${vxlan_gpe_if2}
-| | And interface configuration from VAT should be empty
+| | And interface Operational Data From VAT Should Be empty
| | ... | ${node} | ${vxlan_gpe_if2}
| | When Honeycomb fails to create VxLAN GPE interface
| | ... | ${node} | ${vxlan_gpe_if2}
| | ... | ${vxlan_gpe_wrong_type_base_settings} | ${vxlan_gpe_settings}
-| | Then interface configuration from Honeycomb should be empty
+| | Then interface Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${vxlan_gpe_if2}
-| | And interface configuration from VAT should be empty
+| | And interface Operational Data From VAT Should Be empty
| | ... | ${node} | ${vxlan_gpe_if2}
| TC04: Honeycomb sets wrong protocol while creating VxLAN GPE tunnel
| | [Documentation] | Check if Honeycomb refuses to create a VxLAN GPE tunnel\
| | ... | with a wrong next-protocol set.
| | ...
-| | Given interface configuration from Honeycomb should be empty
+| | Given interface Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${vxlan_gpe_if3}
-| | And interface configuration from VAT should be empty
+| | And interface Operational Data From VAT Should Be empty
| | ... | ${node} | ${vxlan_gpe_if3}
| | When Honeycomb fails to create VxLAN GPE interface
| | ... | ${node} | ${vxlan_gpe_if3}
| | ... | ${vxlan_gpe_wrong_protocol_base_settings}
| | ... | ${vxlan_gpe_wrong_protocol_settings}
-| | Then interface configuration from Honeycomb should be empty
+| | Then interface Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${vxlan_gpe_if3}
-| | And interface configuration from VAT should be empty
+| | And interface Operational Data From VAT Should Be empty
| | ... | ${node} | ${vxlan_gpe_if3}
| TC05: Honeycomb sets VxLAN GPE tunnel on existing interface with wrong type
| | [Documentation] | Check if Honeycomb refuses to create a VxLAN GPE tunnel\
| | ... | on existing interface with wrong type.
| | ...
-| | Given VxLAN GPE configuration from VAT should be empty
+| | Given VxLAN GPE Operational Data From VAT Should Be empty
| | ... | ${node}
| | When Honeycomb fails to create VxLAN GPE interface
| | ... | ${node} | ${vxlan_gpe_existing_if}
| | ... | ${vxlan_gpe_base_wrong_interface_settings}
| | ... | ${vxlan_gpe_wrong_interface_settings}
-| | Then VxLAN GPE configuration from VAT should be empty
+| | Then VxLAN GPE Operational Data From VAT Should Be empty
| | ... | ${node}
| TC06: Honeycomb creates VxLAN GPE tunnel with ipv6
| | [Documentation] | Check if Honeycomb API can configure a VxLAN GPE tunnel\
| | ... | with IPv6 addresses.
| | ...
-| | Given VxLAN GPE configuration from VAT should be empty
+| | Given VxLAN GPE Operational Data From VAT Should Be empty
| | ... | ${node}
-| | And VxLAN GPE configuration from Honeycomb should be empty
+| | And VxLAN GPE Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${vxlan_gpe_if5}
| | When Honeycomb creates VxLAN GPE interface
| | ... | ${node} | ${vxlan_gpe_if5}
| | ... | ${vxlan_gpe_base_ipv6_settings} | ${vxlan_gpe_ipv6_settings}
-| | Then VxLAN GPE configuration from Honeycomb should be
+| | Then VxLAN GPE Operational Data From Honeycomb Should Be
| | ... | ${node} | ${vxlan_gpe_if5}
| | ... | ${vxlan_gpe_base_ipv6_settings} | ${vxlan_gpe_ipv6_settings}
| | And Run Keyword And Continue On Failure
-| | ... | VxLAN GPE configuration from VAT should be
+| | ... | VxLAN GPE Operational Data From VAT Should Be
| | ... | ${node} | ${vxlan_gpe_if5} | ${vxlan_gpe_ipv6_settings}
| | And VxLAN GPE Interface indices from Honeycomb and VAT should correspond
| | ... | ${node} | ${vxlan_gpe_if5}
@@ -147,17 +147,17 @@
| | [Documentation] | Check if Honeycomb API can configure another VxLAN\
| | ... | GPE tunnel with IPv6 addresses.
| | ...
-| | Given interface configuration from Honeycomb should be empty
+| | Given interface Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${vxlan_gpe_if6}
-| | And interface configuration from VAT should be empty
+| | And interface Operational Data From VAT Should Be empty
| | ... | ${node} | ${vxlan_gpe_if6}
| | When Honeycomb creates VxLAN GPE interface
| | ... | ${node} | ${vxlan_gpe_if6}
| | ... | ${vxlan_gpe_base_ipv6_settings2} | ${vxlan_gpe_ipv6_settings2}
-| | Then VxLAN GPE configuration from Honeycomb should be
+| | Then VxLAN GPE Operational Data From Honeycomb Should Be
| | ... | ${node} | ${vxlan_gpe_if6}
| | ... | ${vxlan_gpe_base_ipv6_settings2} | ${vxlan_gpe_ipv6_settings2}
-| | And VxLAN GPE configuration from VAT should be
+| | And VxLAN GPE Operational Data From VAT Should Be
| | ... | ${node} | ${vxlan_gpe_if6} | ${vxlan_gpe_ipv6_settings2}
| | And VxLAN GPE Interface indices from Honeycomb and VAT should correspond
| | ... | ${node} | ${vxlan_gpe_if6}
diff --git a/tests/func/honeycomb/mgmt-notif-apihcnc-func.robot b/tests/func/honeycomb/mgmt-notif-apihcnc-func.robot
index a1bd91625f..3386e1fe60 100644
--- a/tests/func/honeycomb/mgmt-notif-apihcnc-func.robot
+++ b/tests/func/honeycomb/mgmt-notif-apihcnc-func.robot
@@ -30,7 +30,7 @@
| ... | Honeycomb creates TAP interface
| ... | ${node} | ${tap_interface} | ${tap_settings}
| Documentation | *Honeycomb notifications test suite.*
-| Force Tags | honeycomb_sanity | honeycomb_odl
+| Force Tags | HC_FUNC
| Suite Teardown | Run Keyword If Any Tests Failed
| ... | Restart Honeycomb and VPP | ${node}
@@ -50,9 +50,9 @@
| TC02: Honeycomb sends notification on interface deletion
| | [Documentation] | Check if Honeycomb sends an interface-deleted notification
| | ... | when an interface is deleted.
-| | Given TAP configuration from Honeycomb should be
+| | Given TAP Operational Data From Honeycomb Should Be
| | ... | ${node} | ${tap_interface} | ${tap_settings}
-| | And TAP configuration from VAT should be
+| | And TAP Operational Data From VAT Should Be
| | ... | ${node} | ${tap_interface} | ${tap_settings}
| | And Notification listener is established | ${node}
| | When Honeycomb removes TAP interface | ${node} | ${tap_interface}
diff --git a/tests/func/honeycomb/mgmt-statepersist-apihc-func.robot b/tests/func/honeycomb/mgmt-statepersist-apihc-func.robot
index 28746e66fb..5dfa4b5aed 100644
--- a/tests/func/honeycomb/mgmt-statepersist-apihc-func.robot
+++ b/tests/func/honeycomb/mgmt-statepersist-apihc-func.robot
@@ -18,52 +18,125 @@
*** Settings ***
| Resource | resources/libraries/robot/default.robot
| Resource | resources/libraries/robot/honeycomb/persistence.robot
+| Resource | resources/libraries/robot/honeycomb/interfaces.robot
+| Resource | resources/libraries/robot/honeycomb/bridge_domain.robot
+| Resource | resources/libraries/robot/honeycomb/l2_fib.robot
| Suite Setup | Run Keywords
| ... | Configure Persistence | ${node} | enable | AND
| ... | Restart Honeycomb And VPP And Clear Persisted Configuration | ${node}
| Suite Teardown | Configure Persistence | ${node} | disable
-| Force Tags | honeycomb_sanity
+| Force Tags | HC_PERSIST | HC_REST_ONLY
| Documentation | *Honeycomb configuration persistence test suite.*
*** Test Cases ***
+# multi-feature cases
+# ===================
| TC01: Honeycomb persists configuration through restart of both Honeycomb and VPP
| | [Documentation] | Checks if Honeycomb maintains configuration after both\
| | ... | Honeycomb and VPP are restarted.
-# Vxlan tunnel name is sometimes not properly restored (HC2VPP-47)
-| | [Tags] | EXPECTED_FAILING
-| | Given Honeycomb configures every setting | ${node} | ${interface}
-| | And Honeycomb and VPP should verify every setting | ${node} | ${interface}
+| | [Tags] | HC_FUNC
+| | [Teardown]
+| | ... | Restart Honeycomb And VPP And Clear Persisted Configuration | ${node}
+| | Given Multi-Feature Persistence test configuration | ${node} | ${interface}
+| | And Multi-Feature persistence Test Verification | ${node} | ${interface}
| | And Log persisted configuration on node | ${node}
| | When Honeycomb and VPP are restarted | ${node}
-| | Then Honeycomb and VPP should verify every setting | ${node} | ${interface}
-| | And Honeycomb should show no rogue interfaces | ${node}
+| | Then Multi-Feature persistence Test Verification | ${node} | ${interface}
+
+| TC02: Honeycomb reverts to defaults if persistence files are invalid
+| | [Documentation] | Checks if Honeycomb reverts to default configuration when\
+| | ... | persistence files are damaged or invalid.
+| | [Tags] | HC_FUNC
+| | [Teardown]
+| | ... | Restart Honeycomb And VPP And Clear Persisted Configuration | ${node}
+| | Given Multi-Feature Persistence test configuration | ${node} | ${interface}
+| | And Multi-Feature persistence Test Verification | ${node} | ${interface}
+| | When Persistence file is damaged during restart | ${node}
+| | Then Honeycomb and VPP should have default configuration | ${node}
-| TC02: Honeycomb persists configuration through restart of Honeycomb
+| TC03: Honeycomb persists configuration through restart of Honeycomb
| | [Documentation] | Checks if Honeycomb maintains configuration after it\
| | ... | is restarted.
-# Vxlan tunnel name is sometimes not properly restored (HC2VPP-47)
-| | [Tags] | EXPECTED_FAILING
-| | Given Honeycomb and VPP should verify every setting | ${node} | ${interface}
+| | [Teardown]
+| | ... | Restart Honeycomb And VPP And Clear Persisted Configuration | ${node}
+| | Given Multi-Feature Persistence test configuration | ${node} | ${interface}
+| | And Multi-Feature persistence Test Verification | ${node} | ${interface}
| | And Log persisted configuration on node | ${node}
| | When Honeycomb is restarted | ${node}
-| | Then Honeycomb and VPP should verify every setting | ${node} | ${interface}
-| | And Honeycomb should show no rogue interfaces | ${node}
+| | Then Multi-Feature persistence Test Verification | ${node} | ${interface}
-| TC03: Honeycomb persists configuration through restart of VPP
+| TC04: Honeycomb persists configuration through restart of VPP
| | [Documentation] | Checks if Honeycomb updates VPP settings after VPP is\
| | ... | restarted.
-# Vxlan tunnel name is sometimes not properly restored (HC2VPP-47)
-| | [Tags] | EXPECTED_FAILING
-| | Given Honeycomb and VPP should verify every setting | ${node} | ${interface}
+| | [Teardown]
+| | ... | Restart Honeycomb And VPP And Clear Persisted Configuration | ${node}
+| | Given Multi-Feature Persistence test configuration | ${node} | ${interface}
+| | And Multi-Feature persistence Test Verification | ${node} | ${interface}
| | And Log persisted configuration on node | ${node}
| | When VPP is restarted | ${node}
-| | Then Honeycomb and VPP should verify every setting | ${node} | ${interface}
-| | And Honeycomb should show no rogue interfaces | ${node}
+| | Then Multi-Feature persistence Test Verification | ${node} | ${interface}
-| TC04: Honeycomb reverts to defaults if persistence files are invalid
-| | [Documentation] | Checks if Honeycomb reverts to default configuration when\
-| | ... | persistence files are damaged or invalid.
-| | [Teardown] | Run keyword if test failed
+# single-feature cases
+# ====================
+
+| TC05: Persist configuration of IP addresses and neighbors - HC and VPP restart
+| | [Documentation] | Verify persistence of interface state, IPv4 address
+| | ... | and neighbor entries through restart of both Honeycomb and VPP.
+| | [Teardown]
| | ... | Restart Honeycomb And VPP And Clear Persisted Configuration | ${node}
-| | When Persistence file is damaged during restart | ${node}
-| | Then Honeycomb and VPP should have default configuration | ${node}
+| | Given Interface Persistence Setup | ${node}
+| | And Interface Persistence Check | ${node}
+| | When Honeycomb and VPP are restarted | ${node}
+| | Then Interface Persistence Check | ${node}
+
+| TC06: Persist configuration of IP addresses and neighbors - HC restart
+| | [Documentation] | Verify persistence of interface state, IPv4 address
+| | ... | and neighbor entries through restart of Honeycomb.
+| | [Teardown]
+| | ... | Restart Honeycomb And VPP And Clear Persisted Configuration | ${node}
+| | Given Interface Persistence Setup | ${node}
+| | And Interface Persistence Check | ${node}
+| | When Honeycomb is restarted | ${node}
+| | Then Interface Persistence Check | ${node}
+
+| TC07: Persist configuration of IP addresses and neighbors - VPP restart
+| | [Documentation] | Verify persistence of interface state, IPv4 address
+| | ... | and neighbor entries through restart of VPP.
+| | [Teardown]
+| | ... | Restart Honeycomb And VPP And Clear Persisted Configuration | ${node}
+| | Given Interface Persistence Setup | ${node}
+| | And Interface Persistence Check | ${node}
+| | When VPP is restarted | ${node}
+| | Then Interface Persistence Check | ${node}
+
+| TC08: Honeycomb persists configuration of bridge domains - HC and VPP restart
+| | [Documentation] | Verify persistence of bridge domain, L2-FIB entry
+| | ... | and Bridge domain Operational Interface Assignment through restart
+| | ... | of both Honeycomb and VPP.
+| | [Teardown]
+| | ... | Restart Honeycomb And VPP And Clear Persisted Configuration | ${node}
+| | Given Bridge Domain Persistence Setup | ${node}
+| | When Honeycomb and VPP are restarted | ${node}
+| | Then Bridge Domain Persistence Check | ${node}
+
+| TC09: Honeycomb persists configuration of bridge domains - HC restart
+| | [Documentation] | Verify persistence of bridge domain, L2-FIB entry
+| | ... | and Bridge domain Operational Interface Assignment through restart
+| | ... | of Honeycomb.
+| | [Teardown]
+| | ... | Restart Honeycomb And VPP And Clear Persisted Configuration | ${node}
+| | Given Bridge Domain Persistence Setup | ${node}
+| | When Honeycomb is restarted | ${node}
+| | Then Bridge Domain Persistence Check | ${node}
+
+| TC10: Honeycomb persists configuration of bridge domains - VPP restart
+| | [Documentation] | Verify persistence of bridge domain, L2-FIB entry
+| | ... | and Bridge domain Operational Interface Assignment through restart
+| | ... | of VPP.
+| | [Teardown]
+| | ... | Restart Honeycomb And VPP And Clear Persisted Configuration | ${node}
+| | Given Bridge Domain Persistence Setup | ${node}
+| | When VPP is restarted | ${node}
+| | Then Bridge Domain Persistence Check | ${node}
+
+#TODO: All other features