X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=tests%2Fhoneycomb%2Ffunc%2Fmgmt-cfg-intip4-intip6-apihc-apivat-func.robot;h=36899ff6b4f1b70d586b1cde7726958855546a87;hb=20cc67d5f23a7f4e05b08012bf3d3a63be4bcf63;hp=9565564100120fb7d6052f5c5c0d8e958f5487b2;hpb=0cf1f0204e326cf93e36b344e2efd3cfa2f82870;p=csit.git diff --git a/tests/honeycomb/func/mgmt-cfg-intip4-intip6-apihc-apivat-func.robot b/tests/honeycomb/func/mgmt-cfg-intip4-intip6-apihc-apivat-func.robot index 9565564100..36899ff6b4 100644 --- a/tests/honeycomb/func/mgmt-cfg-intip4-intip6-apihc-apivat-func.robot +++ b/tests/honeycomb/func/mgmt-cfg-intip4-intip6-apihc-apivat-func.robot @@ -14,12 +14,14 @@ *** Variables *** # Interface to run tests on. | ${interface}= | ${node['interfaces']['port1']['name']} -| ${interface2}= | ${node['interfaces']['port3']['name']} +| ${interface2}= | ${node['interfaces']['port2']['name']} +| ${interface3}= | ${node['interfaces']['port3']['name']} *** Settings *** | Resource | resources/libraries/robot/shared/default.robot | Resource | resources/libraries/robot/honeycomb/interfaces.robot | Resource | resources/libraries/robot/honeycomb/honeycomb.robot +| Resource | resources/libraries/robot/honeycomb/fib.robot | Resource | resources/libraries/robot/shared/testing_path.robot | Resource | resources/libraries/robot/ip/ip6.robot | Variables | resources/test_data/honeycomb/interface_ip.py @@ -121,7 +123,8 @@ | | Then IPv6 address from Honeycomb should contain | | ... | ${node} | ${interface} | ${ipv6_address} | ${ipv6_prefix} | | And IPv6 address from VAT should contain -| | ... | ${node} | ${interface} | ${ipv6_address} | ${ipv6_prefix} +| | ... | ${node} | ${interface} | ${ipv6_address} +| | ... | ${ipv6_prefix} | ${ipv6_mask} | TC07: Honeycomb modifies IPv6 neighbor table | | [Documentation] | Check if Honeycomb API can add and remove ARP entries. @@ -144,16 +147,17 @@ | | ... | ${node} | ${interface} | ${ethernet} | | Then Interface ethernet Operational Data From Honeycomb Should Be | | ... | ${node} | ${interface} | ${ethernet} +| | ${mtu}= | Create List | ${ethernet['mtu']} | ${0} | ${0} | ${0} | | And Interface ethernet Operational Data From VAT Should Be -| | ... | ${node} | ${interface} | ${ethernet['mtu']} +| | ... | ${node} | ${interface} | ${mtu} | 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 +| | [Teardown] | Honeycomb interface VRF Test Teardown | ${node} | ${interface} | | ... +| | Honeycomb configures FIB table | ${node} | ipv4 | ${1} | | When Honeycomb sets interface VRF ID | | ... | ${node} | ${interface} | ${1} | ipv4 | | Then Interface VRF ID from Honeycomb should be @@ -185,12 +189,13 @@ | | Then IPv4 address from Honeycomb should be | | ... | ${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} +| | ... | ${dut_node} | ${interface2} | ${ipv4_address} | | ... | ${ipv4_prefix} | ${ipv4_mask} | | And IPv6 address from Honeycomb should contain | | ... | ${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} | ${ipv6_prefix} +| | ... | ${dut_node} | ${interface2} | ${ipv6_address} +| | ... | ${ipv6_prefix} | ${ipv6_mask} | | And Honeycomb configures interface state | | ... | ${dut_node} | ${dut_to_tg_if1} | up | | And Honeycomb adds interface IPv4 neighbor | ${dut_node} | ${dut_to_tg_if1} @@ -201,7 +206,7 @@ | | ... | ${ipv6_neighbor} | ${neighbor_mac} | | And Honeycomb adds interface IPv6 neighbor | ${dut_node} | ${dut_to_tg_if1} | | ... | ${ipv6_neighbor2} | ${neighbor_mac2} -| | And Suppress ICMPv6 router advertisement message | ${nodes} +| | And Vpp All Ra Suppress Link Layer | ${nodes} | | Then Ping and Verify IP address | ${nodes['TG']} | | ... | ${ipv4_neighbor} | ${ipv4_address} | | ... | ${tg_to_dut_if1} | ${tg_to_dut_if1_mac} @@ -219,20 +224,50 @@ | | ... | ${tg_to_dut_if1} | ${tg_to_dut_if1_mac} | | ... | ${tg_to_dut_if1} | ${dut_to_tg_if1_mac} -| TC11: Honeycomb can configure unnumbered interface +| 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} +| | ... +| | When Honeycomb sets interface IPv4 address with prefix +| | ... | ${node} | ${interface} | 192.168.0.1 | ${9} +| | Then Honeycomb fails to add interface IPv4 address +| | ... | ${node} | ${interface} | 192.168.0.2 | ${9} +| | And Honeycomb fails to add interface IPv4 address +| | ... | ${node} | ${interface} | 192.232.0.2 | ${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. +| | ... +| | [Teardown] | Honeycomb removes interface IPv6 addresses | ${node} +| | ... | ${interface} +| | When Honeycomb sets interface IPv6 address +| | ... | ${node} | ${interface} | 10::FF10 | ${64} +| | Then Honeycomb fails to add interface IPv6 address +| | ... | ${node} | ${interface} | 10::FF11 | ${64} +| | And Honeycomb fails to add interface IPv6 address +| | ... | ${node} | ${interface} | 10::FFFF | ${64} + +| TC13: Honeycomb can configure unnumbered interface | | [Documentation] | Check if Honeycomb can configure an unnumbered interface\ | | ... | on a physical interface, borrowing the IP address of another physical\ | | ... | interface. | | ... +# CSIT-1210: Adapt HC unnumbered interface tests to VPP 18.07 api changes +| | [Tags] | EXPECTED_FAILING +| | ... | | Given Honeycomb sets interface IPv4 address | ${node} -| | ... | ${interface2} | ${ipv4_address} | ${ipv4_prefix} +| | ... | ${interface3} | ${ipv4_address} | ${ipv4_prefix} | | When Honeycomb adds unnumbered configuration to interface -| | ... | ${node} | ${interface} | ${interface2} +| | ... | ${node} | ${interface} | ${interface3} | | Then Wait until Keyword succeeds | 10s | 2s | | ... | IPv4 address from Honeycomb should be -| | ... | ${node} | ${interface2} | ${ipv4_address} | ${ipv4_prefix} +| | ... | ${node} | ${interface3} | ${ipv4_address} | ${ipv4_prefix} | | And IPv4 address from VAT should be -| | ... | ${node} | ${interface2} | ${ipv4_address} +| | ... | ${node} | ${interface3} | ${ipv4_address} | | ... | ${ipv4_prefix} | ${ipv4_mask} | | And IPv4 address from Honeycomb should be | | ... | ${node} | ${interface} | ${ipv4_address} | ${ipv4_prefix} @@ -240,14 +275,17 @@ | | ... | ${node} | ${interface} | ${ipv4_address} | | ... | ${ipv4_prefix} | ${ipv4_mask} -| TC12: Honeycomb removes interface unnumbered configuration +| TC14: Honeycomb removes interface unnumbered configuration | | [Documentation] | Check if Honeycomb can remove unnumbered configuration\ | | ... | from an interface. | | ... +# CSIT-1210: Adapt HC unnumbered interface tests to VPP 18.07 api changes +| | [Tags] | EXPECTED_FAILING +| | ... | | Given IPv4 address from Honeycomb should be -| | ... | ${node} | ${interface2} | ${ipv4_address} | ${ipv4_prefix} +| | ... | ${node} | ${interface3} | ${ipv4_address} | ${ipv4_prefix} | | And IPv4 address from VAT should be -| | ... | ${node} | ${interface2} | ${ipv4_address} +| | ... | ${node} | ${interface3} | ${ipv4_address} | | ... | ${ipv4_prefix} | ${ipv4_mask} | | And IPv4 address from Honeycomb should be | | ... | ${node} | ${interface} | ${ipv4_address} | ${ipv4_prefix} @@ -258,50 +296,22 @@ | | ... | ${node} | ${interface} | | Then Wait until Keyword succeeds | 10s | 2s | | ... | IPv4 address from Honeycomb should be -| | ... | ${node} | ${interface2} | ${ipv4_address} | ${ipv4_prefix} +| | ... | ${node} | ${interface3} | ${ipv4_address} | ${ipv4_prefix} | | And IPv4 address from VAT should be -| | ... | ${node} | ${interface2} | ${ipv4_address} +| | ... | ${node} | ${interface3} | ${ipv4_address} | | ... | ${ipv4_prefix} | ${ipv4_mask} | | And IPv4 address from Honeycomb should be empty | ${node} | ${interface} | | And ipv4 address from VAT should be empty | ${node} | ${interface} -| TC13: 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} -| | Then Honeycomb fails to add interface IPv4 address -| | ... | ${node} | ${interface} | 192.168.0.2 | ${9} -| | And Honeycomb fails to add interface IPv4 address -| | ... | ${node} | ${interface} | 192.232.0.2 | ${9} - -| TC14: 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} -| | When Honeycomb sets interface IPv6 address -| | ... | ${node} | ${interface} | 10::FF10 | ${64} -| | Then Honeycomb fails to add interface IPv6 address -| | ... | ${node} | ${interface} | 10::FF11 | ${64} -| | And Honeycomb fails to add interface IPv6 address -| | ... | ${node} | ${interface} | 10::FFFF | ${64} - *** Keywords *** | Multiple IP Address Test Teardown | | [Arguments] | ${node} | ${interface} | | Honeycomb removes interface IPv4 addresses | ${node} | ${interface} | | Honeycomb removes interface IPv6 addresses | ${node} | ${interface} | | Honeycomb clears all interface IPv4 neighbors | ${node} | ${interface} -| | Honeycomb clears all interface IPv6 neighbors | ${node} | ${interface} \ No newline at end of file +| | Honeycomb clears all interface IPv6 neighbors | ${node} | ${interface} + +| Honeycomb interface VRF Test Teardown +| | [Arguments] | ${node} | ${interface} +| | Honeycomb sets interface VRF ID | ${node} | ${interface} | ${0} | ipv4 +| | Honeycomb removes FIB configuration | ${node} | ipv4 | ${1}