aboutsummaryrefslogtreecommitdiffstats
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
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>
-rwxr-xr-xbootstrap-hc2vpp-integration.sh2
-rwxr-xr-xbootstrap-hc2vpp-verify.sh2
-rw-r--r--docs/tag_documentation.rst17
-rw-r--r--resources/libraries/robot/honeycomb/bridge_domain.robot16
-rw-r--r--resources/libraries/robot/honeycomb/dhcp.robot4
-rw-r--r--resources/libraries/robot/honeycomb/honeycomb.robot3
-rw-r--r--resources/libraries/robot/honeycomb/interfaces.robot16
-rw-r--r--resources/libraries/robot/honeycomb/nat.robot16
-rw-r--r--resources/libraries/robot/honeycomb/nsh.robot4
-rw-r--r--resources/libraries/robot/honeycomb/persistence.robot164
-rw-r--r--resources/libraries/robot/honeycomb/policer.robot8
-rw-r--r--resources/libraries/robot/honeycomb/port_mirroring.robot12
-rw-r--r--resources/libraries/robot/honeycomb/slaac.robot8
-rw-r--r--resources/libraries/robot/honeycomb/sub_interface.robot20
-rw-r--r--resources/libraries/robot/honeycomb/tap.robot16
-rw-r--r--resources/libraries/robot/honeycomb/vhost_user.robot16
-rw-r--r--resources/libraries/robot/honeycomb/vxlan.robot16
-rw-r--r--resources/libraries/robot/honeycomb/vxlan_gpe.robot16
-rw-r--r--resources/test_data/honeycomb/interface_ip.py34
-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
43 files changed, 599 insertions, 423 deletions
diff --git a/bootstrap-hc2vpp-integration.sh b/bootstrap-hc2vpp-integration.sh
index 21b4ae7607..ab5fa22a1d 100755
--- a/bootstrap-hc2vpp-integration.sh
+++ b/bootstrap-hc2vpp-integration.sh
@@ -224,7 +224,7 @@ fi
PYTHONPATH=`pwd` pybot -L TRACE -W 136\
-v TOPOLOGY_PATH:${SCRIPT_DIR}/topologies/enabled/topology.yaml \
--suite "tests.func" \
- --include honeycomb_sanity \
+ --include HC_FUNC \
--noncritical EXPECTED_FAILING \
tests/
diff --git a/bootstrap-hc2vpp-verify.sh b/bootstrap-hc2vpp-verify.sh
index 57fb8a650b..196fb80ac3 100755
--- a/bootstrap-hc2vpp-verify.sh
+++ b/bootstrap-hc2vpp-verify.sh
@@ -220,7 +220,7 @@ fi
PYTHONPATH=`pwd` pybot -L TRACE -W 136\
-v TOPOLOGY_PATH:${SCRIPT_DIR}/topologies/enabled/topology.yaml \
--suite "tests.func" \
- --include honeycomb_sanity \
+ --include HC_FUNC \
--noncritical EXPECTED_FAILING \
tests/
diff --git a/docs/tag_documentation.rst b/docs/tag_documentation.rst
index a10ac0e2c6..10d00ccd1e 100644
--- a/docs/tag_documentation.rst
+++ b/docs/tag_documentation.rst
@@ -439,3 +439,20 @@ Multi-threading tags
8 worker threads pinned to 8 dedicated physical cores. 4 receive queues per
interface. Main thread pinned to core 0.
+
+
+Honeycomb tags
+--------------
+
+.. topic:: HC_FUNC
+
+ Honeycomb functional test cases.
+
+.. topic:: HC_PERSIST
+
+ Honeycomb persistence test cases.
+
+.. topic:: HC_REST_ONLY
+
+ (Exclusion tag) Honeycomb test cases that cannot be run in Netconf mode
+ using ODL client for Restfconf -> Netconf translation.
diff --git a/resources/libraries/robot/honeycomb/bridge_domain.robot b/resources/libraries/robot/honeycomb/bridge_domain.robot
index a286d11907..8f17edafc2 100644
--- a/resources/libraries/robot/honeycomb/bridge_domain.robot
+++ b/resources/libraries/robot/honeycomb/bridge_domain.robot
@@ -52,7 +52,7 @@
| | [Arguments] | ${node} | ${bd_name} | ${settings}
| | Add BD | ${node} | ${bd_name} | &{settings}
-| Bridge domain configuration from Honeycomb should be
+| Bridge domain Operational Data From Honeycomb Should Be
| | [Documentation] | Uses Honeycomb API to verify bridge domain settings\
| | ... | against provided values.
| | ...
@@ -63,14 +63,14 @@
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| Bridge domain configuration from Honeycomb should be \
+| | ... | \| Bridge domain Operational Data From Honeycomb Should Be \
| | ... | \| ${nodes['DUT1']} \| bd-04 \| ${{flood:True,learn:False}} \|
| | [Arguments] | ${node} | ${bd_name} | ${settings}
| | ${api_data}= | Get bd oper data | ${node} | ${bd_name}
| | :FOR | ${key} | IN | @{settings.keys()}
| | | Should be equal | ${settings['${key}']} | ${api_data['${key}']}
-| Bridge domain configuration from VAT should be
+| Bridge domain Operational Data From VAT Should Be
| | [Documentation] | Uses VAT to verify bridge domain settings\
| | ... | against provided values.
| | ...
@@ -81,7 +81,7 @@
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| Bridge domain configuration from VAT should be \
+| | ... | \| Bridge domain Operational Data From VAT Should Be \
| | ... | \| ${nodes['DUT1']} \| bd-04 \| ${{flood:True,learn:False}} \|
| | [Arguments] | ${node} | ${bd_index} | ${settings}
| | ${vat_data}= | VPP get bridge domain data | ${node}
@@ -278,7 +278,7 @@
| | ... | ${settings['split-horizon-group']}
| | ... | ${settings['bridged-virtual-interface']}
-| Bridge domain configuration in interface operational data should be empty
+| Bridge domain Operational Interface Assignment should be empty
| | [Documentation] | Get interface operational data and retrieve bridge
| | ... | domain configuration from it. It should be empty.
| | ...
@@ -288,7 +288,7 @@
| | ... | will be checked.Type: string
| | ...
| | ... | *Example:*
-| | ... | \| Bridge domain configuration in interface operational data should \
+| | ... | \| Bridge domain Operational Interface Assignment should \
| | ... | be empty \| ${nodes['DUT1']} \| GigabitEthernet0/8/0 \|
| | ...
| | [Arguments] | ${node} | ${interface}
@@ -297,7 +297,7 @@
| | ... | ${node} | ${interface}
| | Should be empty | ${if_data}
-| Bridge domain configuration in interface operational data should be
+| Bridge domain Operational Interface Assignment should be
| | [Documentation] | Get interface operational data and retrieve bridge
| | ... | domain configuration from it. Compare the data to the expected one.
| | ...
@@ -308,7 +308,7 @@
| | ... | - bd_settings - The referential bridge domain data. Type: dictionary
| | ...
| | ... | *Example:*
-| | ... | \| Bridge domain configuration in interface operational data should \
+| | ... | \| Bridge domain Operational Interface Assignment should \
| | ... | be \| ${nodes['DUT1']} \| GigabitEthernet0/8/0 \| ${if_bd_settings} \|
| | ...
| | [Arguments] | ${node} | ${interface} | ${bd_settings}
diff --git a/resources/libraries/robot/honeycomb/dhcp.robot b/resources/libraries/robot/honeycomb/dhcp.robot
index d3fe942668..966c73f85c 100644
--- a/resources/libraries/robot/honeycomb/dhcp.robot
+++ b/resources/libraries/robot/honeycomb/dhcp.robot
@@ -17,7 +17,7 @@
| Documentation | Keywords used to test Honeycomb DHCP features.
*** Keywords ***
-| DHCP relay configuration from Honeycomb should be empty
+| DHCP relay Operational Data From Honeycomb Should Be empty
| | [Documentation] | Uses Honeycomb API to retrieve DHCP relay configuration\
| | ... | and expects to fail.
| | ...
@@ -26,7 +26,7 @@
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| DHCP relay configuration from Honeycomb should be empty \
+| | ... | \| DHCP relay Operational Data From Honeycomb Should Be empty \
| | ... | \| ${nodes['DUT1']} \|
| | [Arguments] | ${node}
| | Run keyword and expect error | *Status code: 404*
diff --git a/resources/libraries/robot/honeycomb/honeycomb.robot b/resources/libraries/robot/honeycomb/honeycomb.robot
index 27aa078ef9..7813ee26bf 100644
--- a/resources/libraries/robot/honeycomb/honeycomb.robot
+++ b/resources/libraries/robot/honeycomb/honeycomb.robot
@@ -85,9 +85,9 @@
| | ... | \| Restart Honeycomb and VPP and clear persisted configuration \
| | ... | \| ${nodes['DUT1']} \|
| | [Arguments] | ${node}
-| | Log | Performing clean restart of Honeycomb and VPP. | console=True
| | Stop Honeycomb service on DUTs | ${node}
| | Clear persisted Honeycomb configuration | ${node}
+| | Log | Persistence files cleared. | console=True
| | Setup DUT | ${node}
| | Setup Honeycomb service on DUTs | ${node}
@@ -101,7 +101,6 @@
| | ...
| | ... | \| Restart Honeycomb and VPP \| ${nodes['DUT1']} \|
| | [Arguments] | ${node}
-| | Log | Performing clean restart of Honeycomb and VPP. | console=True
| | Restart Honeycomb and VPP on DUTs | ${node}
| | Wait until keyword succeeds | 4min | 16sec
| | ... | Check honeycomb startup state | ${node}
diff --git a/resources/libraries/robot/honeycomb/interfaces.robot b/resources/libraries/robot/honeycomb/interfaces.robot
index a08ce3fceb..2ab97e0d96 100644
--- a/resources/libraries/robot/honeycomb/interfaces.robot
+++ b/resources/libraries/robot/honeycomb/interfaces.robot
@@ -544,7 +544,7 @@
| | | interfaceAPI.Configure interface ethernet
| | | ... | ${node} | ${interface} | ${key} | ${ethernet['${key}']}
-| Interface ethernet configuration from Honeycomb should be
+| Interface ethernet Operational Data From Honeycomb Should Be
| | [Documentation] | Retrieves interface ethernet configuration\
| | ... | through Honeycomb and compares with settings supplied in arguments.
| | ...
@@ -555,7 +555,7 @@
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| Interface ethernet configuration from Honeycomb should be \
+| | ... | \| Interface ethernet Operational Data From Honeycomb Should Be \
| | ... | should be \| ${nodes['DUT1']} \| GigabitEthernet0/8/0 \
| | ... | \| ${{'mtu': 1500}} \|
| | [Arguments] | ${node} | ${interface} | ${ethernet}
@@ -564,7 +564,7 @@
| | | Should be equal
| | | ... | ${api_data['v3po:ethernet']['${key}']} | ${ethernet['${key}']}
-| Interface ethernet configuration from VAT should be
+| Interface ethernet Operational Data From VAT Should Be
| | [Documentation] | Retrieves interface ethernet configuration\
| | ... | through VAT and compares with settings supplied in arguments.
| | ...
@@ -575,7 +575,7 @@
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| Interface ethernet configuration from VAT should be \
+| | ... | \| Interface ethernet Operational Data From VAT Should Be \
| | ... | should be \| ${nodes['DUT1']} \| GigabitEthernet0/8/0 \| ${1500} \|
| | [Arguments] | ${node} | ${interface} | ${mtu}
| | ${vat_data}= | InterfaceCLI.VPP get interface data | ${node} | ${interface}
@@ -636,7 +636,7 @@
| | ... | ${node} | ${interface}
| | Should be equal | ${vat_data} | ${vrf_id}
-| Interface configuration from Honeycomb should be empty
+| Interface Operational Data From Honeycomb Should Be empty
| | [Documentation] | Attempts to retrieve interface configuration through\
| | ... | Honeycomb and expects to get empty dictionary.
| | ...
@@ -646,14 +646,14 @@
| | ... | string
| | ...
| | ... | *Example:*
-| | ... | \| Interface configuration from Honeycomb should be empty\
+| | ... | \| Interface Operational Data From Honeycomb Should Be empty\
| | ... | \| ${nodes['DUT1']} \| GigabitEthernet0/8/0 \|
| | ...
| | [Arguments] | ${node} | ${interface}
| | ${api_data}= | interfaceAPI.Get interface oper data | ${node} | ${interface}
| | Should be empty | ${api_data}
-| Interface configuration from VAT should be empty
+| Interface Operational Data From VAT Should Be empty
| | [Documentation] | Attempts to retrieve Interface configuration through\
| | ... | VAT and expects to get empty dictionary.
| | ...
@@ -663,7 +663,7 @@
| | ... | string
| | ...
| | ... | *Example:*
-| | ... | \| Interface configuration from VAT should be empty\
+| | ... | \| Interface Operational Data From VAT Should Be empty\
| | ... | \| ${nodes['DUT1']} \| GigabitEthernet0/8/0 \|
| | ...
| | [Arguments] | ${node} | ${interface} |
diff --git a/resources/libraries/robot/honeycomb/nat.robot b/resources/libraries/robot/honeycomb/nat.robot
index 17cda4763e..81bffe66d7 100644
--- a/resources/libraries/robot/honeycomb/nat.robot
+++ b/resources/libraries/robot/honeycomb/nat.robot
@@ -18,7 +18,7 @@
| Documentation | Keywords used to test Honeycomb NAT node.
*** Keywords ***
-| NAT configuration from Honeycomb should be empty
+| NAT Operational Data From Honeycomb Should Be empty
| | [Documentation] | Uses Honeycomb API to retrieve NAT operational data\
| | ... | and expects to find only default values.
| | ...
@@ -28,7 +28,7 @@
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| NAT configuration from Honeycomb should be empty \
+| | ... | \| NAT Operational Data From Honeycomb Should Be empty \
| | ... | \| ${nodes['DUT1']} \| ${default_settings} \|
| | [Arguments] | ${node} | ${default_settings}
| | ${data}= | Get NAT Oper data | ${node}
@@ -120,7 +120,7 @@
| | Configure NAT on interface
| | ... | ${node} | ${interface} | ${direction} | ${True}
-| NAT interface configuration from Honeycomb should be
+| NAT interface Operational Data From Honeycomb Should Be
| | [Documentation] | Uses Honeycomb API to retrieve interface operational data\
| | ... | and compares the NAT section against expected settings.
| | ...
@@ -132,13 +132,13 @@
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| NAT interface configuration from Honeycomb should be \
+| | ... | \| NAT interface Operational Data From Honeycomb Should Be \
| | ... | \| ${nodes['DUT1']} \| GigabitEthernet0/8/0 \| outbound \|
| | [Arguments] | ${node} | ${interface} | ${direction}
| | ${data}= | Get interface oper data | ${node} | ${interface}
| | Variable should exist | ${data['interface-nat:nat']['${direction}']}
-| NAT interface configuration from Honeycomb should be empty
+| NAT interface Operational Data From Honeycomb Should Be empty
| | [Documentation] | Uses Honeycomb API to retrieve interface operational data\
| | ... | and expects to find no data for the given direction.
| | ...
@@ -150,13 +150,13 @@
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| NAT interface configuration from Honeycomb should be empty \
+| | ... | \| NAT interface Operational Data From Honeycomb Should Be empty \
| | ... | \| ${nodes['DUT1']} \| GigabitEthernet0/8/0 \| outbound \|
| | [Arguments] | ${node} | ${interface} | ${direction}
| | ${data}= | Get interface oper data | ${node} | ${interface}
| | Variable should not exist | ${data['interface-nat:nat']['${direction}']}
-| NAT interface configuration from VAT should be
+| NAT interface Operational Data From VAT Should Be
| | [Documentation] | Uses Honeycomb API to retrieve NAT configured interfaces\
| | ... | and compares with expected settings.
| | ...
@@ -167,7 +167,7 @@
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| NAT interface configuration from VAT should be \
+| | ... | \| NAT interface Operational Data From VAT Should Be \
| | ... | \| ${nodes['DUT1']} \| ${settings} \|
| | [Arguments] | ${node} | ${settings}
| | ${data}= | VPP get NAT interfaces | ${node}
diff --git a/resources/libraries/robot/honeycomb/nsh.robot b/resources/libraries/robot/honeycomb/nsh.robot
index f2a8ffdf8d..434c72f516 100644
--- a/resources/libraries/robot/honeycomb/nsh.robot
+++ b/resources/libraries/robot/honeycomb/nsh.robot
@@ -19,7 +19,7 @@
| Documentation | Keywords used to test Honeycomb NSH node.
*** Keywords ***
-| NSH configuration from Honeycomb should be empty
+| NSH Operational Data From Honeycomb Should Be empty
| | [Documentation] | Uses Honeycomb API to retrieve NSH configuration\
| | ... | and expects to fail.
| | ...
@@ -28,7 +28,7 @@
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| NSH configuration from Honeycomb should be empty \
+| | ... | \| NSH Operational Data From Honeycomb Should Be empty \
| | ... | \| ${nodes['DUT1']} \|
| | [Arguments] | ${node}
| | Run keyword and expect error | *Status code: 404*
diff --git a/resources/libraries/robot/honeycomb/persistence.robot b/resources/libraries/robot/honeycomb/persistence.robot
index a1c08c2ec1..2744ba6377 100644
--- a/resources/libraries/robot/honeycomb/persistence.robot
+++ b/resources/libraries/robot/honeycomb/persistence.robot
@@ -87,7 +87,7 @@
| | Setup DUT | ${node}
| | Setup Honeycomb service on DUTs | ${node}
-| Honeycomb configures every setting
+| Multi-Feature Persistence Test Configuration
| | [Documentation] | Uses Honeycomb to set basic settings for VxLAN,\
| | ... | bridge domains, TAP, vhost-user and VLAN.
| | ...
@@ -97,7 +97,7 @@
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| Honeycomb configures every setting \| ${nodes['DUT1']} \
+| | ... | \| Multi-Feature Persistence Test Configuration \| ${nodes['DUT1']} \
| | ... | \| GigabitEthernet0/8/0 \|
| | ...
| | [Arguments] | ${node} | ${interface}
@@ -119,7 +119,7 @@
| | Honeycomb configures tag rewrite
| | ... | ${node} | ${interface} | ${sub_if_id} | ${tag_rewrite_pop_1}
-| Honeycomb and VPP should verify every setting
+| Multi-Feature persistence Test Verification
| | [Documentation] | Uses Honeycomb and VAT to verify settings for VxLAN,\
| | ... | bridge domains, TAP, vhost-user and VLAN.
| | ...
@@ -129,40 +129,43 @@
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| Honeycomb and VPP should verify every setting \| ${nodes['DUT1']} \
+| | ... | \| Multi-Feature persistence Test Verification \| ${nodes['DUT1']} \
| | ... | \| GigabitEthernet0/8/0 \|
| | ...
| | [Arguments] | ${node} | ${interface}
-| | VxLAN configuration from Honeycomb should be
+| | VxLAN Operational Data From Honeycomb Should Be
| | ... | ${node} | ${vx_interface} | ${vxlan_settings}
-| | VxLAN configuration from VAT should be
+| | VxLAN Operational Data From VAT Should Be
| | ... | ${node} | ${vxlan_settings}
-| | Bridge domain configuration from Honeycomb should be
+| | Bridge domain Operational Data From Honeycomb Should Be
| | ... | ${node} | ${bd_name} | ${bd_settings}
-| | Bridge domain configuration from VAT should be
+| | Bridge domain Operational Data From VAT Should Be
| | ... | ${node} | ${0} | ${bd_settings}
-| | TAP configuration from Honeycomb should be
+| | TAP Operational Data From Honeycomb Should Be
| | ... | ${node} | ${tap_interface} | ${tap_settings}
-| | TAP configuration from VAT should be
+| | TAP Operational Data From VAT Should Be
| | ... | ${node} | ${tap_interface} | ${tap_settings}
-| | Vhost-user configuration from Honeycomb should be
+| | Vhost-user Operational Data From Honeycomb Should Be
| | ... | ${node} | ${vhost_interface} | ${vhost_user_client}
-| | Vhost-user configuration from VAT should be
+| | Vhost-user Operational Data From VAT Should Be
| | ... | ${node} | ${vhost_user_client}
-| | Sub-interface configuration from Honeycomb should be
+| | Sub-interface Operational Data From Honeycomb Should Be
| | ... | ${node} | ${interface} | ${sub_if_id} | ${sub_if_1_oper}
-| | Sub-interface configuration from VAT should be
+| | Sub-interface Operational Data From VAT Should Be
| | ... | ${node} | ${sub_if_name} | ${sub_if_1_oper}
| | Interface state from Honeycomb should be | ${node} | ${interface} | up
| | Interface state from VAT should be | ${node} | ${interface} | up
-| | Sub-interface bridge domain configuration from Honeycomb should be
+| | Sub-interface bridge domain Operational Data From Honeycomb Should Be
| | ... | ${node} | ${interface} | ${sub_if_id} | ${sub_bd_settings}
-| | Sub-interface bridge domain configuration from VAT should be
+| | Sub-interface bridge domain Operational Data From VAT Should Be
| | ... | ${node} | ${sub_if_name} | ${sub_bd_settings}
| | Rewrite tag from Honeycomb should be
| | ... | ${node} | ${interface} | ${sub_if_id} | ${tag_rewrite_pop_1_oper}
| | Rewrite tag from VAT should be
| | ... | ${node} | ${sub_if_name} | ${tag_rewrite_pop_1_VAT}
+| | ${data_conf}= | InterfaceAPI.Get all interfaces cfg data | ${node}
+| | ${data_oper}= | InterfaceAPI.Get all interfaces oper data | ${node}
+| | Compare interface lists | ${data_conf} | ${data_oper}
| Honeycomb and VPP should have default configuration
| | [Documentation] | Uses Honeycomb and VAT to verify settings for VxLAN,\
@@ -178,83 +181,146 @@
| | ... | ${nodes['DUT1']} \|
| | ...
| | [Arguments] | ${node}
-| | VxLAN configuration from Honeycomb should be empty
+| | VxLAN Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${vx_interface}
-| | VxLAN configuration from VAT should be empty | ${node}
+| | VxLAN Operational Data From VAT Should Be empty | ${node}
| | Honeycomb should show no bridge domains | ${node}
| | VAT should show no bridge domains | ${node}
-| | TAP configuration from Honeycomb should be empty
+| | TAP Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${tap_interface}
-| | TAP configuration from VAT should be empty
+| | TAP Operational Data From VAT Should Be empty
| | ... | ${node} | ${tap_interface}
-| | Vhost-user configuration from Honeycomb should be empty
+| | Vhost-user Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${vhost_interface}
-| | Vhost-user configuration from VAT should be empty
+| | Vhost-user Operational Data From VAT Should Be empty
| | ... | ${node}
| | interface state from Honeycomb should be
| | ... | ${node} | ${interface} | down
| | And interface state from VAT should be
| | ... | ${node} | ${interface} | down
-| Honeycomb and VPP should not have default configuration
-| | [Documentation] | Uses Honeycomb and VAT to verify settings for VxLAN,\
-| | ... | bridge domains, TAP, vhost-user and VLAN. Expects any\
-| | ... | configuration other than default.
+| Persistence file is damaged during restart
+| | [Documentation] | Shuts down Honeycomb, modifies persistence files to\
+| | ... | simulate damage, then restarts VPP and starts up Honeycomb again.
| | ...
| | ... | *Arguments:*
| | ... | - node - information about a DUT node. Type: dictionary
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| Honeycomb and VPP should not have default configuration \
-| | ... | \| ${nodes['DUT1']} \|
+| | ... | \| Persistence file is damaged during restart \| ${nodes['DUT1']} \|
| | ...
| | [Arguments] | ${node}
-| | Run keyword and expect error | *
-| | ... | Honeycomb and VPP should have default configuration | ${node}
+| | Stop Honeycomb service on DUTs | ${node}
+| | Modify persistence files | ${node} | { | abc
+| | Setup DUT | ${node}
+| | Setup Honeycomb service on DUTs | ${node}
-| Honeycomb should show no rogue interfaces
-| | [Documentation] | Checks if operational data contains interfaces not\
-| | ... | present in configuration and vice versa.
+| Log persisted configuration on node
+| | [Documentation] | Logs the content of Honeycomb's persitence files.
| | ...
| | ... | *Arguments:*
| | ... | - node - information about a DUT node. Type: dictionary
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| Honeycomb should show no rogue interfaces \| ${nodes['DUT1']} \|
+| | ... | \| Log persisted configuration on node \| ${nodes['DUT1']} \|
| | ...
| | [Arguments] | ${node}
-| | ${data_conf}= | InterfaceAPI.Get all interfaces cfg data | ${node}
-| | ${data_oper}= | InterfaceAPI.Get all interfaces oper data | ${node}
-| | Compare interface lists | ${data_conf} | ${data_oper}
+| | Log persisted configuration | ${node}
-| Persistence file is damaged during restart
-| | [Documentation] | Shuts down Honeycomb, modifies persistence files to\
-| | ... | simulate damage, then restarts VPP and starts up Honeycomb again.
+| Interface Persistence Setup
+| | [Documentation] | Configure interface state, ipv4 and ipv6 addresses
+| | ... | and neighbors.
| | ...
| | ... | *Arguments:*
| | ... | - node - information about a DUT node. Type: dictionary
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| Persistence file is damaged during restart \| ${nodes['DUT1']} \|
+| | ... | \| Interface Persistence Setup \| ${nodes['DUT1']} \|
| | ...
| | [Arguments] | ${node}
-| | Stop Honeycomb service on DUTs | ${node}
-| | Modify persistence files | ${node} | { | abc
-| | Setup DUT | ${node}
-| | Setup Honeycomb service on DUTs | ${node}
+| | Honeycomb and VPP should have default configuration | ${node}
+| | Import Variables | resources/test_data/honeycomb/interface_ip.py
+| | Honeycomb sets interface state | ${node} | ${interface} | up
+| | Honeycomb sets interface ipv4 address with prefix
+| | ... | ${node} | ${interface} | ${ipv4_address} | ${ipv4_prefix}
+| | Honeycomb adds interface ipv4 neighbor
+| | ... | ${node} | ${interface} | ${ipv4_neighbor} | ${neighbor_mac}
+| | Honeycomb sets interface ipv6 address
+| | ... | ${node} | ${interface} | ${ipv6_address} | ${ipv6_prefix}
+| | Honeycomb adds interface ipv6 neighbor
+| | ... | ${node} | ${interface} | ${ipv6_neighbor} | ${neighbor_mac}
-| Log persisted configuration on node
-| | [Documentation] | Logs the content of Honeycomb's persitence files.
+| Interface Persistence Check
+| | [Documentation] | Verify interface state, ipv4 and ipv6 addresses
+| | ... | and neighbors.
| | ...
| | ... | *Arguments:*
| | ... | - node - information about a DUT node. Type: dictionary
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| Log persisted configuration on node \| ${nodes['DUT1']} \|
+| | ... | \| Interface Persistence Check \| ${nodes['DUT1']} \|
+| | ...
+| | [Arguments] | ${node}
+| | Interface state from Honeycomb should be | ${node} | ${interface} | up
+| | IPv4 address from Honeycomb should be
+| | ... | ${node} | ${interface} | ${ipv4_address} | ${ipv4_prefix}
+| | IPv4 address from VAT should be
+| | ... | ${node} | ${interface} | ${ipv4_address}
+| | ... | ${ipv4_prefix} | ${ipv4_mask}
+| | IPv4 neighbor from Honeycomb should be
+| | ... | ${node} | ${interface} | ${ipv4_neighbor} | ${neighbor_mac}
+| | IPv6 address from Honeycomb should contain
+| | ... | ${node} | ${interface} | ${ipv6_address} | ${ipv6_prefix}
+| | IPv6 address from VAT should contain
+| | ... | ${node} | ${interface} | ${ipv6_address} | ${ipv6_prefix}
+| | IPv6 neighbor from Honeycomb should be
+| | ... | ${node} | ${interface} | ${ipv6_neighbor} | ${neighbor_mac}
+
+| Bridge Domain Persistence Setup
+| | [Documentation] | Configure bridge domain, BD interface assignment
+| | ... | and L2 fib entry.
+| | ...
+| | ... | *Arguments:*
+| | ... | - node - information about a DUT node. Type: dictionary
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Bridge Domain Persistence Setup \| ${nodes['DUT1']} \|
| | ...
| | [Arguments] | ${node}
-| | Log persisted configuration | ${node} \ No newline at end of file
+| | Honeycomb and VPP should have default configuration | ${node}
+| | Import Variables | resources/test_data/honeycomb/l2_fib.py
+| | ... | ${node} | ${interface} | ${interface}
+| | Honeycomb creates first l2 bridge domain
+| | ... | ${node} | ${bd_name} | ${bd_settings}
+| | Honeycomb adds interface to bridge domain
+| | ... | ${node} | ${interface} | ${bd_name} | ${if_bd_settings}
+| | Honeycomb adds L2 FIB entry to bridge domain
+| | ... | ${node} | ${bd_name} | ${l2_fib_forward_cfg}
+
+| Bridge Domain Persistence Check
+| | [Documentation] | Verify bridge domain, BD interface assignment
+| | ... | and L2 fib entry.
+| | ...
+| | ... | *Arguments:*
+| | ... | - node - information about a DUT node. Type: dictionary
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Bridge Domain Persistence Check \| ${nodes['DUT1']} \|
+| | ...
+| | [Arguments] | ${node}
+| | Bridge domain Operational Data From Honeycomb Should Be
+| | ... | ${node} | ${bd_name} | ${bd_settings}
+| | Bridge domain Operational Data From VAT Should Be
+| | ... | ${node} | ${0} | ${bd_settings}
+| | Bridge domain Operational Interface Assignment should be
+| | ... | ${node} | ${interface} | ${if_bd_settings}
+| | L2 FIB Entry from Honeycomb should be
+| | ... | ${node} | ${bd_name} | ${l2_fib_forward_oper}
+| | L2 FIB entry from VAT should be
+| | ... | ${node} | ${bd_index} | ${l2_fib_forward_vat} \ No newline at end of file
diff --git a/resources/libraries/robot/honeycomb/policer.robot b/resources/libraries/robot/honeycomb/policer.robot
index 65ef319d43..965b0f3cb5 100644
--- a/resources/libraries/robot/honeycomb/policer.robot
+++ b/resources/libraries/robot/honeycomb/policer.robot
@@ -36,7 +36,7 @@
| | Configure Policer
| | ... | ${node} | ${policer_data['name']} | ${policer_data}
-| Policer configuration from Honeycomb should be
+| Policer Operational Data From Honeycomb Should Be
| | [Documentation] | Retrieves Policer operational data and verifies if\
| | ... | Policer is configured correctly.
| | ...
@@ -47,14 +47,14 @@
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| Policer configuration from Honeycomb should be \
+| | ... | \| Policer Operational Data From Honeycomb Should Be \
| | ... | \| ${node} \| ${policer_data} \|
| | ...
| | [Arguments] | ${node} | ${policer_data}
| | ${data}= | Get Policer oper data | ${node} | ${policer_data['name']}
| | Compare data structures | ${data[0]} | ${policer_data}
-| Policer configuration from Honeycomb should be empty
+| Policer Operational Data From Honeycomb Should Be empty
| | [Documentation] | Checks whether Policer configuration from Honeycomb \
| | ... | is empty.
| | ...
@@ -63,7 +63,7 @@
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| Policer configuration from Honeycomb should be empty \
+| | ... | \| Policer Operational Data From Honeycomb Should Be empty \
| | ... | \| ${node} \|
| | ...
| | [Arguments] | ${node}
diff --git a/resources/libraries/robot/honeycomb/port_mirroring.robot b/resources/libraries/robot/honeycomb/port_mirroring.robot
index 81eedb944e..ef41c51fd3 100644
--- a/resources/libraries/robot/honeycomb/port_mirroring.robot
+++ b/resources/libraries/robot/honeycomb/port_mirroring.robot
@@ -42,7 +42,7 @@
| | InterfaceAPI.Configure interface SPAN
| | ... | ${node} | ${dst_interface} | ${src_interfaces}
-| Interface SPAN configuration from Honeycomb should be
+| Interface SPAN Operational Data From Honeycomb Should Be
| | [Documentation] | Retrieves interface operational data and verifies that\
| | ... | SPAN mirroring is configured with the provided interfaces.
| | ...
@@ -54,7 +54,7 @@
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| Interface SPAN configuration from Honeycomb should be \
+| | ... | \| Interface SPAN Operational Data From Honeycomb Should Be \
| | ... | \| ${nodes['DUT1']} \| GigabitEthernet0/8/0 \| GigabitEthernet0/9/0 \|
| | ...
| | [Arguments] | ${node} | ${dst_interface} | @{src_interfaces}
@@ -65,7 +65,7 @@
| | Sort list | ${src_interfaces}
| | Lists should be equal | ${data} | ${src_interfaces}
-| Interface SPAN configuration from Honeycomb should be empty
+| Interface SPAN Operational Data From Honeycomb Should Be empty
| | [Documentation] | Checks whether SPAN configuration from Honeycomb is empty.
| | ...
| | ... | *Arguments:*
@@ -74,7 +74,7 @@
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| Interface SPAN configuration from Honeycomb should be empty \
+| | ... | \| Interface SPAN Operational Data From Honeycomb Should Be empty \
| | ... | \| ${node} \| GigabitEthernetO/8/0 \|
| | ...
| | [Arguments] | ${node} | ${dst_interface}
@@ -82,7 +82,7 @@
| | Variable should not exist
| | ... | ${data['v3po:span']['mirrored-interfaces']['mirrored-interface']}
-| Interface SPAN configuration from VAT should be
+| Interface SPAN Operational Data From VAT Should Be
| | [Documentation] | Retrieves SPAN configuration from VAT dump and verifies\
| | ... | that SPAN mirroring is configured with the provided interfaces.
| | ...
@@ -94,7 +94,7 @@
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| Interface SPAN configuration from VAT should be \
+| | ... | \| Interface SPAN Operational Data From VAT Should Be \
| | ... | \| ${nodes['DUT1']} \| GigabitEthernet0/8/0 \| GigabitEthernet0/9/0 \|
| | ...
| | [Arguments] | ${node} | ${dst_interface} | @{src_interfaces}
diff --git a/resources/libraries/robot/honeycomb/slaac.robot b/resources/libraries/robot/honeycomb/slaac.robot
index 87abf3c34f..10e4887dca 100644
--- a/resources/libraries/robot/honeycomb/slaac.robot
+++ b/resources/libraries/robot/honeycomb/slaac.robot
@@ -35,7 +35,7 @@
| | Configure interface SLAAC
| | ... | ${node} | ${interface} | ${slaac_data}
-| SLAAC configuration from Honeycomb should be
+| SLAAC Operational Data From Honeycomb Should Be
| | [Documentation] | Retrieves SLAAC operational data and verifies that\
| | ... | SLAAC is configured with the provided interfaces.
| | ...
@@ -47,14 +47,14 @@
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| SLAAC configuration from Honeycomb should be \
+| | ... | \| SLAAC Operational Data From Honeycomb Should Be \
| | ... | \| ${node} \| ${interface} \| ${slaac_data} \|
| | ...
| | [Arguments] | ${node} | ${interface} | ${slaac_data}
| | ${data}= | Get interface SLAAC oper data | ${node} | ${interface}
| | Dictionaries should be equal | ${data} | ${slaac_data}
-| SLAAC configuration from Honeycomb should be empty
+| SLAAC Operational Data From Honeycomb Should Be empty
| | [Documentation] | Checks whether SLAAC configuration from Honeycomb \
| | ... | is empty.
| | ...
@@ -64,7 +64,7 @@
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| SLAAC configuration from Honeycomb should be empty \
+| | ... | \| SLAAC Operational Data From Honeycomb Should Be empty \
| | ... | \| ${node} \| ${interface} \|
| | ...
| | [Arguments] | ${node} | ${interface}
diff --git a/resources/libraries/robot/honeycomb/sub_interface.robot b/resources/libraries/robot/honeycomb/sub_interface.robot
index 5a42b56d11..1b1b80049b 100644
--- a/resources/libraries/robot/honeycomb/sub_interface.robot
+++ b/resources/libraries/robot/honeycomb/sub_interface.robot
@@ -46,7 +46,7 @@
| | interfaceAPI.Create sub interface | ${node} | ${super_interface}
| | ... | ${match} | ${tags} | &{sub_interface_settings}
-| Sub-interface configuration from Honeycomb should be
+| Sub-interface Operational Data From Honeycomb Should Be
| | [Documentation] | Retrieves sub-interface configuration through Honeycomb\
| | ... | and compares it with settings supplied in argument.
| | ...
@@ -58,7 +58,7 @@
| | ... | Type: dictionary
| | ...
| | ... | *Example:*
-| | ... | \| Sub-interface configuration from Honeycomb should be\
+| | ... | \| Sub-interface Operational Data From Honeycomb Should Be\
| | ... | \| ${nodes['DUT1']} \| GigabitEthernet0/8/0 \| 1\
| | ... | \| ${sub_if_1_params} \|
| | ...
@@ -69,7 +69,7 @@
| | ... | ${node} | ${super_interface} | ${identifier}
| | interfaceAPI.Compare Data Structures | ${api_data} | ${sub_if_settings}
-| Sub-interface configuration from Honeycomb should be empty
+| Sub-interface Operational Data From Honeycomb Should Be empty
| | [Documentation] | Retrieves sub-interface configuration through Honeycomb \
| | ... | and expects no data.
| | ...
@@ -79,7 +79,7 @@
| | ... | - identifier - Sub-interface ID. Type: integer or string
| | ...
| | ... | *Example:*
-| | ... | \| Sub-interface configuration from Honeycomb should be empty\
+| | ... | \| Sub-interface Operational Data From Honeycomb Should Be empty\
| | ... | \| ${nodes['DUT1']} \| GigabitEthernet0/8/0 \| 1 \|
| | ...
| | [Arguments] | ${node} | ${super_interface} | ${identifier}
@@ -112,7 +112,7 @@
| | Should be equal | ${api_data['admin-status']} | ${admin_state}
| | Should be equal | ${api_data['oper-status']} | ${oper_state}
-| Sub-interface configuration from VAT should be
+| Sub-interface Operational Data From VAT Should Be
| | [Documentation] | Retrieves sub-interface configuration through VAT and\
| | ... | compares it with settings supplied in argument.
| | ...
@@ -124,7 +124,7 @@
| | ... | sub-interface to be checked. Type: dictionary
| | ...
| | ... | *Example:*
-| | ... | \| Sub-interface configuration from VAT should be\
+| | ... | \| Sub-interface Operational Data From VAT Should Be\
| | ... | \| ${nodes['DUT1']} \| GigabitEthernet0/8/0.1 \| ${sub_if_1_params} \|
| | ...
| | [Arguments] | ${node} | ${sub_interface} | ${sub_interface_settings}
@@ -268,7 +268,7 @@
| | interfaceAPI.Add bridge domain to sub interface
| | ... | ${node} | ${super_if} | ${identifier} | ${sub_bd_setings}
-| Sub-interface bridge domain configuration from Honeycomb should be
+| Sub-interface bridge domain Operational Data From Honeycomb Should Be
| | [Documentation] | Uses Honeycomb API to verify sub-interface assignment to\
| | ... | a bridge domain.
| | ...
@@ -279,7 +279,7 @@
| | ... | - settings - Bridge domain parameters to be checked. Type: dictionary
| | ...
| | ... | *Example:*
-| | ... | \| Sub-interface bridge domain configuration from Honeycomb should be\
+| | ... | \| Sub-interface bridge domain Operational Data From Honeycomb Should Be\
| | ... | \| ${nodes['DUT1']} \| GigabitEthernet0/8/0 \| 1 \| ${bd_settings} \|
| | ...
| | [Arguments] | ${node} | ${super_if} | ${identifier} | ${settings}
@@ -289,7 +289,7 @@
| | Should be equal | ${if_data['bridge-domain']}
| | ... | ${settings['bridge-domain']}
-| Sub-interface bridge domain configuration from VAT should be
+| Sub-interface bridge domain Operational Data From VAT Should Be
| | [Documentation] | Uses VAT to verify sub-interface assignment to a bridge\
| | ... | domain.
| | ...
@@ -300,7 +300,7 @@
| | ... | - setings - Parameters to be checked. Type: dictionary
| | ...
| | ... | *Example:*
-| | ... | \| Sub-interface bridge domain configuration from VAT should be\
+| | ... | \| Sub-interface bridge domain Operational Data From VAT Should Be\
| | ... | \| ${nodes['DUT1']} \| GigabitEthernet0/8/0.1 \| ${sub_bd_setings} \|
| | ...
| | [Arguments] | ${node} | ${interface} | ${settings}
diff --git a/resources/libraries/robot/honeycomb/tap.robot b/resources/libraries/robot/honeycomb/tap.robot
index 2fffffa067..1a045d1909 100644
--- a/resources/libraries/robot/honeycomb/tap.robot
+++ b/resources/libraries/robot/honeycomb/tap.robot
@@ -67,7 +67,7 @@
| | [Arguments] | ${node} | ${interface}
| | interfaceAPI.Delete interface | ${node} | ${interface}
-| TAP configuration from Honeycomb should be
+| TAP Operational Data From Honeycomb Should Be
| | [Documentation] | Retrieves interface TAP configuration through Honeycomb\
| | ... | and compares with settings supplied in argument.
| | ...
@@ -78,7 +78,7 @@
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| TAP configuration from Honeycomb should be \
+| | ... | \| TAP Operational Data From Honeycomb Should Be \
| | ... | \| ${nodes['DUT1']} \| tap_int1 \| ${{'tap-name':'tap1',\
| | ... | 'mac':'08:00:27:60:26:ab', 'device-instance':3}} \|
| | ...
@@ -89,7 +89,7 @@
| | ${api_mac}= | Set Variable | ${api_data['phys-address']}
| | Should be equal | ${api_mac} | ${settings['mac']}
-| TAP configuration from VAT should be
+| TAP Operational Data From VAT Should Be
| | [Documentation] | Retrieves interface TAP configuration through VAT and\
| | ... | compares with settings supplied in argument.
| | ...
@@ -99,7 +99,7 @@
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| TAP configuration from Honeycomb should be \
+| | ... | \| TAP Operational Data From Honeycomb Should Be \
| | ... | \| ${nodes['DUT1']} \| ${{'tap-name':'tap1',\
| | ... | 'mac':'08:00:27:60:26:ab', 'device-instance':3}} \|
| | ...
@@ -108,7 +108,7 @@
| | Should be equal | ${vat_data['dev_name']} | ${settings['tap-name']}
# other settings not accessible through VAT commands
-| TAP configuration from Honeycomb should be empty
+| TAP Operational Data From Honeycomb Should Be empty
| | [Documentation] | Attempts to retrieve interface TAP configuration\
| | ... | through Honeycomb and expects to recieve an empty dictionary.
| | ...
@@ -118,7 +118,7 @@
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| TAP configuration from Honeycomb should be empty\
+| | ... | \| TAP Operational Data From Honeycomb Should Be empty\
| | ... | \| ${nodes['DUT1']} \| tap_int1 \|
| | ...
| | [Arguments] | ${node} | ${interface}
@@ -126,7 +126,7 @@
| | Run keyword and expect error | *KeyError: 'v3po:tap' | Set Variable
| | ... | ${api_data['v3po:tap']}
-| TAP configuration from VAT should be empty
+| TAP Operational Data From VAT Should Be empty
| | [Documentation] | Attempts to retrieve interface TAP configuration\
| | ... | through VAT and expects a "no data" error.
| | ...
@@ -136,7 +136,7 @@
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| TAP configuration from VAT should be empty\
+| | ... | \| TAP Operational Data From VAT Should Be empty\
| | ... | \| ${nodes['DUT1']} \| tap_int1 \|
| | ...
| | [Arguments] | ${node} | ${interface}
diff --git a/resources/libraries/robot/honeycomb/vhost_user.robot b/resources/libraries/robot/honeycomb/vhost_user.robot
index 89f6ddf09f..b0941ed1d3 100644
--- a/resources/libraries/robot/honeycomb/vhost_user.robot
+++ b/resources/libraries/robot/honeycomb/vhost_user.robot
@@ -67,7 +67,7 @@
| | interfaceAPI.Configure interface vhost user | ${node} | ${interface}
| | ... | &{settings}
-| Vhost-user configuration from Honeycomb should be
+| Vhost-user Operational Data From Honeycomb Should Be
| | [Documentation] | Retrieves interface vhost-user configuration through\
| | ... | Honeycomb and compares it with settings supplied in argument.
| | ...
@@ -78,7 +78,7 @@
| | ... | Type: dictionary
| | ...
| | ... | *Example:*
-| | ... | \| Vhost-user configuration from Honeycomb should be\
+| | ... | \| Vhost-user Operational Data From Honeycomb Should Be\
| | ... | \| ${nodes['DUT1']} \| vhost_test \| ${vhost_user_settings} \|
| | ...
| | [Arguments] | ${node} | ${interface} | ${settings}
@@ -87,7 +87,7 @@
| | :FOR | ${key} | IN | @{settings.keys()}
| | | Should be equal | ${api_vhost['${key}']} | ${settings['${key}']}
-| Vhost-user configuration from VAT should be
+| Vhost-user Operational Data From VAT Should Be
| | [Documentation] | Retrieves interface vhost-user configuration through VAT\
| | ... | and compares it with settings supplied in argument.
| | ...
@@ -97,7 +97,7 @@
| | ... | Type: dictionary
| | ...
| | ... | *Example:*
-| | ... | \| Vhost-user configuration from VAT should be\
+| | ... | \| Vhost-user Operational Data From VAT Should Be\
| | ... | \| ${nodes['DUT1']} \| vhost_test \|
| | ...
| | ... | *Note:*
@@ -113,7 +113,7 @@
| | should be equal as strings | ${vat_data['is_server']}
| | ... | ${translate['${settings['role']}']}
-| Vhost-user configuration from Honeycomb should be empty
+| Vhost-user Operational Data From Honeycomb Should Be empty
| | [Documentation] | Attempts to retrieve interface vhost-user configuration\
| | ... | through Honeycomb and expects to recieve an empty dictionary.
| | ...
@@ -122,7 +122,7 @@
| | ... | - interface - name of an interface on the specified node. Type: string
| | ...
| | ... | *Example:*
-| | ... | \| Vhost-user configuration from Honeycomb should be empty\
+| | ... | \| Vhost-user Operational Data From Honeycomb Should Be empty\
| | ... | \| ${nodes['DUT1']} \| vhost_test \|
| | ...
| | [Arguments] | ${node} | ${interface}
@@ -130,7 +130,7 @@
| | Run keyword and expect error | *KeyError: 'v3po:vhost-user'
| | ... | Should be empty | ${api_data['v3po:vhost-user']}
-| Vhost-user configuration from VAT should be empty
+| Vhost-user Operational Data From VAT Should Be empty
| | [Documentation] | Attempts to retrieve interface vhost-user configuration\
| | ... | through VAT and expects a "no data" error.
| | ...
@@ -138,7 +138,7 @@
| | ... | - node - information about a DUT node. Type: dictionary
| | ...
| | ... | *Example:*
-| | ... | \| Vhost-user configuration from VAT should be empty\
+| | ... | \| Vhost-user Operational Data From VAT Should Be empty\
| | ... | \| ${nodes['DUT1']} \|
| | ...
| | [Arguments] | ${node}
diff --git a/resources/libraries/robot/honeycomb/vxlan.robot b/resources/libraries/robot/honeycomb/vxlan.robot
index 07c5495ec7..b3bf083587 100644
--- a/resources/libraries/robot/honeycomb/vxlan.robot
+++ b/resources/libraries/robot/honeycomb/vxlan.robot
@@ -49,7 +49,7 @@
| | [Arguments] | ${node} | ${interface}
| | interfaceAPI.Delete interface | ${node} | ${interface}
-| VxLAN configuration from Honeycomb should be
+| VxLAN Operational Data From Honeycomb Should Be
| | [Documentation] | Retrieves interface VxLAN configuration through Honeycomb\
| | ... | and compares with settings supplied in argument.
| | ...
@@ -60,7 +60,7 @@
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| VxLAN configuration from Honeycomb should be \
+| | ... | \| VxLAN Operational Data From Honeycomb Should Be \
| | ... | \|${nodes['DUT1']} \| vxlan_01 \| ${{'src':'192.168.0.2',\
| | ... | 'dst':'192.168.0.3', 'vni':5, 'encap-vrf-id':0}} \|
| | ...
@@ -70,7 +70,7 @@
| | :FOR | ${key} | IN | @{settings.keys()}
| | | Should be equal | ${api_vxlan['${key}']} | ${settings['${key}']}
-| VxLAN configuration from VAT should be
+| VxLAN Operational Data From VAT Should Be
| | [Documentation] | Retrieves interface VxLAN configuration through VAT and\
| | ... | compares with settings supplied in argument.
| | ...
@@ -80,7 +80,7 @@
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| VxLAN configuration from Honeycomb should be \
+| | ... | \| VxLAN Operational Data From Honeycomb Should Be \
| | ... | \|${nodes['DUT1']} \| ${{'src':'192.168.0.2',\
| | ... | 'dst':'192.168.0.3', 'vni':5, 'encap-vrf-id':0}} \|
| | ...
@@ -97,7 +97,7 @@
| | Should be equal
| | ... | ${vat_data['encap_vrf_id']} | ${settings['encap-vrf-id']}
-| VxLAN configuration from Honeycomb should be empty
+| VxLAN Operational Data From Honeycomb Should Be empty
| | [Documentation] | Attempts to retrieve interface VxLAN configuration\
| | ... | through Honeycomb and expects to recieve an empty dictionary.
| | ...
@@ -107,7 +107,7 @@
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| VxLAN configuration from Honeycomb should be empty\
+| | ... | \| VxLAN Operational Data From Honeycomb Should Be empty\
| | ... | \|${nodes['DUT1']} \| vxlan_01 \|
| | ...
| | [Arguments] | ${node} | ${interface}
@@ -115,7 +115,7 @@
| | Run keyword and expect error | *KeyError: 'v3po:vxlan' | Set Variable
| | ... | ${api_data['v3po:vxlan']}
-| VxLAN configuration from VAT should be empty
+| VxLAN Operational Data From VAT Should Be empty
| | [Documentation] | Attempts to retrieve interface VxLAN configuration\
| | ... | through VAT and expects a "no data" error.
| | ...
@@ -125,7 +125,7 @@
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| VxLAN configuration from VAT should be empty\
+| | ... | \| VxLAN Operational Data From VAT Should Be empty\
| | ... | \| ${nodes['DUT1']} \|
| | ...
| | [Arguments] | ${node}
diff --git a/resources/libraries/robot/honeycomb/vxlan_gpe.robot b/resources/libraries/robot/honeycomb/vxlan_gpe.robot
index 14a4910bb6..6384061edd 100644
--- a/resources/libraries/robot/honeycomb/vxlan_gpe.robot
+++ b/resources/libraries/robot/honeycomb/vxlan_gpe.robot
@@ -66,7 +66,7 @@
| | ...
| | interfaceAPI.Delete interface | ${node} | ${interface}
-| VxLAN GPE configuration from Honeycomb should be
+| VxLAN GPE Operational Data From Honeycomb Should Be
| | [Documentation] | Uses Honeycomb API to get operational data about the\
| | ... | given interface and compares them to the values provided as arguments.
| | ...
@@ -78,7 +78,7 @@
| | ... | - vxlan_gpe_settings - VxLAN GPE specific parameters. Type: dictionary
| | ...
| | ... | *Example:*
-| | ... | \| VxLAN GPE configuration from Honeycomb should be \
+| | ... | \| VxLAN GPE Operational Data From Honeycomb Should Be \
| | ... | \| ${nodes['DUT1']} \| vxlan_gpe_tunnel0 \| ${base_params} \
| | ... | \| ${vxlan_gpe_params} \|
| | ...
@@ -101,7 +101,7 @@
| | ... | AND
| | ... | Should be equal as strings | ${api_data['oper-status']} | down
-| VxLAN GPE configuration from VAT should be
+| VxLAN GPE Operational Data From VAT Should Be
| | [Documentation] | Uses VAT to get operational data about the given\
| | ... | interface and compares them to the values provided as arguments.
| | ...
@@ -111,7 +111,7 @@
| | ... | - vxlan_gpe_settings - VxLAN GPE specific parameters. Type: dictionary
| | ...
| | ... | *Example:*
-| | ... | \| VxLAN GPE configuration from VAT should be \
+| | ... | \| VxLAN GPE Operational Data From VAT Should Be \
| | ... | \| ${nodes['DUT1']} \| vxlan_gpe_tunnel0 \| ${vxlan_gpe_params} \|
| | ...
| | [Arguments] | ${node} | ${interface} | ${vxlan_gpe_params}
@@ -154,7 +154,7 @@
| | Should be equal as strings
| | ... | ${api_data['if-index']} | ${sw_if_index}
-| VxLAN GPE configuration from Honeycomb should be empty
+| VxLAN GPE Operational Data From Honeycomb Should Be empty
| | [Documentation] | Uses Honeycomb API to get operational data about\
| | ... | the given interface and expects to fail.
| | ...
@@ -162,7 +162,7 @@
| | ... | - node - information about a DUT node. Type: dictionary
| | ...
| | ... | *Example:*
-| | ... | \| VxLAN GPE configuration from Honeycomb should be empty\
+| | ... | \| VxLAN GPE Operational Data From Honeycomb Should Be empty\
| | ... | \| ${nodes['DUT1']} \| vxlan_gpe_tunnel0 \|
| | ...
| | [Arguments] | ${node} | ${interface}
@@ -170,7 +170,7 @@
| | ${api_data}= | interfaceAPI.Get interface oper data | ${node} | ${interface}
| | Should be empty | ${api_data}
-| VxLAN GPE configuration from VAT should be empty
+| VxLAN GPE Operational Data From VAT Should Be empty
| | [Documentation] | Uses VAT to get operational data about the given\
| | ... | interface and expects an empty dictionary.
| | ...
@@ -178,7 +178,7 @@
| | ... | - node - information about a DUT node. Type: dictionary
| | ...
| | ... | *Example:*
-| | ... | \| VxLAN GPE configuration from VAT should be empty\
+| | ... | \| VxLAN GPE Operational Data From VAT Should Be empty\
| | ... | \| ${nodes['DUT1']} \|
| | ...
| | [Arguments] | ${node}
diff --git a/resources/test_data/honeycomb/interface_ip.py b/resources/test_data/honeycomb/interface_ip.py
new file mode 100644
index 0000000000..392623b5e8
--- /dev/null
+++ b/resources/test_data/honeycomb/interface_ip.py
@@ -0,0 +1,34 @@
+# Copyright (c) 2016 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Test variables for Basic interface management and IP addresses."""
+
+# Configuration which will be set and verified during tests.
+ipv4_address = "192.168.0.2"
+ipv4_address2 = "192.168.1.2"
+ipv4_prefix = 24
+ipv4_mask = "255.255.255.0"
+ipv4_neighbor = "192.168.0.4"
+ipv4_neighbor2 = "192.168.1.4"
+ipv4_settings = {"mtu": 9000}
+ipv6_address = "10::10"
+ipv6_address2 = "11::10"
+ipv6_prefix = 64
+ipv6_neighbor = "10::11"
+ipv6_neighbor2 = "11::11"
+neighbor_mac = "08:00:27:c0:5d:37"
+neighbor_mac2 = "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}
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