aboutsummaryrefslogtreecommitdiffstats
path: root/tests/func/honeycomb
diff options
context:
space:
mode:
Diffstat (limited to 'tests/func/honeycomb')
-rw-r--r--tests/func/honeycomb/__init__.robot9
-rw-r--r--tests/func/honeycomb/mgmt-cfg-acl-apihc-apivat-func.robot12
-rw-r--r--tests/func/honeycomb/mgmt-cfg-dhcp-apihc-apivat-func.robot26
-rw-r--r--tests/func/honeycomb/mgmt-cfg-int-apihcnc-func.robot10
-rw-r--r--tests/func/honeycomb/mgmt-cfg-int-subint-apihc-apivat-func.robot16
-rw-r--r--tests/func/honeycomb/mgmt-cfg-intip4-intip6-apihc-apivat-func.robot27
-rw-r--r--tests/func/honeycomb/mgmt-cfg-inttap-apihc-apivat-func.robot6
-rw-r--r--tests/func/honeycomb/mgmt-cfg-intvhost-apihc-apivat-func.robot3
-rw-r--r--tests/func/honeycomb/mgmt-cfg-l2bd-apihc-apivat-func.robot8
-rw-r--r--tests/func/honeycomb/mgmt-cfg-l2fib-apihc-apivat-func.robot7
-rw-r--r--tests/func/honeycomb/mgmt-cfg-lisp-apihc-apivat-func.robot24
-rw-r--r--tests/func/honeycomb/mgmt-cfg-nsh-apihc-apivat-func.robot14
-rw-r--r--tests/func/honeycomb/mgmt-cfg-pbb-apihc-apivat-func.robot19
-rw-r--r--tests/func/honeycomb/mgmt-cfg-pluginacl-apihc-apivat-func.robot54
-rw-r--r--tests/func/honeycomb/mgmt-cfg-policer-apihc-func.robot26
-rw-r--r--tests/func/honeycomb/mgmt-cfg-proxyarp-apihc-func.robot13
-rw-r--r--tests/func/honeycomb/mgmt-cfg-proxynd6-apihc-func.robot9
-rw-r--r--tests/func/honeycomb/mgmt-cfg-routing-apihc-apivat-func.robot18
-rw-r--r--tests/func/honeycomb/mgmt-cfg-slaac-apihc-func.robot31
-rw-r--r--tests/func/honeycomb/mgmt-cfg-snat44-apihc-apivat-func.robot11
-rw-r--r--tests/func/honeycomb/mgmt-cfg-spanrx-apihc-apivat-func.robot20
-rw-r--r--tests/func/honeycomb/mgmt-cfg-vxlan-apihc-apivat-func.robot11
-rw-r--r--tests/func/honeycomb/mgmt-cfg-vxlangpe-apihc-apivat-func.robot8
-rw-r--r--tests/func/honeycomb/mgmt-notif-apihcnc-func.robot6
-rw-r--r--tests/func/honeycomb/mgmt-statepersist-apihc-func.robot32
25 files changed, 359 insertions, 61 deletions
diff --git a/tests/func/honeycomb/__init__.robot b/tests/func/honeycomb/__init__.robot
index 128f19f6a0..3f79a6a1f8 100644
--- a/tests/func/honeycomb/__init__.robot
+++ b/tests/func/honeycomb/__init__.robot
@@ -19,12 +19,13 @@
| Library | resources/libraries/python/honeycomb/HcPersistence.py
| Resource | resources/libraries/robot/default.robot
| Resource | resources/libraries/robot/honeycomb/honeycomb.robot
-| Suite Setup | Run Keywords | Setup All DUTs Before Test | AND
+| ...
+| Suite Setup | Run Keywords | Configure all DUTs before test | AND
| ... | Configure Honeycomb for testing | ${node} | AND
| ... | Configure ODL Client for testing | ${node} | AND
| ... | Set Global Variable | ${node}
-| Suite Teardown
-| ... | Archive Honeycomb log file | ${node}
+| ...
+| Suite Teardown | Archive Honeycomb log file | ${node}
*** Keywords ***
| Configure Honeycomb for testing
@@ -35,7 +36,7 @@
| | Configure Persistence | ${node} | disable
| | Configure jVPP timeout | ${node} | ${14}
| | Clear Persisted Honeycomb Configuration | ${node}
-| | Setup Honeycomb Service On DUTs | ${node}
+| | Configure Honeycomb service on DUTs | ${node}
| Configure ODL Client for testing
| | [Arguments] | ${node}
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 9d94d3d024..b18b111981 100644
--- a/tests/func/honeycomb/mgmt-cfg-acl-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-acl-apihc-apivat-func.robot
@@ -20,13 +20,17 @@
| Resource | resources/libraries/robot/honeycomb/honeycomb.robot
| Resource | resources/libraries/robot/honeycomb/access_control_lists.robot
| Variables | resources/test_data/honeycomb/acl.py
+| ...
| Suite Teardown | Restart Honeycomb and VPP | ${node}
+| ...
| Documentation | *Honeycomb access control lists test suite.*
+| ...
| Force Tags | HC_FUNC
*** Test Cases ***
| TC01: Honeycomb can create ACL classify table
| | [Documentation] | Check if Honeycomb API can create an ACL table.
+| | ...
| | Given ACL table from Honeycomb should not exist
| | ... | ${node} | ${hc_acl_table['name']}
| | And ACL table from VAT should not exist
@@ -39,6 +43,7 @@
| TC02: Honeycomb can remove ACL table
| | [Documentation] | Check if Honeycomb API can delete an ACL table.
+| | ...
| | Given ACL table from Honeycomb should be | ${node} | ${hc_acl_table_oper}
| | And ACL table from VAT should be
| | ... | ${node} | ${table_index} | ${vat_acl_table}
@@ -50,6 +55,7 @@
| TC03: Honeycomb manages more than one ACL table
| | [Documentation] | Check if Honeycomb API can create another ACL table.
+| | ...
| | Given ACL table from Honeycomb should not exist
| | ... | ${node} | ${hc_acl_table['name']}
| | And ACL table from VAT should not exist
@@ -65,6 +71,7 @@
| TC04: Honeycomb can add ACL session to table
| | [Documentation] | Check if Honeycomb API can add an ACL session to a table.
+| | ...
| | Given ACL table from Honeycomb should be | ${node} | ${hc_acl_table_oper}
| | And ACL table from VAT should be
| | ... | ${node} | ${table_index} | ${vat_acl_table}
@@ -77,6 +84,7 @@
| TC05: Honeycomb can remove ACL session
| | [Documentation] | Check if Honeycomb API can remove an ACL session.
+| | ...
| | Given ACL session from Honeycomb should be
| | ... | ${node} | ${hc_acl_table['name']} | ${hc_acl_session}
| | And ACL session from VAT should be
@@ -91,6 +99,7 @@
| TC06: Honeycomb manages more than one ACL session on one table
| | [Documentation] | Check if Honeycomb API can add another ACL session\
| | ... | to a table.
+| | ...
| | Given ACL session from Honeycomb should not exist
| | ... | ${node} | ${hc_acl_table['name']} | ${hc_acl_session['match']}
| | And ACL session from VAT should not exist
@@ -110,6 +119,7 @@
| TC07: Honeycomb enables ACL on interface
| | [Documentation] | Check if Honeycomb API can enable ACL on an interface.
+| | ...
| | Given ACL table from Honeycomb should be | ${node} | ${hc_acl_table_oper}
| | And ACL table from VAT should be
| | ... | ${node} | ${table_index} | ${vat_acl_table}
@@ -126,6 +136,7 @@
| TC08: Honeycomb disables ACL on interface
| | [Documentation] | Check if Honeycomb API can disable ACL on an interface.
+| | ...
| | Given Interface ACL configuration from Honeycomb should be
| | ... | ${node} | ${interface} | ${hc_acl_table['name']}
| | And Interface ACL configuration from VAT should be
@@ -139,6 +150,7 @@
| TC09: Honeycomb can remove one out of multiple ACL tables
| | [Documentation] | Check if Honeycomb API can delete an ACL table if more\
| | ... | than one table exists.
+| | ...
| | Given ACL table from Honeycomb should be | ${node} | ${hc_acl_table_oper}
| | And ACL table from VAT should be
| | ... | ${node} | ${table_index} | ${vat_acl_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 5b6656958d..fba37e6318 100644
--- a/tests/func/honeycomb/mgmt-cfg-dhcp-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-dhcp-apihc-apivat-func.robot
@@ -24,9 +24,14 @@
| Library | resources.libraries.python.IPv6Util
| Library | resources.libraries.python.Routing
| Variables | resources/test_data/honeycomb/dhcp_relay.py
+| ...
+| ...
| Documentation | *Honeycomb DHCP relay test suite.*
+| ...
| Test Setup | Clear Packet Trace on All DUTs | ${nodes}
+| ...
| Suite Teardown | Restart Honeycomb and VPP | ${node}
+| ...
| Force Tags | HC_FUNC
*** Test Cases ***
@@ -38,20 +43,23 @@
| | ... | neighbors and configure DHCP relay.
| | ... | [Ver] Send DHCP packets from TG interface to DUT. Receive all packets\
| | ... | 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 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}
| | When DHCP relay test setup
-| | Then Send DHCP messages and check answer | ${tg_node} | ${tg_to_dut_if1} | ${tg_to_dut_if2}
-| | ... | ${dhcp_server1_ip} | ${tg_to_dut_if2_mac} | ${client_ip}
-| | ... | ${tg_to_dut_if1_mac} | ${dut_to_tg_if1_ip}
+| | Then Send DHCP messages and check answer | ${tg_node} | ${tg_to_dut_if1}
+| | ... | ${tg_to_dut_if2} | ${dhcp_server1_ip} | ${tg_to_dut_if2_mac}
+| | ... | ${client_ip} | ${tg_to_dut_if1_mac} | ${dut_to_tg_if1_ip}
| TC02: Honeycomb can remove DHCP relay entry
| | [Documentation] | Remove DHCP relay configuration, and verify that\
| | ... | it was removed.
+| | ...
| | Given DHCP relay configuration from Honeycomb should contain
| | ... | ${node} | ${relay1_oper}
| | When Honeycomb clears DHCP relay configuration | ${node}
@@ -60,7 +68,9 @@
| 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 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
@@ -74,9 +84,11 @@
| | ... | neighbors and configure DHCP relay.
| | ... | [Ver] Send DHCPv6 packets from TG interface to DUT. Receive all\
| | ... | packets 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} | ipv6
| | ... | AND | Honeycomb clears DHCP relay configuration | ${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
@@ -96,10 +108,10 @@
| | ... | ${dut_to_tg_if1} | ${dut_to_tg_if1_ip} | ${prefix_length}
| | Honeycomb sets interface IPv4 address with prefix | ${dut_node}
| | ... | ${dut_to_tg_if2} | ${dut_to_tg_if2_ip} | ${prefix_length}
-| | Add ARP on DUT
-| | ... | ${dut_node} | ${dut_to_tg_if2} | ${dhcp_server1_ip} | ${tg_to_dut_if2_mac}
-| | Add ARP on DUT
-| | ... | ${dut_node} | ${dut_to_tg_if2} | ${dhcp_server2_ip} | ${tg_to_dut_if2_mac}
+| | Add ARP on DUT | ${dut_node} | ${dut_to_tg_if2} | ${dhcp_server1_ip}
+| | ... | ${tg_to_dut_if2_mac}
+| | Add ARP on DUT | ${dut_node} | ${dut_to_tg_if2} | ${dhcp_server2_ip}
+| | ... | ${tg_to_dut_if2_mac}
| | And VPP Route Add | ${dut_node} | 255.255.255.255 | 32 | ${NONE} | local
| | ... | ${FALSE} | ${NONE}
diff --git a/tests/func/honeycomb/mgmt-cfg-int-apihcnc-func.robot b/tests/func/honeycomb/mgmt-cfg-int-apihcnc-func.robot
index c6ae380f9b..3e3c64fd1f 100644
--- a/tests/func/honeycomb/mgmt-cfg-int-apihcnc-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-int-apihcnc-func.robot
@@ -19,11 +19,13 @@
| Library | resources.libraries.python.honeycomb.HcAPIKwInterfaces.InterfaceKeywords
| ... | WITH NAME | InterfaceAPI
| Variables | resources/test_data/honeycomb/netconf/triggers.py
+| ...
| Documentation | *Netconf test suite. Contains test cases that need to bypass\
| ... | REST API.*
+| ...
| Force Tags | HC_FUNC | HC_REST_ONLY
-| Suite Teardown
-| ... | Restart Honeycomb and VPP | ${node}
+| ...
+| Suite Teardown | Restart Honeycomb and VPP | ${node}
*** Variables ***
| ${interface}= | ${node['interfaces']['port1']['name']}
@@ -34,6 +36,7 @@
| TC01: Honeycomb can create and delete interfaces
| | [Documentation] | Repeatedly create and delete an interface through Netconf\
| | ... | and check the reply for any errors.
+| | ...
| | Given Netconf session should be established | ${node}
| | And Honeycomb creates first L2 bridge domain
| | ... | ${node} | bd_netconf | ${bd_settings}
@@ -44,6 +47,7 @@
| TC02: Transaction revert test case 1
| | [Documentation] | Configure two conflicting VxLAN tunnels, then verify\
| | ... | that neither tunnel exists.
+| | ...
| | Given Netconf session should be established | ${node}
| | ${if_data}= | And InterfaceAPI.Get all interfaces oper data | ${node}
| | When Error trigger is sent | ${trigger_revert1}
@@ -53,6 +57,7 @@
| TC03: Transaction revert test case 2
| | [Documentation] | Configure two conflicting TAP interfaces, then verify\
| | ... | that neither interface exists.
+| | ...
| | Given Netconf session should be established | ${node}
| | ${if_data}= | And InterfaceAPI.Get all interfaces oper data | ${node}
| | When Error trigger is sent | ${trigger_revert1}
@@ -61,6 +66,7 @@
| TC04: Vlan subinterface creation
| | [Documentation] | Configure a Vlan sub-interface under a physical interface.
+| | ...
| | Given Netconf session should be established | ${node}
| | When Error Trigger Is Sent
| | ... | ${trigger_vlan} | interface=${interface}
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 803cfa0932..f766eb296c 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
@@ -18,10 +18,13 @@
| Resource | resources/libraries/robot/honeycomb/bridge_domain.robot
| Resource | resources/libraries/robot/honeycomb/interfaces.robot
| Variables | resources/test_data/honeycomb/sub_interfaces.py
+| ...
| Suite Setup | Add Interface local0 To Topology | ${node}
-| Suite Teardown
-| ... | Restart Honeycomb and VPP | ${node}
+| ...
+| Suite Teardown | Restart Honeycomb and VPP | ${node}
+| ...
| Force Tags | HC_FUNC
+| ...
| Documentation | *Honeycomb sub-interface management test suite.*
*** Variables ***
@@ -365,8 +368,10 @@
| TC17: Honeycomb modifies existing sub-interface ipv4 address
| | [Documentation] | Check if Honeycomb can modify an ipv4 address already\
| | ... | configured on the sub-interface.
+| | ...
| | [Teardown] | Honeycomb removes all sub-interface ipv4 addresses
| | ... | ${node} | ${super_if} | ${sub_if_id}
+| | ...
| | Given sub-interface ipv4 address from Honeycomb should be empty
| | ... | ${node} | ${super_if} | ${sub_if_id}
| | And sub-interface ipv4 address from VAT should be empty
@@ -387,6 +392,7 @@
| TC18: Honeycomb modifies sub-interface exact tag match
| | [Documentation] | Check if Honeycomb can modify a sub-interface with exact\
| | ... | tag match.
+| | ...
| | Given Honeycomb configures interface state | ${node} | ${super_if2} | down
| | And sub-interface Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${super_if2} | ${sub_if_id}
@@ -440,8 +446,10 @@
| TC21: Honeycomb modifies existing sub-interface ipv6 address
| | [Documentation] | Check if Honeycomb can modify an ipv6 address already\
| | ... | configured on the sub-interface.
+| | ...
| | [Teardown] | Honeycomb removes all sub-interface ipv6 addresses
| | ... | ${node} | ${super_if} | ${sub_if_id}
+| | ...
| | Given sub-interface ipv6 address from Honeycomb should be empty
| | ... | ${node} | ${super_if} | ${sub_if_id}
| | And sub-interface ipv6 address from VAT should be empty
@@ -462,6 +470,7 @@
| TC22: Honeycomb can configure unnumbered sub-interface
| | [Documentation] | Check if Honeycomb can configure an unnumbered interface\
| | ... | on a sub-interface, borrowing the IP address of 'local0'.
+| | ...
| | Given sub-interface ipv4 address from Honeycomb should be empty
| | ... | ${node} | ${super_if} | ${sub_if_id}
| | And sub-interface ipv4 address from VAT should be empty
@@ -485,8 +494,10 @@
| TC23: Honeycomb removes sub-interface unnumbered configuration
| | [Documentation] | Check if Honeycomb can remove unnumbered configuration\
| | ... | from a sub-interface.
+| | ...
| | [Teardown] | Honeycomb removes interface IPv4 addresses | ${node}
| | ... | local0
+| | ...
| | Given IPv4 address from Honeycomb should be
| | ... | ${node} | local0 | ${ipv4['address']} | ${ipv4['prefix-length']}
| | And IPv4 address from VAT should be
@@ -513,6 +524,7 @@
| TC24: Honeycomb can configure unnumbered interface using a sub-interface
| | [Documentation] | Check if Honeycomb can configure an unnumbered interface\
| | ... | on an interface, borrowing the IP address of a sub-interface.
+| | ...
| | Given IPv4 address from Honeycomb should be empty | ${node} | local0
| | And ipv4 address from VAT should be empty | ${node} | local0
| | And sub-interface ipv4 address from Honeycomb should be empty
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 dd619efbe7..03160e0a65 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
@@ -22,15 +22,18 @@
| Resource | resources/libraries/robot/testing_path.robot
| Resource | resources/libraries/robot/ipv6.robot
| Variables | resources/test_data/honeycomb/interface_ip.py
+| ...
| Force Tags | HC_FUNC
-| Suite Teardown
-| | ... | Restart Honeycomb and VPP | ${node}
+| ...
+| Suite Teardown | Restart Honeycomb and VPP | ${node}
+| ...
| Documentation | *Honeycomb interface management test suite.*
*** Test Cases ***
| TC01: Honeycomb configures and reads interface state
| | [Documentation] | Check if Honeycomb API can modify the admin state of\
| | ... | VPP interfaces.
+| | ...
| | Given Interface state from Honeycomb should be
| | ... | ${node} | ${interface} | down
| | And Interface state from VAT should be | ${node} | ${interface} | down
@@ -46,6 +49,7 @@
| TC02: Honeycomb modifies interface IPv4 address with netmask
| | [Documentation] | Check if Honeycomb API can configure interfaces for ipv4\
| | ... | with address and netmask provided.
+| | ...
| | 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}
@@ -59,6 +63,7 @@
| 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} | ${ipv4_prefix}
| | And IPv4 address from VAT should be
@@ -71,8 +76,10 @@
| TC04: Honeycomb modifies interface IPv4 address with prefix
| | [Documentation] | Check if Honeycomb API can configure interfaces for ipv4\
| | ... | with address and prefix provided.
+| | ...
| | [Teardown] | Honeycomb removes interface IPv4 addresses | ${node}
| | ... | ${interface}
+| | ...
| | 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
@@ -85,8 +92,10 @@
| TC05: Honeycomb modifies IPv4 neighbor table
| | [Documentation] | Check if Honeycomb API can add and remove ARP entries.
+| | ...
| | [Teardown] | Honeycomb clears all interface IPv4 neighbors
| | ... | ${node} | ${interface}
+| | ...
| | Given IPv4 neighbor from Honeycomb should be empty
| | ... | ${node} | ${interface}
| | When Honeycomb adds interface IPv4 neighbor
@@ -96,8 +105,10 @@
| TC06: Honeycomb modifies interface configuration - IPv6
| | [Documentation] | Check if Honeycomb API can configure interfaces for ipv6.
+| | ...
| | [Teardown] | Honeycomb removes interface IPv6 addresses | ${node}
| | ... | ${interface}
+| | ...
| | Given IPv6 address from Honeycomb should be empty
| | ... | ${node} | ${interface}
| | And IPv6 address from VAT should be empty
@@ -111,8 +122,10 @@
| TC07: Honeycomb modifies IPv6 neighbor table
| | [Documentation] | Check if Honeycomb API can add and remove ARP entries.
+| | ...
| | [Teardown] | Honeycomb clears all interface IPv6 neighbors
| | ... | ${node} | ${interface}
+| | ...
| | Given IPv6 neighbor from Honeycomb should be empty
| | ... | ${node} | ${interface}
| | When Honeycomb adds interface IPv6 neighbor
@@ -123,6 +136,7 @@
| 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 Operational Data From Honeycomb Should Be
@@ -133,8 +147,10 @@
| TC09: Honeycomb modifies interface configuration - vrf
| | [Documentation] | Check if Honeycomb API can configure interface\
| | ... | vrf ID.
+| | ...
| | [Teardown] | Honeycomb sets interface VRF ID
| | ... | ${node} | ${interface} | ${0} | ipv4
+| | ...
| | When Honeycomb sets interface VRF ID
| | ... | ${node} | ${interface} | ${1} | ipv4
| | Then Interface VRF ID from Honeycomb should be
@@ -201,9 +217,12 @@
| TC11: Honeycomb fails to configure two IPv4 addresses from the same subnet
| | [Documentation] | Check if Honeycomb can configure two IPv4 addresses in\
| | ... | the same subnet onto a single interface. It should not be possible.
+| | ...
| | [Teardown] | Honeycomb removes interface IPv4 addresses | ${node}
| | ... | ${interface}
+| | ...
| | [Tags] | EXPECTED_FAILING
+| | ...
# VPP API does not configure the second address, but returns success. VPP-649
| | When Honeycomb sets interface IPv4 address with prefix
| | ... | ${node} | ${interface} | 192.168.0.1 | ${9}
@@ -215,7 +234,9 @@
| TC12: Honeycomb fails to configure two IPv6 addresses from the same subnet
| | [Documentation] | Check if Honeycomb can configure two IPv6 addresses in\
| | ... | the same subnet onto a single interface. It should not be possible.
+| | ...
| | [Tags] | EXPECTED_FAILING
+| | ...
# VPP API does not configure the second address, but returns success. VPP-649
| | [Teardown] | Honeycomb removes interface IPv6 addresses | ${node}
| | ... | ${interface}
@@ -229,6 +250,7 @@
| TC13: Honeycomb can configure unnumbered interface
| | [Documentation] | Check if Honeycomb can configure an unnumbered interface\
| | ... | on a physical interface, borrowing the IP address of 'local0'.
+| | ...
| | Given Honeycomb sets interface IPv4 address | ${node}
| | ... | local0 | ${ipv4_address} | ${ipv4_prefix}
| | When Honeycomb adds unnumbered configuration to interface
@@ -247,6 +269,7 @@
| TC14: Honeycomb removes interface unnumbered configuration
| | [Documentation] | Check if Honeycomb can remove unnumbered configuration\
| | ... | from an interface.
+| | ...
| | Given IPv4 address from Honeycomb should be
| | ... | ${node} | local0 | ${ipv4_address} | ${ipv4_prefix}
| | And IPv4 address from VAT should be
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 2efdaf2eb5..74d99a9684 100644
--- a/tests/func/honeycomb/mgmt-cfg-inttap-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-inttap-apihc-apivat-func.robot
@@ -26,14 +26,18 @@
| Resource | resources/libraries/robot/honeycomb/honeycomb.robot
| Resource | resources/libraries/robot/honeycomb/interfaces.robot
| Resource | resources/libraries/robot/honeycomb/tap.robot
+| ...
| Force Tags | HC_FUNC
+| ...
| Suite Teardown | Run Keyword If Any Tests Failed
| ... | Restart Honeycomb and VPP | ${node}
+| ...
| Documentation | *Honeycomb TAP management test suite.*
*** Test Cases ***
| TC01: Honeycomb configures TAP interface
| | [Documentation] | Check if Honeycomb API can configure a TAP interface.
+| | ...
| | Given TAP Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${tap_interface}
| | And TAP Operational Data From VAT Should Be empty
@@ -48,6 +52,7 @@
| TC02: Honeycomb modifies existing TAP interface configuration
| | [Documentation] | Check if Honeycomb API can re-configure and existing TAP\
| | ... | interface with new settings.
+| | ...
| | Given TAP Operational Data From Honeycomb Should Be
| | ... | ${node} | ${tap_interface} | ${tap_settings}
| | And TAP Operational Data From VAT Should Be
@@ -61,6 +66,7 @@
| TC03: Honeycomb removes TAP interface
| | [Documentation] | Check if Honeycomb API can remove TAP interface.
+| | ...
| | Given TAP Operational Data From Honeycomb Should Be
| | ... | ${node} | ${tap_interface} | ${tap_settings2}
| | And TAP Operational Data From VAT Should Be
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 24e79fa799..64136bcfd6 100644
--- a/tests/func/honeycomb/mgmt-cfg-intvhost-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-intvhost-apihc-apivat-func.robot
@@ -26,9 +26,12 @@
| Resource | resources/libraries/robot/default.robot
| Resource | resources/libraries/robot/honeycomb/honeycomb.robot
| Resource | resources/libraries/robot/honeycomb/vhost_user.robot
+| ...
| 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.*
*** Test Cases ***
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 e8649bd0c7..e6287e79ae 100644
--- a/tests/func/honeycomb/mgmt-cfg-l2bd-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-l2bd-apihc-apivat-func.robot
@@ -28,16 +28,20 @@
| Resource | resources/libraries/robot/honeycomb/honeycomb.robot
| Resource | resources/libraries/robot/honeycomb/interfaces.robot
| Resource | resources/libraries/robot/honeycomb/bridge_domain.robot
+| ...
| Suite Teardown | Run keywords
| ... | Run Keyword If Any Tests Failed
| ... | Restart Honeycomb and VPP | ${node}
| ... | AND | Honeycomb removes all bridge domains | ${node} | @{interfaces}
+| ...
| Force Tags | HC_FUNC
+| ...
| Documentation | *Honeycomb bridge domain management test suite.*
*** Test Cases ***
| TC01: Honeycomb sets up l2 bridge domain
| | [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 Operational Data From Honeycomb Should Be
@@ -48,6 +52,7 @@
| TC02: Honeycomb manages multiple bridge domains on node
| | [Documentation] | Check if Honeycomb can manage multiple bridge domains on\
| | ... | a single node.
+| | ...
| | Given Bridge domain Operational Data From Honeycomb Should Be
| | ... | ${node} | ${bd1_name} | ${bd_settings}
| | When Honeycomb creates l2 bridge domain
@@ -64,6 +69,7 @@
| TC03: Honeycomb removes bridge domains
| | [Documentation] | Check if Honeycomb can remove bridge domains from a VPP\
| | ... | node.
+| | ...
| | Given Bridge domain Operational Data From Honeycomb Should Be
| | ... | ${node} | ${bd1_name} | ${bd_settings}
| | When Honeycomb removes all bridge domains | ${node}
@@ -73,6 +79,7 @@
| TC04: Honeycomb assigns interfaces to bridge domain
| | [Documentation] | Check if Honeycomb can assign VPP interfaces to an\
| | ... | existing bridge domain.
+| | ...
| | Given Honeycomb creates first l2 bridge domain
| | ... | ${node} | ${bd1_name} | ${bd_settings}
| | When Honeycomb adds interfaces to bridge domain
@@ -89,6 +96,7 @@
| 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 Operational Data From Honeycomb Should Be
| | ... | ${node} | ${bd1_name} | ${bd_settings}
| | And Bridge domain Operational Data From VAT Should Be
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 48527b98df..184f361947 100644
--- a/tests/func/honeycomb/mgmt-cfg-l2fib-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-l2fib-apihc-apivat-func.robot
@@ -19,15 +19,18 @@
| Resource | resources/libraries/robot/honeycomb/l2_fib.robot
| Variables | resources/test_data/honeycomb/l2_fib.py | ${node} | ${interface}
| ... | ${interface2}
+| ...
| Documentation | *Honeycomb L2 FIB management test suite.*
-| Suite Setup | Run keywords
-| ... | Set test interface down
+| ...
+| Suite Setup | Run keywords | Set test interface down
+| ...
| Suite Teardown | Run keywords
| ... | Run Keyword If Any Tests Failed
| ... | Restart Honeycomb and VPP | ${node}
| ... | AND
| ... | Honeycomb removes all bridge domains
| ... | ${node} | ${interface} | ${interface2}
+| ...
| Force tags | HC_FUNC
*** Variables ***
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 9f4a328258..42f5a84b8f 100644
--- a/tests/func/honeycomb/mgmt-cfg-lisp-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-lisp-apihc-apivat-func.robot
@@ -27,14 +27,18 @@
| Resource | resources/libraries/robot/honeycomb/lisp.robot
| Resource | resources/libraries/robot/honeycomb/bridge_domain.robot
| Variables | resources/test_data/honeycomb/lisp.py
+| ...
| Documentation | *Honeycomb Lisp test suite.*
+| ...
| Suite Teardown | Run Keyword If Any Tests Failed
| ... | Restart Honeycomb and VPP | ${node}
+| ...
| Force Tags | HC_FUNC
*** Test Cases ***
| TC01: Honeycomb enables LISP feature
| | [Documentation] | Check if Honeycomb can enable the Lisp feature.
+| | ...
| | Given Lisp Should Not Be Configured | ${node}
| | When Honeycomb enables LISP | ${node}
| | Then LISP state from Honeycomb should be | ${node} | ${state}
@@ -42,6 +46,7 @@
| TC02: Honeycomb adds locator set and locator
| | [Documentation] | Check if Honeycomb can configure a locator set.
+| | ...
| | Given LISP state from Honeycomb should be | ${node} | ${state}
| | When Honeycomb adds locator set | ${node} | ${interface} | ${locator_set}
| | Then Locator Set From Honeycomb Should Be
@@ -50,6 +55,7 @@
| TC03: Honeycomb configures Lisp - remote mapping - Bridge Domain
| | [Documentation] | Check if Honeycomb can configure a remote Lisp mapping\
| | ... | with a bridge domain.
+| | ...
| | Given LISP state from Honeycomb should be | ${node} | ${state}
| | And Honeycomb creates first l2 bridge domain
| | ... | ${node} | ${bd_name} | ${bd_settings}
@@ -61,6 +67,7 @@
| TC04: Honeycomb can remove Lisp mapping
| | [Documentation] | Check if Honeycomb can remove a configured Lisp mapping.
+| | ...
| | Given LISP mapping from Honeycomb should be
| | ... | ${node} | ${remote_bd_subtable}
| | And LISP mapping from VAT should be
@@ -74,7 +81,9 @@
| TC05: Honeycomb configures Lisp - remote mapping - VRF
| | [Documentation] | Check if Honeycomb can configure a remote Lisp mapping\
| | ... | with VRF.
+| | ...
| | [Teardown] | Honeycomb removes all lisp mappings | ${node}
+| | ...
| | Given LISP mappings from Honeycomb should not exist
| | ... | ${node}
| | And LISP mappings from VAT should not exist
@@ -87,7 +96,9 @@
| TC06: Honeycomb configures Lisp - local mapping - Bridge Domain
| | [Documentation] | Check if Honeycomb can configure a local Lisp mapping\
| | ... | with a bridge domain.
+| | ...
| | [Teardown] | Honeycomb removes all lisp mappings | ${node}
+| | ...
| | Given Locator Set From Honeycomb Should Be
| | ... | ${node} | ${interface} | ${locator_set}
| | And LISP mappings from Honeycomb should not exist
@@ -103,7 +114,9 @@
| TC07: Honeycomb configures Lisp - local mapping - VRF
| | [Documentation] | Check if Honeycomb can configure a local Lisp mapping\
| | ... | with VRF.
+| | ...
| | [Teardown] | Honeycomb removes all lisp mappings | ${node}
+| | ...
| | Given Locator Set From Honeycomb Should Be
| | ... | ${node} | ${interface} | ${locator_set}
| | And LISP mappings from Honeycomb should not exist
@@ -117,7 +130,9 @@
| TC08: Honeycomb configures Lisp mapping with adjacency
| | [Documentation] | Check if Honeycomb can configure local and remote Lisp\
| | ... | mappings with VRF, and configure adjacency.
+| | ...
| | [Teardown] | Honeycomb removes all lisp mappings | ${node}
+| | ...
| | Given Locator Set From Honeycomb Should Be
| | ... | ${node} | ${interface} | ${locator_set}
| | And Honeycomb creates first l2 bridge domain
@@ -134,6 +149,7 @@
| TC09: Honeycomb configures Lisp Map Resolver
| | [Documentation] | Check if Honeycomb can configure a Lisp Map Resolver.
+| | ...
| | Given LISP state from Honeycomb should be | ${node} | ${state}
| | And LISP state from VAT should be | ${node} | ${state}
| | When Honeycomb adds Lisp Map Resolver | ${node} | ${ip_address}
@@ -142,6 +158,7 @@
| TC10: Honeycomb configures Lisp Map Server
| | [Documentation] | Check if Honeycomb can configure a Lisp Map Server.
+| | ...
| | Given LISP state from Honeycomb should be | ${node} | ${state}
| | And LISP state from VAT should be | ${node} | ${state}
| | When Honeycomb adds Lisp Map Server | ${node} | @{ip_addresses}
@@ -151,6 +168,7 @@
| TC11: Honeycomb configures Lisp PETR configuration
| | [Documentation] | Check if Honeycomb can configure Lisp
| | ... | PETR configuration.
+| | ...
| | Given LISP state from Honeycomb should be | ${node} | ${state}
| | And LISP state from VAT should be | ${node} | ${state}
| | When Honeycomb enables LISP PETR feature | ${node} | ${ip_address}
@@ -159,6 +177,7 @@
| TC12: Honeycomb configures Lisp RLOC Probing
| | [Documentation] | Check if Honeycomb can configure Lisp RLOC Probing.
+| | ...
| | Given LISP state from Honeycomb should be | ${node} | ${state}
| | And LISP state from VAT should be | ${node} | ${state}
| | When Honeycomb enables LISP RLOC feature | ${node}
@@ -167,6 +186,7 @@
| TC13: Honeycomb configures Lisp Map Register
| | [Documentation] | Check if Honeycomb can configure a Lisp Map Register.
+| | ...
| | Given LISP state from Honeycomb should be | ${node} | ${state}
| | And LISP state from VAT should be | ${node} | ${state}
| | When Honeycomb adds Lisp Map Register | ${node} | ${True}
@@ -175,6 +195,7 @@
| TC14: Honeycomb enabled Lisp PITR feature
| | [Documentation] | Check if Honeycomb can configure the Lisp PITR feature.
+| | ...
| | Given Locator Set From Honeycomb Should Be
| | ... | ${node} | ${interface} | ${locator_set}
| | When Honeycomb enables LISP PITR feature | ${node} | ${locator_set}
@@ -183,6 +204,7 @@
| TC15: Honeycomb can remove configuration of Lisp features
| | [Documentation] | Check if Honeycomb can disable all Lisp features.
+| | ...
| | Given Map resolver from Honeycomb should be | ${node} | ${ip_address}
| | And PITR config from Honeycomb should be | ${node} | ${locator_set}
| | When Honeycomb disables all LISP features | ${node}
@@ -191,7 +213,9 @@
| TC16: Honeycomb configures Lisp Map Request Mode
| | [Documentation] | Check if Honeycomb can configure Lisp Map Request mode.
| | ... | Note: Map Request Mode cannot be removed once configured.
+| | ...
| | [Teardown] | Honeycomb disables LISP | ${node}
+| | ...
| | Given Honeycomb enables LISP | ${node}
| | When Honeycomb sets Lisp Map Request Mode | ${node} | ${True}
| | Then Map Request Mode from Honeycomb should be
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 068fbcf8a3..03ccc320fc 100644
--- a/tests/func/honeycomb/mgmt-cfg-nsh-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-nsh-apihc-apivat-func.robot
@@ -21,7 +21,9 @@
| Resource | resources/libraries/robot/honeycomb/vxlan_gpe.robot
| Variables | resources/test_data/honeycomb/nsh.py
| Variables | resources/test_data/honeycomb/vxlan_gpe.py
+| ...
| Documentation | *Honeycomb NSH test suite.*
+| ...
| Suite Teardown | Run Keyword If Any Tests Failed
| ... | Restart Honeycomb and VPP | ${node}
# disabled pending NSH version 17.04
@@ -30,6 +32,7 @@
*** Test Cases ***
| TC01: Honeycomb can configure NSH entry
| | [Documentation] | Check if Honeycomb can configure an NSH entry.
+| | ...
| | 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
@@ -37,6 +40,7 @@
| TC02: Honeycomb can remove NSH entry
| | [Documentation] | Check if Honeycomb can remove an existing NSH entry.
+| | ...
| | Given NSH entry from Honeycomb should be
| | ... | ${node} | entry1 | ${nsh_entry1_oper}
| | When Honeycomb removes NSH entry | ${node} | entry1
@@ -45,7 +49,9 @@
| 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 Operational Data From Honeycomb Should Be empty | ${node}
| | When Honeycomb adds NSH entry | ${node} | entry2 | ${nsh_entry2}
| | Then NSH entry from Honeycomb should be
@@ -54,7 +60,9 @@
| TC04: Honeycomb can configure multiple NSH entries at the same time
| | [Documentation] | Check if Honeycomb can configure an NSH entry when one\
| | ... | already exists.
+| | ...
| | [Teardown] | Honeycomb clears NSH configuration | ${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}
@@ -65,6 +73,7 @@
| TC05: Honeycomb can configure NSH map
| | [Documentation] | Check if Honeycomb can configure an NSH map.
+| | ...
| | Given NSH Operational Data From Honeycomb Should Be empty | ${node}
| | And Honeycomb creates VxLAN GPE interface
| | ... | ${node} | ${vxlan_gpe_if1}
@@ -75,6 +84,7 @@
| TC06: Honeycomb can remove NSH map
| | [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 Operational Data From Honeycomb Should Be
@@ -89,7 +99,9 @@
| TC07: Honeycomb can modify existing NSH map
| | [Documentation] | Check if Honeycomb can configure an NSH map after one\
| | ... | has been deleted.
+| | ...
| | [Teardown] | Honeycomb removes NSH map | ${node} | map1_edit
+| | ...
| | Given NSH map from Honeycomb should not exist | ${node} | map1_edit
| | And NSH entry from Honeycomb should be
| | ... | ${node} | entry1 | ${nsh_entry1_oper}
@@ -105,12 +117,14 @@
| TC08: Honeycomb can configure multiple NSH maps at the same time
| | [Documentation] | Check if Honeycomb can configure and NSH map when one\
| | ... | already exists.
+| | ...
| | [Teardown] | Run Keywords
| | ... | Honeycomb clears NSH configuration | ${node} | AND
| | ... | Honeycomb removes VxLAN GPE interface
| | ... | ${node} | ${vxlan_gpe_if1} | AND
| | ... | Honeycomb removes VxLAN GPE interface
| | ... | ${node} | ${vxlan_gpe_if2}
+| | ...
| | Given NSH map from Honeycomb should not exist | ${node} | map2
| | And NSH entry from Honeycomb should be
| | ... | ${node} | entry1 | ${nsh_entry1_oper}
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 4d7c8a21ef..a04932556a 100644
--- a/tests/func/honeycomb/mgmt-cfg-pbb-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-pbb-apihc-apivat-func.robot
@@ -19,9 +19,12 @@
| Resource | resources/libraries/robot/honeycomb/honeycomb.robot
| Resource | resources/libraries/robot/honeycomb/provider_backbone_bridge.robot
| Variables | resources/test_data/honeycomb/pbb/pbb.py
+| ...
| Documentation | *Honeycomb provider backbone bridge test suite.*
+| ...
| Suite Teardown | Run Keyword If Any Tests Failed
| ... | Restart Honeycomb and VPP | ${node}
+| ...
| Force Tags | HC_FUNC
*** Test Cases ***
@@ -29,33 +32,33 @@
| TC01: Honeycomb sets PBB sub-interface
| | [Documentation] | Honeycomb creates a new PBB sub-interface.
| | ...
-| | Honeycomb creates PBB sub interface | ${node} | ${super_if}
+| | Honeycomb creates PBB sub-interface | ${node} | ${super_if}
| | ... | ${cfg_pbb_sub_if_1}
| TC02: Honeycomb modifies existing PBB sub-interface
| | [Documentation] | Honeycomb modifies an existing PBB sub-interface.
| | ...
-| | Honeycomb creates PBB sub interface | ${node} | ${super_if}
+| | Honeycomb creates PBB sub-interface | ${node} | ${super_if}
| | ... | ${cfg_pbb_sub_if_1_mod}
| TC03: Honeycomb deletes existing PBB sub-interface
| | [Documentation] | Honeycomb deletes an existing PBB sub-interface.
| | ...
-| | Honeycomb Removes PBB sub interface
+| | Honeycomb removes PBB sub-interface
| | ... | ${node} | ${super_if}
| TC04: Honeycomb fails to set wrong destination-address for new PBB sub-interface
| | [Documentation] | Honeycomb fails to create a new PBB sub-interface with\
| | ... | wrong value of parameter destination-address, type yang:mac-address.
| | ...
-| | Honeycomb fails to create PBB sub interface | ${node} | ${super_if}
+| | Honeycomb fails to create PBB sub-interface | ${node} | ${super_if}
| | ... | ${cfg_pbb_sub_if_wrong_dst_addr}
| TC05: Honeycomb fails to set wrong source-address for new PBB sub-interface
| | [Documentation] | Honeycomb fails to create a new PBB sub-interface with\
| | ... | wrong value of parameter source-address, type yang:mac-address.
| | ...
-| | Honeycomb fails to create PBB sub interface | ${node} | ${super_if}
+| | Honeycomb fails to create PBB sub-interface | ${node} | ${super_if}
| | ... | ${cfg_pbb_sub_if_wrong_src_addr}
| TC06: Honeycomb fails to set wrong b-vlan-tag-vlan-id for new PBB sub-interface
@@ -63,7 +66,7 @@
| | ... | wrong value of parameter b-vlan-tag-vlan-id, type uint16, 12 bit\
| | ... | range, range 1..4095.
| | ...
-| | Honeycomb fails to create PBB sub interface | ${node} | ${super_if}
+| | Honeycomb fails to create PBB sub-interface | ${node} | ${super_if}
| | ... | ${cfg_pbb_sub_if_wrong_vlan_tag}
| TC07: Honeycomb fails to set wrong i-tag-isid for new PBB sub-interface
@@ -71,12 +74,12 @@
| | ... | wrong value of parameter i-tag-isid, type uint32, 24 bit range,\
| | ... | range 1..16777215.
| | ...
-| | Honeycomb fails to create PBB sub interface | ${node} | ${super_if}
+| | Honeycomb fails to create PBB sub-interface | ${node} | ${super_if}
| | ... | ${cfg_pbb_sub_if_wrong_i_tag}
| TC08: Honeycomb fails to create new PBB sub-interface without vlan tag
| | [Documentation] | Honeycomb fails to create a new PBB sub-interface without\
| | ... | parameter b-vlan-tag-vlan-id.
| | ...
-| | Honeycomb fails to create PBB sub interface | ${node} | ${super_if}
+| | Honeycomb fails to create PBB sub-interface | ${node} | ${super_if}
| | ... | ${cfg_pbb_sub_if_no_vlan_tag}
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 7f96472474..f7d92fcc98 100644
--- a/tests/func/honeycomb/mgmt-cfg-pluginacl-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-pluginacl-apihc-apivat-func.robot
@@ -42,10 +42,13 @@
| Library | resources.libraries.python.IPv4Util
| Library | resources.libraries.python.IPv6Util
| Library | resources.libraries.python.Routing
+| ...
| Test Setup | Clear Packet Trace on All DUTs | ${nodes}
-| Suite Teardown
-| ... | Restart Honeycomb and VPP | ${node}
+| ...
+| Suite Teardown | Restart Honeycomb and VPP | ${node}
+| ...
| Documentation | *Honeycomb access control lists test suite for ACL plugin.*
+| ...
| Force Tags | HC_FUNC
*** Test Cases ***
@@ -58,7 +61,9 @@
| | ... | [Ver] Send simple TCP packets from one TG interface to the other,\
| | ... | using different MACs. Receive all packets except those with\
| | ... | MACs in the filtered ranges.
+| | ...
| | [Teardown] | Bridged ACL test teardown
+| | ...
| | Given Setup Interfaces And Bridge Domain For plugin-acl Test
| | ... | macip | ${acl_name_macip}
| | When Honeycomb Creates ACL Chain Through ACL plugin
@@ -91,7 +96,9 @@
| | ... | [Ver] Send simple TCP and UDP packets from one TG interface\
| | ... | to the other, using different IPv4 IPs. Receive all packets except\
| | ... | those with IPs in the filtered ranges and UDP protocol payload.
+| | ...
| | [Teardown] | Bridged ACL test teardown
+| | ...
| | Given Setup Interfaces And Bridge Domain For plugin-acl Test
| | ... | l3_ip4 | ${acl_name_l3_ip4}
| | When Honeycomb Creates ACL Chain Through ACL plugin
@@ -125,7 +132,9 @@
| | ... | [Ver] Send simple TCP and UDP packets from one TG interface\
| | ... | to the other, using different IPv6 IPs. Receive all packets except\
| | ... | those with IPs in the filtered ranges and UDP protocol payload.
+| | ...
| | [Teardown] | Bridged ACL test teardown
+| | ...
| | Given Setup interfaces and bridge domain for plugin-acl test
| | ... | l3_ip6 | ${acl_name_l3_ip6}
| | When Honeycomb Creates ACL Chain Through ACL plugin
@@ -159,7 +168,9 @@
| | ... | [Ver] Send simple TCP and UDP packets from one TG interface\
| | ... | to the other, using different ports. Receive all packets except\
| | ... | those with ports in the filtered ranges.
+| | ...
| | [Teardown] | Bridged ACL test teardown
+| | ...
| | Given Setup interfaces and bridge domain for plugin-acl test
| | ... | L4 | ${acl_name_l4}
| | When Honeycomb Creates ACL Chain Through ACL plugin
@@ -194,7 +205,9 @@
| | ... | [Ver] Send simple TCP packets from one TG interface to the other,\
| | ... | using IPs and ports. Receive all packets except those with\
| | ... | both IPs and ports in the filtered ranges.
+| | ...
| | [Teardown] | Bridged ACL test teardown
+| | ...
| | Given Setup Interfaces And Bridge Domain For plugin-acl Test
| | ... | mixed | ${acl_name_mixed}
| | When Honeycomb Creates ACL Chain Through ACL plugin
@@ -226,7 +239,9 @@
| | ... | [Ver] Send ICMP packets from one TG interface\
| | ... | to the other, using different codes and types. Receive all packets\
| | ... | except those with types and codes in the filtered ranges.
+| | ...
| | [Teardown] | Bridged ACL test teardown
+| | ...
| | Given Setup interfaces and bridge domain for plugin-acl test
| | ... | icmp | ${acl_name_icmp}
| | When Honeycomb Creates ACL Chain Through ACL plugin
@@ -259,7 +274,9 @@
| | ... | [Ver] Send ICMPv6 packets from one TG interface\
| | ... | to the other, using different codes and types. Receive all packets\
| | ... | except those with the filtered type and code.
+| | ...
| | [Teardown] | Bridged ACL test teardown
+| | ...
| | Given Setup interfaces and bridge domain for plugin-acl test
| | ... | icmpv6 | ${acl_name_icmpv6}
| | When Honeycomb Creates ACL Chain Through ACL plugin
@@ -294,7 +311,9 @@
| | ... | to VPP interface 2 and receive it from interface 1(this should create\
| | ... | a reflexive "permit" rule) Finally, send the original packet again\
| | ... | and receive it from interface 2.
+| | ...
| | [Teardown] | Bridged ACL test teardown
+| | ...
| | Given Setup Interfaces And Bridge Domain For plugin-acl Test
| | ... | reflex | ${acl_name_reflex}
| | When Honeycomb Creates ACL Chain Through ACL plugin
@@ -337,7 +356,9 @@
| | ... | [Ver] Send simple TCP and UDP packets from one TG interface\
| | ... | to the other, using different IPv4 IPs. Receive all packets except\
| | ... | those with IPs in the filtered ranges and UDP protocol payload.
+| | ...
| | [Teardown] | Routed ACL test teardown - ipv4
+| | ...
| | Given Setup Interface IPs And Routes For IPv4 plugin-acl Test
| | ... | l3_ip4 | ${acl_name_l3_ip4}
| | When Honeycomb Creates ACL Chain Through ACL plugin
@@ -371,7 +392,9 @@
| | ... | [Ver] Send simple TCP and UDP packets from one TG interface\
| | ... | to the other, using different IPv6 IPs. Receive all packets except\
| | ... | those with IPs in the filtered ranges and UDP protocol payload.
+| | ...
| | [Teardown] | Routed ACL test teardown - ipv6
+| | ...
| | Given Configure path in 2-node circular topology
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
| | And Import Variables | resources/test_data/honeycomb/plugin_acl.py
@@ -420,7 +443,9 @@
| | ... | [Ver] Send simple TCP and UDP packets from one TG interface\
| | ... | to the other, using different ports. Receive all packets except\
| | ... | those with ports in the filtered ranges.
+| | ...
| | [Teardown] | Routed ACL test teardown - ipv4
+| | ...
| | Given Setup Interface IPs And Routes For IPv4 plugin-acl Test
| | ... | L4 | ${acl_name_l4}
| | When Honeycomb Creates ACL Chain Through ACL plugin
@@ -455,7 +480,9 @@
| | ... | [Ver] Send simple TCP packets from one TG interface to the other,\
| | ... | using IPs and ports. Receive all packets except those with\
| | ... | both IPs and ports in the filtered ranges.
+| | ...
| | [Teardown] | Routed ACL test teardown - ipv4
+| | ...
| | Given Setup Interface IPs And Routes For IPv4 plugin-acl Test
| | ... | mixed | ${acl_name_mixed}
| | When Honeycomb Creates ACL Chain Through ACL plugin
@@ -488,7 +515,9 @@
| | ... | [Ver] Send ICMP packets from one TG interface\
| | ... | to the other, using different codes and types. Receive all packets\
| | ... | except those with the filtered type and code.
+| | ...
| | [Teardown] | Routed ACL test teardown - ipv4
+| | ...
| | Given Setup Interface IPs And Routes For IPv4 plugin-acl Test
| | ... | icmp | ${acl_name_icmp}
| | When Honeycomb Creates ACL Chain Through ACL plugin
@@ -522,7 +551,9 @@
| | ... | [Ver] Send ICMPv6 packets from one TG interface\
| | ... | to the other, using different codes and types. Receive all packets\
| | ... | except those with the filtered type and code.
+| | ...
| | [Teardown] | Routed ACL test teardown - ipv6
+| | ...
| | Given Configure path in 2-node circular topology
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
| | And Import Variables | resources/test_data/honeycomb/plugin_acl.py
@@ -573,7 +604,9 @@
| | ... | to VPP interface 2 and receive it from interface 1(this should create\
| | ... | a reflexive "permit" rule) Finally, send the original packet again\
| | ... | and receive it from interface 2.
+| | ...
| | [Teardown] | Routed ACL test teardown - ipv4
+| | ...
| | Given Setup Interface IPs And Routes For IPv4 plugin-acl Test
| | ... | reflex | ${acl_name_reflex}
| | And Add ARP on DUT
@@ -615,7 +648,9 @@
| Setup interface IPs and routes for IPv4 plugin-acl test
| | [Documentation] | Import test variables, set interfaces up,
| | ... | configure IPv4 addresses, add neighbor entry and routes.
+| | ...
| | [Arguments] | ${test_data_id} | ${acl_name}
+| | ...
| | Configure path in 2-node circular topology
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
| | Import Variables | resources/test_data/honeycomb/plugin_acl.py
@@ -637,13 +672,15 @@
| Setup interfaces and bridge domain for plugin-acl test
| | [Documentation] | Import test variables, set interfaces up and bridge them.
+| | ...
| | [Arguments] | ${test_data_id} | ${acl_name}
+| | ...
| | Configure path in 2-node circular topology
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
| | Import Variables | resources/test_data/honeycomb/plugin_acl.py
| | ... | ${test_data_id} | ${acl_name}
-| | Honeycomb Sets Interface State | ${dut_node} | ${dut_to_tg_if1} | up
-| | Honeycomb Sets Interface State | ${dut_node} | ${dut_to_tg_if2} | up
+| | Honeycomb configures interface state | ${dut_node} | ${dut_to_tg_if1} | up
+| | Honeycomb configures interface state | ${dut_node} | ${dut_to_tg_if2} | up
| | Honeycomb Creates first L2 Bridge Domain
| | ... | ${dut_node} | ${bd_name} | ${bd_settings}
| | Honeycomb Adds Interfaces To Bridge Domain
@@ -653,26 +690,29 @@
| Bridged ACL test teardown
| | [Documentation] | Log packet trace and ACL settings,
| | ... | then clean up bridge domains.
+| | ...
| | Show Packet Trace on All DUTs | ${nodes}
| | Read plugin-ACL configuration from VAT | ${node}
-| | Clear plugin-acl Settings | ${node} | ${dut_to_tg_if1}
+| | Clear plugin-ACL configuration | ${node} | ${dut_to_tg_if1}
| | Honeycomb Removes All Bridge Domains
| | ... | ${node} | ${dut_to_tg_if1} | ${dut_to_tg_if2}
| Routed ACL test teardown - ipv4
| | [Documentation] | Log packet trace and ACL settings,
| | ... | then clean up IPv4 addresses and neighbors.
+| | ...
| | Show Packet Trace on All DUTs | ${nodes}
| | Read plugin-ACL configuration from VAT | ${node}
-| | Clear plugin-acl Settings | ${node} | ${dut_to_tg_if1}
+| | Clear plugin-ACL configuration | ${node} | ${dut_to_tg_if1}
| | Honeycomb removes interface IPv4 addresses | ${node} | ${dut_to_tg_if1}
| | Honeycomb clears all interface IPv4 neighbors | ${node} | ${dut_to_tg_if1}
| Routed ACL test teardown - ipv6
| | [Documentation] | Log packet trace and ACL settings,
| | ... | then clean up IPv6 addresses and neighbors.
+| | ...
| | Show Packet Trace on All DUTs | ${nodes}
-| | Clear plugin-acl Settings | ${node} | ${dut_to_tg_if1}
+| | Clear plugin-ACL configuration | ${node} | ${dut_to_tg_if1}
| | Read plugin-ACL configuration from VAT | ${node}
| | Honeycomb removes interface IPv6 addresses | ${node} | ${dut_to_tg_if1}
| | Honeycomb clears all interface IPv6 neighbors | ${node} | ${dut_to_tg_if1}
diff --git a/tests/func/honeycomb/mgmt-cfg-policer-apihc-func.robot b/tests/func/honeycomb/mgmt-cfg-policer-apihc-func.robot
index d9b6aaaa9c..1fe4847f23 100644
--- a/tests/func/honeycomb/mgmt-cfg-policer-apihc-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-policer-apihc-func.robot
@@ -29,15 +29,19 @@
| Resource | resources/libraries/robot/testing_path.robot
| Library | resources.libraries.python.Trace
| Variables | resources/test_data/honeycomb/policer_variables.py
+| ...
| Suite Teardown
| ... | Run Keyword If Any Tests Failed
| ... | Restart Honeycomb and VPP | ${node}
+| ...
| 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 Operational Data From Honeycomb Should Be empty | ${node}
| | When Honeycomb configures Policer | ${node} | ${policer_data}
| | Then Policer Operational Data From Honeycomb Should Be | ${node}
@@ -45,6 +49,7 @@
| TC02: Honeycomb can disable Policer
| | [Documentation] | Checks if Honeycomb can disable Policer.
+| | ...
| | Given Policer Operational Data From Honeycomb Should Be | ${node}
| | ... | ${policer_data_oper}
| | When Honeycomb removes Policer configuration | ${node}
@@ -53,7 +58,9 @@
| TC03: Honeycomb can configure Policer with increased values of CIR (900kbps)
| | [Documentation] | Checks if Honeycomb can configure Policer\
| | ... | with increased values of CIR.
+| | ...
| | [Teardown] | Tear down policer test | ${node}
+| | ...
| | Given Policer Operational Data From Honeycomb Should Be empty | ${node}
| | When Honeycomb configures Policer | ${node} | ${policer_data_2}
| | Then Policer Operational Data From Honeycomb Should Be | ${node}
@@ -62,23 +69,26 @@
| TC04: Honeycomb can configure Packets-Per-Second Based Policer
| | [Documentation] | Checks if Honeycomb can configure Policer\
| | ... | based on rate-type measured in pps.
+| | ...
| | [Teardown] | Tear down policer test | ${node}
+| | ...
| | Given Policer Operational Data From Honeycomb Should Be empty | ${node}
| | When Honeycomb configures Policer | ${node} | ${policer_data_3}
| | Then Policer Operational Data From Honeycomb Should Be | ${node}
| | ... | ${policer_data_oper_3}
| TC05: Configure Policer on Interface
-| | [Documentation] | Honeycomb can configure Policer\
-| | ... | on a given interface.
+| | [Documentation] | Honeycomb can configure Policer on a given interface.
+| | ...
| | [Teardown] | Run Keywords
| | ... | Honeycomb disables Policer on interface | ${node} | ${interface} | AND
-| | ... | Honeycomb removes ACL session
-| | ... | ${node} | ${acl_tables['hc_acl_table']['name']}
+| | ... | Honeycomb removes ACL session | ${node}
+| | ... | ${acl_tables['hc_acl_table']['name']}
| | ... | ${acl_tables['hc_acl_session']['match']} | AND
| | ... | Honeycomb removes ACL table | ${node}
| | ... | ${acl_tables['hc_acl_table']['name']} | AND
| | ... | Tear down policer test | ${node}
+| | ...
| | Given Honeycomb configures Policer | ${node} | ${policer_data}
| | And ACL table from Honeycomb should not exist
| | ... | ${node} | ${acl_tables['hc_acl_table']['name']}
@@ -99,7 +109,9 @@
| | ... | [Ver] TG sends IPv4 TCP packet on the first link to DUT1.\
| | ... | Packet on DUT1 is marked with DSCP tag. Verifies if DUT1 sends\
| | ... | correct IPv4 TCP packet with correct DSCP on the second link to TG.
+| | ...
| | [Teardown] | Show Packet Trace on All DUTs | ${nodes}
+| | ...
| | Given Configure path in 2-node circular topology
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
| | And Honeycomb configures Policer | ${dut_node} | ${policer_data_3}
@@ -112,8 +124,10 @@
| | ... | ${acl_tables['hc_acl_session']}
| | And Honeycomb enables policer on interface
| | ... | ${dut_node} | ${dut_to_tg_if1} | ${acl_tables['hc_acl_table']['name']}
-| | And Honeycomb configures interface state | ${dut_node} | ${dut_to_tg_if1} | up
-| | And Honeycomb configures interface state | ${dut_node} | ${dut_to_tg_if2} | up
+| | And Honeycomb configures interface state | ${dut_node} | ${dut_to_tg_if1}
+| | ... | up
+| | And Honeycomb configures interface state | ${dut_node} | ${dut_to_tg_if2}
+| | ... | up
| | And Honeycomb sets interface IPv4 address with prefix | ${dut_node}
| | ... | ${dut_to_tg_if1} | ${dut_to_tg_if1_ip} | ${prefix_length}
| | And Honeycomb sets interface IPv4 address with prefix | ${dut_node}
diff --git a/tests/func/honeycomb/mgmt-cfg-proxyarp-apihc-func.robot b/tests/func/honeycomb/mgmt-cfg-proxyarp-apihc-func.robot
index 056771512f..26f73b054c 100644
--- a/tests/func/honeycomb/mgmt-cfg-proxyarp-apihc-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-proxyarp-apihc-func.robot
@@ -30,24 +30,31 @@
| Resource | resources/libraries/robot/ipv4.robot
| Resource | resources/libraries/robot/traffic.robot
| Library | resources.libraries.python.Trace
+| ...
| Suite Teardown
| ... | Run Keyword If Any Tests Failed
| ... | Restart Honeycomb And VPP | ${node}
+| ...
| Force Tags | HC_FUNC
+| ...
| Documentation | *Honeycomb proxyARP management test suite.*
*** Test Cases ***
# TODO: Add operational data and VAT dump verification if/when avaliable
| TC01: Honeycomb can configure ipv4 proxyARP
| | [Documentation] | Check if Honeycomb can configure the proxyARP feature.
+| | ...
| | [Teardown] | Honeycomb removes proxyARP configuration | ${node}
+| | ...
| | Honeycomb configures proxyARP | ${node} | ${proxyarp_settings_ipv4}
| TC02: Honeycomb can enable proxyarp on an interface
| | [Documentation] | Check if Honeycomb can enable the proxyARP feature\
| | ... | on an interface.
+| | ...
| | [Teardown] | Honeycomb disables proxyARP on interface
| | ... | ${node} | ${interface}
+| | ...
| | Honeycomb enables proxyARP on interface | ${node} | ${interface}
| TC03: DUT sends ARP reply on behalf of another machine from the IP range
@@ -59,6 +66,7 @@
| | ... | [Ver] Make TG send ARP request to DUT1 interface,
| | ... | verify if DUT1 sends correct ARP reply on behalf of machine whose
| | ... | IP is in the configured range.
+| | ...
| | [Teardown] | Run Keywords
| | ... | Show Packet Trace on all DUTs | ${nodes}
| | ... | AND | Honeycomb removes proxyARP configuration | ${node}
@@ -66,6 +74,7 @@
| | ... | ${dut_node} | ${dut_to_tg_if1} | down
| | ... | AND | Honeycomb removes interface IPv4 addresses
| | ... | ${node} | ${interface}
+| | ...
| | Given Configure path in 2-node circular topology
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
| | ${dut_to_tg_name}= | Get interface name | ${dut_node} | ${dut_to_tg_if1}
@@ -76,5 +85,5 @@
| | When Honeycomb configures proxyARP | ${dut_node} | ${proxyarp_settings_ipv4}
| | And Honeycomb enables proxyARP on interface | ${node} | ${dut_to_tg_name}
| | Then Send ARP Request | ${tg_node} | ${tg_to_dut_name}
-| | ... | ${tg_to_dut_if1_mac} | ${dut_to_tg_if1_mac}
-| | ... | ${tg_to_dut_ip} | ${test_ip}
+| | ... | ${tg_to_dut_if1_mac} | ${dut_to_tg_if1_mac}
+| | ... | ${tg_to_dut_ip} | ${test_ip}
diff --git a/tests/func/honeycomb/mgmt-cfg-proxynd6-apihc-func.robot b/tests/func/honeycomb/mgmt-cfg-proxynd6-apihc-func.robot
index abc03c04f4..6c718e705a 100644
--- a/tests/func/honeycomb/mgmt-cfg-proxynd6-apihc-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-proxynd6-apihc-func.robot
@@ -34,15 +34,20 @@
| Resource | resources/libraries/robot/traffic.robot
| Resource | resources/libraries/robot/dhcp_proxy.robot
| Library | resources.libraries.python.Trace
+| ...
| Test Setup | Clear Packet Trace on All DUTs | ${nodes}
+| ...
| Suite Teardown | Restart Honeycomb And VPP | ${node}
+| ...
| Force Tags | HC_FUNC
+| ...
| Documentation | *Honeycomb IPv6 neighbor discovery proxy test suite.*
*** Test Cases ***
| TC01: Honeycomb can configure IPv6 ND proxy on an interface
| | [Documentation] | Check if Honeycomb can configure the IPv6 ND proxy\
| | ... | feature on an interface.
+| | ...
| | Given IPv6 ND proxy from Honeycomb should be empty | ${node} | ${interface}
| | And Honeycomb configures interface state | ${node} | ${interface} | up
| | When Honeycomb configures IPv6 ND proxy on interface
@@ -53,6 +58,7 @@
| TC02: Honeycomb can disable IPv6 ND proxy on an interface
| | [Documentation] | Check if Honeycomb can remove IPv6 ND proxy feature\
| | ... | configuration from an interface.
+| | ...
| | Given IPv6 ND proxy from Honeycomb should be
| | ... | ${node} | ${interface} | ${test_dst_ip}
| | When Honeycomb disables IPv6 ND proxy on interface | ${node} | ${interface}
@@ -61,8 +67,10 @@
| TC03: Honeycomb can configure multiple IPv6 ND proxies on an interface
| | [Documentation] | Check if Honeycomb can configure two ND proxies\
| | ... | on one interface.
+| | ...
| | [Teardown] | Honeycomb disables IPv6 ND proxy on interface
| | ... | ${node} | ${interface}
+| | ...
| | Given IPv6 ND proxy from Honeycomb should be empty | ${node} | ${interface}
| | And Honeycomb configures interface state | ${node} | ${interface} | up
| | When Honeycomb configures IPv6 ND proxy on interface
@@ -85,6 +93,7 @@
| | ... | Show Packet Trace on All DUTs | ${nodes} | AND
| | ... | Honeycomb disables IPv6 ND proxy on interface
| | ... | ${dut_node} | ${dut_to_tg_if2}
+| | ...
| | Given Configure path in 2-node circular topology
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
| | Honeycomb configures interface state | ${dut_node} | ${dut_to_tg_if1} | up
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 e0544f71bb..be151c347a 100644
--- a/tests/func/honeycomb/mgmt-cfg-routing-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-routing-apihc-apivat-func.robot
@@ -21,11 +21,15 @@
| Resource | resources/libraries/robot/honeycomb/honeycomb.robot
| Resource | resources/libraries/robot/honeycomb/interfaces.robot
| Resource | resources/libraries/robot/honeycomb/routing.robot
+| ...
| Test Setup | Clear Packet Trace on All DUTs | ${nodes}
+| ...
| Suite Teardown | Restart Honeycomb And VPP | ${node}
-| Test Teardown | Honeycomb routing test teardown
-| ... | ${node} | ${table}
+| ...
+| Test Teardown | Honeycomb routing test teardown | ${node} | ${table}
+| ...
| Documentation | *Honeycomb routing test suite.*
+| ...
| Force Tags | HC_FUNC
*** Test Cases ***
@@ -37,6 +41,7 @@
| | ... | interfaces and configure route with TG-if2 as next-hop.
| | ... | [Ver] Send ICMP packet from first TG interface to configured route
| | ... | destination. Receive packet on the second TG interface.
+| | ...
| | ${table}= | Set Variable | table1
| | Given Setup interfaces and neighbors for IPv4 routing test
| | When Honeycomb configures routing table
@@ -58,6 +63,7 @@
| | ... | route destination. Receive all packets on the second TG interface and\
| | ... | verify that each destination MAC was used by exactly 50 packets.
| | ... | Receive packet on the second TG interface.
+| | ...
| | ${table}= | Set Variable | table2
| | Given Setup interfaces and neighbors for IPv4 routing test
| | And Honeycomb adds interface IPv4 neighbor | ${dut_node} | ${dut_to_tg_if2}
@@ -83,6 +89,7 @@
| | ... | [Ver] Send ICMP packet from first TG interface to configured route
| | ... | destination. Make sure no packet is received on the second TG\
| | ... | interface.
+| | ...
| | ${table}= | Set Variable | table3
| | Given Setup interfaces and neighbors for IPv4 routing test
| | When Honeycomb configures routing table
@@ -103,6 +110,7 @@
| | ... | interfaces and configure route with TG-if2 as next-hop.
| | ... | [Ver] Send ICMP packet from first TG interface to configured route
| | ... | destination. Receive packet on the second TG interface.
+| | ...
| | ${table}= | Set Variable | table4
| | Given Setup interfaces and neighbors for IPv6 routing test
| | When Honeycomb configures routing table
@@ -124,6 +132,7 @@
| | ... | route destination. Receive all packets on the second TG interface and\
| | ... | verify that each destination MAC was used by exactly 50 packets.
| | ... | Receive packet on the second TG interface.
+| | ...
| | ${table}= | Set Variable | table5
| | Given Setup interfaces and neighbors for IPv6 routing test
| | And Honeycomb adds interface IPv6 neighbor | ${dut_node} | ${dut_to_tg_if2}
@@ -149,6 +158,7 @@
| | ... | [Ver] Send ICMP packet from first TG interface to configured route
| | ... | destination. Make sure no packet is received on the second TG\
| | ... | interface.
+| | ...
| | ${table}= | Set Variable | table6
| | Given Setup interfaces and neighbors for IPv6 routing test
| | When Honeycomb configures routing table
@@ -202,13 +212,17 @@
| | Vpp all ra suppress link layer | ${nodes}
| Honeycomb routing test teardown
+| | ...
| | [arguments] | ${node} | ${routing_table}
+| | ...
| | Show Packet Trace on All DUTs | ${nodes}
| | Log routing configuration from VAT | ${node}
| | Honeycomb removes routing configuration | ${node} | ${routing_table}
| Setup vrf IDs
+| | ...
| | [Arguments] | ${node} | ${interface} | ${vrf}
+| | ...
| | Honeycomb sets interface VRF ID
| | ... | ${node} | ${interface} | ${vrf} | ipv4
| | Honeycomb sets interface VRF ID
diff --git a/tests/func/honeycomb/mgmt-cfg-slaac-apihc-func.robot b/tests/func/honeycomb/mgmt-cfg-slaac-apihc-func.robot
index abcd86e95d..c5533c27d0 100644
--- a/tests/func/honeycomb/mgmt-cfg-slaac-apihc-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-slaac-apihc-func.robot
@@ -22,16 +22,21 @@
| Resource | resources/libraries/robot/honeycomb/slaac.robot
| Resource | resources/libraries/robot/testing_path.robot
| Resource | resources/libraries/robot/traffic.robot
+| ...
| Suite Teardown
| ... | Run Keyword If Any Tests Failed
| ... | Restart Honeycomb and VPP | ${node}
+| ...
| 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 Operational Data From Honeycomb Should Be empty | ${node}
| | ... | ${interface}
| | And InterfaceAPI.Set Interface State | ${node} | ${interface} | up
@@ -43,6 +48,7 @@
| TC02: Honeycomb can disable SLAAC
| | [Documentation] | Checks if Honeycomb can disable SLAAC.
+| | ...
| | Given SLAAC Operational Data From Honeycomb Should Be | ${node}
| | ... | ${interface} | ${slaac_data}
| | When Honeycomb removes SLAAC configuration | ${node} | ${interface}
@@ -51,7 +57,9 @@
| 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 Operational Data From Honeycomb Should Be empty | ${node}
| | ... | ${interface}
| | And InterfaceAPI.Set Interface State | ${node} | ${interface} | up
@@ -64,41 +72,47 @@
| 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 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 Operational Data From Honeycomb Should Be | ${node} | ${interface}
-| | ... | ${slaac_data_01}
+| | 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 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 Operational Data From Honeycomb Should Be | ${node} | ${interface}
-| | ... | ${slaac_data_02}
+| | 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 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 Operational Data From Honeycomb Should Be | ${node} | ${interface}
-| | ... | ${slaac_data_03}
+| | 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
| | [Documentation]
@@ -106,12 +120,15 @@
| | ... | [Cfg] On DUT1 configure IPv6 interface on the link to TG.
| | ... | [Ver] Make TG wait for two IPv6 Router Advertisement packets\
| | ... | to be sent by DUT1 and verify the received RA packets are correct.
+| | ...
| | [Teardown] | SLAAC test teardown | ${dut_node} | ${dut_to_tg_if1}
+| | ...
| | Given Configure path in 2-node circular topology
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
| | And Honeycomb sets interface IPv6 address
| | ... | ${dut_node} | ${dut_to_tg_if1} | ${address} | ${prefix}
-| | And Honeycomb configures interface state | ${dut_node} | ${dut_to_tg_if1} | up
+| | And Honeycomb configures interface state | ${dut_node} | ${dut_to_tg_if1}
+| | ... | up
| | When Honeycomb configures SLAAC | ${dut_node} | ${dut_to_tg_if1}
| | ... | ${slaac_data}
| | :FOR | ${n} | IN RANGE | ${2}
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 d765f1e4e9..3c6be394c3 100644
--- a/tests/func/honeycomb/mgmt-cfg-snat44-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-snat44-apihc-apivat-func.robot
@@ -19,14 +19,18 @@
| Resource | resources/libraries/robot/honeycomb/nat.robot
| Resource | resources/libraries/robot/honeycomb/honeycomb.robot
| Variables | resources/test_data/honeycomb/nat.py | ${node} | ${interface}
+| ...
| Documentation | *Honeycomb NAT test suite.*
+| ...
| Suite Teardown | Run Keyword If Any Tests Failed
| ... | Restart Honeycomb and VPP | ${node}
+| ...
| Force Tags | HC_FUNC
*** Test Cases ***
| TC01: Honeycomb configures NAT entry
| | [Documentation] | Honeycomb configures a static NAT entry.
+| | ...
| | Given NAT Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${nat_empty}
| | When Honeycomb Configures NAT Entry | ${node} | ${entry1}
@@ -34,6 +38,7 @@
| TC02: Honeycomb removes NAT entry
| | [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 Operational Data From Honeycomb Should Be empty
@@ -41,7 +46,9 @@
| TC03: Honeycomb configures multiple NAT entries
| | [Documentation] | Honeycomb configures two static NAT entries.
+| | ...
| | [Teardown] | Honeycomb Configures NAT Entry | ${node} | ${NONE}
+| | ...
| | Given NAT Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${nat_empty}
| | When Honeycomb Configures NAT Entry | ${node} | ${entry1} | ${0} | ${1}
@@ -52,6 +59,7 @@
| TC04: Honeycomb enables NAT on interface - inbound
| | [Documentation] | Honeycomb configures NAT on an interface\
| | ... | in inbound direction.
+| | ...
| | Given NAT Interface Operational Data From Honeycomb Should Be Empty
| | ... | ${node} | ${interface} | inbound
| | And NAT Interface Operational Data From Honeycomb Should Be Empty
@@ -65,6 +73,7 @@
| TC05: Honeycomb removes NAT interface configuration
| | [Documentation] | Honeycomb removes NAT configuration from an interface.
+| | ...
| | Given NAT Interface Operational Data From Honeycomb Should Be
| | ... | ${node} | ${interface} | inbound
| | And NAT Interface Operational Data From Honeycomb Should Be empty
@@ -79,8 +88,10 @@
| TC06: Honeycomb enables NAT on interface - outbound
| | [Documentation] | Honeycomb configures NAT on an interface\
| | ... | in outbound direction.
+| | ...
| | [Teardown] | Honeycomb removes NAT interface configuration
| | ... | ${node} | ${interface} | outbound
+| | ...
| | Given NAT Interface Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${interface} | inbound
| | And NAT Interface Operational Data From Honeycomb Should Be empty
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 b2adb871c5..e7fe2eb94e 100644
--- a/tests/func/honeycomb/mgmt-cfg-spanrx-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-spanrx-apihc-apivat-func.robot
@@ -24,9 +24,13 @@
| ... | ${node['interfaces']['port3']['name']}
| ... | local0
| Variables | resources/test_data/honeycomb/sub_interfaces.py
+| ...
| 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.*
*** Test Cases ***
@@ -86,6 +90,7 @@
| | ... | ${node} | ${interface1} | AND
| | ... | Honeycomb removes interface SPAN configuration
| | ... | ${node} | ${interface2}
+| | ...
| | When Honeycomb configures SPAN on interface
| | ... | ${node} | ${interface1} | ${settings_if2}
| | And Honeycomb configures SPAN on interface
@@ -112,10 +117,13 @@
| | ... | ${dut_node} | ${dut_to_tg_if1} | AND
| | ... | Honeycomb removes interface SPAN configuration
| | ... | ${node} | ${dut_to_tg_if2}
+| | ...
| | Given Configure path in 2-node circular topology
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
-| | And Honeycomb configures interface state | ${dut_node} | ${dut_to_tg_if1} | up
-| | And Honeycomb configures interface state | ${dut_node} | ${dut_to_tg_if2} | up
+| | And Honeycomb configures interface state | ${dut_node} | ${dut_to_tg_if1}
+| | ... | up
+| | And Honeycomb configures interface state | ${dut_node} | ${dut_to_tg_if2}
+| | ... | up
| | And Honeycomb sets interface IPv4 address with prefix | ${dut_node}
| | ... | ${dut_to_tg_if1} | ${dut_to_tg_if1_ip} | ${prefix}
| | And Honeycomb adds interface IPv4 neighbor | ${dut_node} | ${dut_to_tg_if1}
@@ -196,6 +204,7 @@
| | ... | ${node} | ${interface1} | ${1} | AND
| | ... | Honeycomb removes sub-interface SPAN configuration
| | ... | ${node} | ${interface2} | ${1}
+| | ...
| | Given Honeycomb creates sub-interface | ${node} | ${interface2}
| | ... | ${sub_if_2_match} | ${sub_if_2_tags} | ${sub_if_2_settings}
| | When Honeycomb Configures SPAN on sub-interface
@@ -218,12 +227,15 @@
| | ... | on the sub-interface.
| | ...
| | [Teardown] | Show Packet Trace on All DUTs | ${nodes}
+| | ...
| | Given Configure path in 2-node circular topology
| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
| | And Sub-interface state from Honeycomb should be
| | ... | ${dut_node} | ${interface1} | ${1} | down | up
-| | And Honeycomb configures interface state | ${dut_node} | ${dut_to_tg_if1} | up
-| | And Honeycomb configures interface state | ${dut_node} | ${dut_to_tg_if2} | up
+| | And Honeycomb configures interface state | ${dut_node} | ${dut_to_tg_if1}
+| | ... | up
+| | And Honeycomb configures interface state | ${dut_node} | ${dut_to_tg_if2}
+| | ... | up
| | And Honeycomb sets the sub-interface up
| | ... | ${dut_node} | ${dut_to_tg_if1} | ${1}
| | And Honeycomb sets interface IPv4 address with prefix | ${dut_node}
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 409eb13d21..7d0f5af665 100644
--- a/tests/func/honeycomb/mgmt-cfg-vxlan-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-vxlan-apihc-apivat-func.robot
@@ -32,14 +32,18 @@
| Resource | resources/libraries/robot/honeycomb/vxlan.robot
# import additional VxLAN settings from resource file
| Variables | resources/test_data/honeycomb/vxlan.py
+| ...
| Force Tags | HC_FUNC
+| ...
| Suite Teardown | Run Keyword If Any Tests Failed
| ... | Restart Honeycomb and VPP | ${node}
+| ...
| Documentation | *Honeycomb VxLAN management test suite.*
*** Test Cases ***
| TC01: Honeycomb configures VxLAN tunnel
| | [Documentation] | Check if Honeycomb API can configure VxLAN settings.
+| | ...
| | Given VxLAN Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${vx_interface}
| | And VxLAN Operational Data From VAT Should Be empty | ${node}
@@ -55,6 +59,7 @@
| TC02: Honeycomb disables VxLAN tunnel
| | [Documentation] | Check if Honeycomb API can reset VxLAN configuration.
+| | ...
| | Given VxLAN Operational Data From Honeycomb Should Be
| | ... | ${node} | ${vx_interface} | ${vxlan_settings}
| | And Honeycomb should not show disabled interface in oper data
@@ -71,8 +76,10 @@
| 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 Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${vx_interface}
| | And Honeycomb should show disabled interface in oper data
@@ -90,6 +97,7 @@
| TC04: Honeycomb does not set VxLAN configuration on another interface type
| | [Documentation] | Check if Honeycomb API prevents setting VxLAN\
| | ... | on incorrect interface.
+| | ...
| | Given VxLAN Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${interface}
| | And VxLAN Operational Data From VAT Should Be empty | ${node}
@@ -103,6 +111,7 @@
| TC05: Honeycomb does not set invalid VxLAN configuration
| | [Documentation] | Check if Honeycomb API prevents setting incorrect VxLAN\
| | ... | settings.
+| | ...
| | Given VxLAN Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${vx_interface}
| | And VxLAN Operational Data From VAT Should Be empty | ${node}
@@ -114,8 +123,10 @@
| TC06: Honeycomb configures VxLAN tunnel with ipv6
| | [Documentation] | Check if Honeycomb API can configure VxLAN with\
| | ... | ipv6 settings.
+| | ...
| | [Teardown] | Honeycomb removes VxLAN tunnel settings
| | ... | ${node} | ${vx_interface}
+| | ...
| | Given VxLAN Operational Data From Honeycomb Should Be empty
| | ... | ${node} | ${vx_interface}
| | And VxLAN Operational Data From VAT Should Be empty | ${node}
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 253cd6ab05..8dd884af71 100644
--- a/tests/func/honeycomb/mgmt-cfg-vxlangpe-apihc-apivat-func.robot
+++ b/tests/func/honeycomb/mgmt-cfg-vxlangpe-apihc-apivat-func.robot
@@ -38,10 +38,12 @@
| Resource | resources/libraries/robot/honeycomb/vxlan_gpe.robot
# 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 | HC_FUNC
-| Suite Setup
-| ... | Restart Honeycomb and VPP | ${node}
+| ...
+#| Force Tags | HC_FUNC
+| ...
+| Suite Setup | Restart Honeycomb and VPP | ${node}
*** Test Cases ***
| TC01: Honeycomb creates VxLAN GPE tunnel
diff --git a/tests/func/honeycomb/mgmt-notif-apihcnc-func.robot b/tests/func/honeycomb/mgmt-notif-apihcnc-func.robot
index 7daa08bc85..2f834ac4b6 100644
--- a/tests/func/honeycomb/mgmt-notif-apihcnc-func.robot
+++ b/tests/func/honeycomb/mgmt-notif-apihcnc-func.robot
@@ -24,13 +24,17 @@
| Resource | resources/libraries/robot/honeycomb/interfaces.robot
| Resource | resources/libraries/robot/honeycomb/tap.robot
| Resource | resources/libraries/robot/honeycomb/notifications.robot
+| ...
| Suite Setup | Run keywords
| ... | Honeycomb configures interface state
| ... | ${node} | ${interface} | down | AND
| ... | Honeycomb creates TAP interface
| ... | ${node} | ${tap_interface} | ${tap_settings}
+| ...
| Documentation | *Honeycomb notifications test suite.*
+| ...
| Force Tags | HC_FUNC
+| ...
| Suite Teardown | Run Keyword If Any Tests Failed
| ... | Restart Honeycomb and VPP | ${node}
@@ -38,6 +42,7 @@
| TC01: Honeycomb sends notification on interface state change
| | [Documentation] | Check if Honeycomb sends a state-changed notification\
| | ... | when the state of an interface is changed.
+| | ...
| | Given Interface state from Honeycomb should be
| | ... | ${node} | ${interface} | down
| | And Interface state from VAT should be | ${node} | ${interface} | down
@@ -50,6 +55,7 @@
| TC02: Honeycomb sends notification on interface deletion
| | [Documentation] | Check if Honeycomb sends an interface-deleted notification
| | ... | when an interface is deleted.
+| | ...
| | Given TAP Operational Data From Honeycomb Should Be
| | ... | ${node} | ${tap_interface} | ${tap_settings}
| | And TAP Operational Data From VAT Should Be
diff --git a/tests/func/honeycomb/mgmt-statepersist-apihc-func.robot b/tests/func/honeycomb/mgmt-statepersist-apihc-func.robot
index f5f9673230..90ed077533 100644
--- a/tests/func/honeycomb/mgmt-statepersist-apihc-func.robot
+++ b/tests/func/honeycomb/mgmt-statepersist-apihc-func.robot
@@ -21,11 +21,15 @@
| 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 | HC_PERSIST | HC_REST_ONLY
+| ...
| Documentation | *Honeycomb configuration persistence test suite.*
*** Test Cases ***
@@ -34,21 +38,27 @@
| TC01: Honeycomb persists configuration through restart of both Honeycomb and VPP
| | [Documentation] | Checks if Honeycomb maintains configuration after both\
| | ... | Restart Honeycomb and VPP.
+| | ...
| | [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 Restart Honeycomb and VPP | ${node}
+| | When Restart Honeycomb and VPP in pesistence test | ${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}
@@ -57,8 +67,10 @@
| TC03: Honeycomb persists configuration through restart of Honeycomb
| | [Documentation] | Checks if Honeycomb maintains configuration after it\
| | ... | is restarted.
+| | ...
| | [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}
@@ -68,8 +80,10 @@
| TC04: Honeycomb persists configuration through restart of VPP
| | [Documentation] | Checks if Honeycomb updates VPP settings after VPP is\
| | ... | restarted.
+| | ...
| | [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}
@@ -82,18 +96,22 @@
| 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}
+| | ...
| | Given Interface Persistence Setup | ${node}
| | And Interface Persistence Check | ${node}
-| | When Restart Honeycomb and VPP | ${node}
+| | When Restart Honeycomb and VPP in pesistence test | ${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 Restart Honeycomb | ${node}
@@ -102,8 +120,10 @@
| 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 Restart VPP | ${node}
@@ -113,18 +133,22 @@
| | [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 Restart Honeycomb and VPP | ${node}
+| | When Restart Honeycomb and VPP in pesistence test | ${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 Restart Honeycomb | ${node}
| | Then Bridge Domain Persistence Check | ${node}
@@ -133,8 +157,10 @@
| | [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 Restart VPP | ${node}
| | Then Bridge Domain Persistence Check | ${node}