From 05b470e7f3b3e677b6667be7b48a50716d21708c Mon Sep 17 00:00:00 2001 From: Srinivas Rachakonda Date: Fri, 19 Jun 2020 10:33:40 +0530 Subject: [PATCH] INTTEST-91 - Updating list and dictionary syntax Accessing list and dictionary items using @{var}[item] and &{var}[item] is deprecated from robotframework 3.2b1 https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-3.2b1.rst#accessing-list-and-dictionary-items-using-varitem-and-varitem-is-deprecated Signed-off-by: Srinivas Rachakonda Change-Id: Ic2e9bc0b7edc150c003171022da987b61bd9999f --- csit/libraries/Coe.robot | 2 +- csit/libraries/CompareStream.robot | 2 +- csit/libraries/Genius.robot | 10 +- csit/libraries/L2GatewayOperations.robot | 2 +- csit/libraries/NexusKeywords.robot | 2 +- csit/libraries/OVSDB.robot | 10 +- csit/libraries/OpenStackOperations.robot | 18 +- csit/libraries/OvsManager.robot | 2 +- csit/libraries/TsdrUtils.robot | 2 +- csit/libraries/controller/DdbCommons.robot | 26 +-- ...peer_pc_shm_300kroutes_shards_remote.robot | 2 +- .../controller/benchmark/dsbenchmark.robot | 2 +- .../ddb-sanity-module-based.robot | 6 +- .../ddb-sanity-prefix-based.robot | 6 +- .../restart_odl_with_tell_based_false.robot | 2 +- csit/suites/genius/Configure_ITM.robot | 2 +- csit/suites/genius/ITM_Vtep_Auto_Tunnel.robot | 4 +- .../mdsal/binding_v1/binding-parent.robot | 4 +- .../clustering/entity-isolation-rejoin.robot | 4 +- csit/suites/netconf/clustering/entity.robot | 4 +- .../aclservicerecovery.robot | 24 +- csit/suites/netvirt/elan/elan.robot | 62 +++--- .../netvirt/elan/elan_service_recovery.robot | 50 ++--- .../host_route/host_route_handling.robot | 60 ++--- csit/suites/netvirt/l2l3_gatewaymac_arp.robot | 10 +- .../l3vpn_bgp_multipath_maxpath_cli.robot | 100 ++++----- .../netvirt/l3vpn_bgp/multi_vpn_bgp.robot | 118 +++++----- .../openflow_punt_path_protection.robot | 172 +++++++------- csit/suites/netvirt/snatdnat/snat_dnat.robot | 66 +++--- .../subnet_routing_and_multicast.robot | 96 ++++---- csit/suites/netvirt/upgrade/upgrade.robot | 20 +- .../vnibasedIpv6forwarding.robot | 152 ++++++------- .../vnibasedl2switching.robot | 22 +- .../vnibasedl3forwarding.robot | 142 ++++++------ .../netvirt/vpnservice/arp_learning.robot | 116 +++++----- .../suites/netvirt/vpnservice/vpn_basic.robot | 206 ++++++++--------- .../vpn_basic_dualstack_one_router.robot | 158 ++++++------- .../vpn_basic_dualstack_subnet_routing.robot | 206 ++++++++--------- .../netvirt/vpnservice/vpn_basic_ipv6.robot | 178 +++++++-------- csit/suites/openstack/clustering/ha_l2.robot | 58 ++--- csit/suites/openstack/clustering/ha_l3.robot | 70 +++--- .../clustering/ha_l3_block_port.robot | 60 ++--- .../connectivity/external_network.robot | 74 +++--- csit/suites/openstack/connectivity/l2.robot | 54 ++--- csit/suites/openstack/connectivity/l3.robot | 88 ++++---- .../connectivity/live_migration.robot | 22 +- .../connectivity/security_group.robot | 98 ++++---- csit/suites/openstack/extensions/sfc.robot | 210 +++++++++--------- csit/suites/openstack/securitygroup/acl.robot | 74 +++--- .../security_group_l3bcast.robot | 42 ++-- .../libraries/OpenStackOperations.robot | 18 +- 51 files changed, 1469 insertions(+), 1469 deletions(-) diff --git a/csit/libraries/Coe.robot b/csit/libraries/Coe.robot index d9572bff8e..e572aaee7a 100644 --- a/csit/libraries/Coe.robot +++ b/csit/libraries/Coe.robot @@ -289,7 +289,7 @@ Extract current suite name END ${num_suites} = BuiltIn.Get Length ${suite_names_updated} ${suite line} ${current_suite} = BuiltIn.Run Keyword If ${num_suites} > ${1} Should Match Regexp ${SUITE_NAME} .txt.(\\w.*) - ... ELSE BuiltIn.Set Variable @{suite_names_updated}[0] @{suite_names_updated}[0] + ... ELSE BuiltIn.Set Variable ${suite_names_updated}[0] ${suite_names_updated}[0] [Return] ${current_suite} ${suite_names_updated} Check For Stale veth Ports diff --git a/csit/libraries/CompareStream.robot b/csit/libraries/CompareStream.robot index 4da6f4dc7a..8315f3cbf8 100644 --- a/csit/libraries/CompareStream.robot +++ b/csit/libraries/CompareStream.robot @@ -134,7 +134,7 @@ CompareStream__Convert_Input ${splitted} BuiltIn.Run_Keyword_If "${removed[0]}" == "<" BuiltIn.Create List ${arg} ... ELSE String.Split_String ${arg} separator== max_split=1 ${len} BuiltIn.Get_Length ${splitted} - Run Keyword If ${len}==1 Collections.Append_To_List ${args} @{splitted}[0] + Run Keyword If ${len}==1 Collections.Append_To_List ${args} ${splitted}[0] ... ELSE Collections.Set_To_Dictionary ${kwargs} @{splitted} END BuiltIn.Return_From_Keyword ${args} ${kwargs} diff --git a/csit/libraries/Genius.robot b/csit/libraries/Genius.robot index ccb3fc2db1..713d260472 100644 --- a/csit/libraries/Genius.robot +++ b/csit/libraries/Genius.robot @@ -63,7 +63,7 @@ Start Suite Stop Suite [Documentation] stops all connections and deletes all the bridges available on OVS FOR ${tool_system_index} IN RANGE ${NUM_TOOLS_SYSTEM} - SSHLibrary.Switch Connection @{TOOLS_SYSTEM_ALL_CONN_IDS}[${tool_system_index}] + SSHLibrary.Switch Connection ${TOOLS_SYSTEM_ALL_CONN_IDS}[${tool_system_index}] SSHLibrary.Execute Command sudo ovs-vsctl del-br ${Bridge} SSHLibrary.Execute Command sudo ovs-vsctl del-manager SSHLibrary.Write exit @@ -99,7 +99,7 @@ Set Json ... ELSE BuiltIn.Set Variable ${body} FOR ${tool_system_index} IN RANGE ${NUM_TOOLS_SYSTEM} ${body} String.Replace String ${body} "dpn-id": 10${tool_system_index} "dpn-id": ${DPN_ID_LIST[${tool_system_index}]} - ${body} String.Replace String ${body} "ip-address": "${tool_system_index+2}.${tool_system_index+2}.${tool_system_index+2}.${tool_system_index+2}" "ip-address": "@{tools_ips}[${tool_system_index}]" + ${body} String.Replace String ${body} "ip-address": "${tool_system_index+2}.${tool_system_index+2}.${tool_system_index+2}.${tool_system_index+2}" "ip-address": "${tools_ips}[${tool_system_index}]" END BuiltIn.Log ${body} [Return] ${body} # returns complete json that has been updated @@ -132,7 +132,7 @@ Genius Test Setup Genius Test Teardown [Arguments] ${data_models} ${test_name}=${SUITE_NAME}.${TEST_NAME} ${fail}=${FAIL_ON_EXCEPTIONS} FOR ${tool_system_index} IN RANGE ${NUM_TOOLS_SYSTEM} - OVSDB.Get DumpFlows And Ovsconfig @{TOOLS_SYSTEM_ALL_CONN_IDS}[${tool_system_index}] ${Bridge} + OVSDB.Get DumpFlows And Ovsconfig ${TOOLS_SYSTEM_ALL_CONN_IDS}[${tool_system_index}] ${Bridge} END BuiltIn.Run Keyword And Ignore Error DataModels.Get Model Dump ${ODL_SYSTEM_IP} ${data_models} KarafKeywords.Fail If Exceptions Found During Test ${test_name} fail=${fail} @@ -185,7 +185,7 @@ Check Table0 Entry In a Dpn ${check} = Utils.Run Command On Remote System And Log ${tools_ip} sudo ovs-ofctl -OOpenFlow13 dump-flows ${bridgename} ${num_ports} = BuiltIn.Get Length ${port_numbers} FOR ${port_index} IN RANGE ${num_ports} - BuiltIn.Should Contain ${check} in_port=@{port_numbers}[${port_index}] + BuiltIn.Should Contain ${check} in_port=${port_numbers}[${port_index}] END Verify Tunnel Status As Up @@ -273,7 +273,7 @@ Verify Tunnel Monitoring Status Set Switch Configuration [Documentation] This keyword will set manager,controller,tap port,bridge on each OVS FOR ${tool_system_index} IN RANGE ${NUM_TOOLS_SYSTEM} - SSHLibrary.Switch Connection @{TOOLS_SYSTEM_ALL_CONN_IDS}[${tool_system_index}] + SSHLibrary.Switch Connection ${TOOLS_SYSTEM_ALL_CONN_IDS}[${tool_system_index}] SSHLibrary.Login With Public Key ${TOOLS_SYSTEM_USER} ${USER_HOME}/.ssh/${SSH_KEY} any SSHLibrary.Execute Command sudo ovs-vsctl add-br ${Bridge} SSHLibrary.Execute Command sudo ovs-vsctl set bridge ${Bridge} protocols=OpenFlow13 diff --git a/csit/libraries/L2GatewayOperations.robot b/csit/libraries/L2GatewayOperations.robot index bbd3d9e8ea..63a4786fab 100644 --- a/csit/libraries/L2GatewayOperations.robot +++ b/csit/libraries/L2GatewayOperations.robot @@ -200,7 +200,7 @@ Verify Nova VM IP @{vm_ip} ${dhcp_ip} = Get VM IPs ${vm_name} Should Not Contain ${vm_ip} None Should Not Contain ${dhcp_ip} None - [Return] @{vm_ip}[0] + [Return] ${vm_ip}[0] Get L2gw Debug Info [Documentation] Keyword to collect the general debug information required for HWVTEP Test Suite. diff --git a/csit/libraries/NexusKeywords.robot b/csit/libraries/NexusKeywords.robot index 59df4af23c..929a91264c 100644 --- a/csit/libraries/NexusKeywords.robot +++ b/csit/libraries/NexusKeywords.robot @@ -322,7 +322,7 @@ Get_Latest_ODL_Previous_Stream_Release ... numbers to the global variable ${ODL_STREAM} so that is used to ensure we get a major version that is ... older than the current running major version. ${latest} @{versions}= Get_ODL_Versions_From_Nexus - ${current_version}= BuiltIn.Set_Variable &{Stream_dict}[${ODL_STREAM}].0 + ${current_version}= BuiltIn.Set_Variable ${Stream_dict}[${ODL_STREAM}].0 ${latest_version}= BuiltIn.Set_Variable 0.0 FOR ${version} IN @{versions} ${version} = String.Replace String Using Regexp ${version} ^0\. ${EMPTY} diff --git a/csit/libraries/OVSDB.robot b/csit/libraries/OVSDB.robot index c64548e073..f9140a895a 100644 --- a/csit/libraries/OVSDB.robot +++ b/csit/libraries/OVSDB.robot @@ -431,14 +431,14 @@ Get Tunnel Id And Packet Count SSHLibrary.Switch Connection ${conn_id} ${output} = Utils.Write Commands Until Expected Prompt ${cmd} ${DEFAULT_LINUX_PROMPT_STRICT} @{list}= Split to lines ${output} - ${output} = Set Variable @{list}[0] + ${output} = Set Variable ${list}[0] ${output} = String.Get Regexp Matches ${output} n_packets=([0-9]+),.*set_field:(0x[0-9a-z]+)|n_packets=([0-9]+),.*tun_id=(0x[0-9a-z]+) 1 2 3 ... 4 - ${output} = BuiltIn.Set Variable @{output}[0] + ${output} = BuiltIn.Set Variable ${output}[0] ${output} Convert To List ${output} - ${packet_count} ${tunnel_id} = BuiltIn.Run Keyword If "${table_id}" == "${ELAN_DMACTABLE}" BuiltIn.Set Variable @{output}[0] @{output}[1] - ... ELSE IF "${table_id}" == "${INTERNAL_TUNNEL_TABLE}" BuiltIn.Set Variable @{output}[2] @{output}[3] - ... ELSE IF "${table_id}" == "${L3_TABLE}" BuiltIn.Set Variable @{output}[0] @{output}[1] + ${packet_count} ${tunnel_id} = BuiltIn.Run Keyword If "${table_id}" == "${ELAN_DMACTABLE}" BuiltIn.Set Variable ${output}[0] ${output}[1] + ... ELSE IF "${table_id}" == "${INTERNAL_TUNNEL_TABLE}" BuiltIn.Set Variable ${output}[2] ${output}[3] + ... ELSE IF "${table_id}" == "${L3_TABLE}" BuiltIn.Set Variable ${output}[0] ${output}[1] ${tunnel_id} = Convert To Integer ${tunnel_id} 16 [Return] ${tunnel_id} ${packet_count} diff --git a/csit/libraries/OpenStackOperations.robot b/csit/libraries/OpenStackOperations.robot index 30742e05e3..6c44afca88 100644 --- a/csit/libraries/OpenStackOperations.robot +++ b/csit/libraries/OpenStackOperations.robot @@ -127,7 +127,7 @@ Create Port # in a different format with the neutron vs openstack cli. ${address_pair_length} = BuiltIn.Get Length ${allowed_address_pairs} ${allowed_pairs_argv} = BuiltIn.Set Variable ${EMPTY} - ${allowed_pairs_argv} = BuiltIn.Set Variable If '${address_pair_length}'=='2' --allowed-address ip-address=@{allowed_address_pairs}[0] --allowed-address ip-address=@{allowed_address_pairs}[1] ${allowed_pairs_argv} + ${allowed_pairs_argv} = BuiltIn.Set Variable If '${address_pair_length}'=='2' --allowed-address ip-address=${allowed_address_pairs}[0] --allowed-address ip-address=${allowed_address_pairs}[1] ${allowed_pairs_argv} ${output} = OpenStack CLI openstack port create --network ${network_name} ${port_name} --security-group ${sg} ${additional_args} ${allowed_pairs_argv} Update Port @@ -165,12 +165,12 @@ Create And Associate Floating IPs ${output} = OpenStack CLI openstack floating ip create ${external_net} @{ip} = String.Get Regexp Matches ${output} [0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3} ${ip_length} = BuiltIn.Get Length ${ip} - BuiltIn.Run Keyword If ${ip_length}>0 Collections.Append To List ${ip_list} @{ip}[0] + BuiltIn.Run Keyword If ${ip_length}>0 Collections.Append To List ${ip_list} ${ip}[0] ... ELSE Collections.Append To List ${ip_list} None ${vm_ip} = OpenStack CLI openstack server show ${vm} | grep "addresses" | awk '{print $4}' | cut -d"=" -f 2 ${port_id} = OpenStack CLI openstack port list | grep "ip_address='${vm_ip}'" | awk '{print $2}' | cut -d"=" -f 2 - ${output} = BuiltIn.Run Keyword If '${OPENSTACK_BRANCH}' == 'stable/rocky' OpenStack CLI openstack floating ip set --port ${port_id} @{ip}[0] - ... ELSE OpenStack CLI openstack server add floating ip ${vm} @{ip}[0] + ${output} = BuiltIn.Run Keyword If '${OPENSTACK_BRANCH}' == 'stable/rocky' OpenStack CLI openstack floating ip set --port ${port_id} ${ip}[0] + ... ELSE OpenStack CLI openstack server add floating ip ${vm} ${ip}[0] END [Return] ${ip_list} @@ -353,7 +353,7 @@ Get Match @{matches} = String.Get Regexp Matches ${text} ${regexp} ${matches_length} = BuiltIn.Get Length ${matches} BuiltIn.Set Suite Variable ${OS_MATCH} None - BuiltIn.Run Keyword If ${matches_length} > ${index} BuiltIn.Set Suite Variable ${OS_MATCH} @{matches}[${index}] + BuiltIn.Run Keyword If ${matches_length} > ${index} BuiltIn.Set Suite Variable ${OS_MATCH} ${matches}[${index}] [Return] ${OS_MATCH} Get VM IP @@ -1093,12 +1093,12 @@ Wait For Routes To Propogate [Documentation] Check propagated routes OpenStackOperations.Get ControlNode Connection FOR ${INDEX} IN RANGE 0 1 - ${net_id} = OpenStackOperations.Get Net Id @{networks}[${INDEX}] - ${is_ipv6} = String.Get Regexp Matches @{subnets}[${INDEX}] ${IP6_REGEX} + ${net_id} = OpenStackOperations.Get Net Id ${networks}[${INDEX}] + ${is_ipv6} = String.Get Regexp Matches ${subnets}[${INDEX}] ${IP6_REGEX} ${length} = BuiltIn.Get Length ${is_ipv6} ${cmd} = BuiltIn.Set Variable If ${length} == 0 ip route ip -6 route ${output} = Utils.Write Commands Until Expected Prompt sudo ip netns exec qdhcp-${net_id} ${cmd} ${DEFAULT_LINUX_PROMPT_STRICT} - BuiltIn.Should Contain ${output} @{subnets}[${INDEX}] + BuiltIn.Should Contain ${output} ${subnets}[${INDEX}] END Neutron Cleanup @@ -1322,7 +1322,7 @@ Get Network Segmentation Id [Documentation] Returns network segmentation id for the given network name. ${output} = OpenStack CLI openstack network show ${network_name} | grep segmentation_id | awk '{print $4}' @{list} = String.Split String ${output} - [Return] @{list}[0] + [Return] ${list}[0] Verify Services [Documentation] Verify if the services are operational diff --git a/csit/libraries/OvsManager.robot b/csit/libraries/OvsManager.robot index e2beb38703..0edf59aade 100644 --- a/csit/libraries/OvsManager.robot +++ b/csit/libraries/OvsManager.robot @@ -263,4 +263,4 @@ Get OVS Local Ip [Documentation] Get local ip of compute node ovsdb ${cmd_output} = Utils.Run Command On Remote System ${ip} ${GET_LOCAL_IP} ${localip} = String.Get Regexp Matches ${cmd_output} (\[0-9]+\.\[0-9]+\.\[0-9]+\.\[0-9]+) - [Return] @{localip}[0] + [Return] ${localip}[0] diff --git a/csit/libraries/TsdrUtils.robot b/csit/libraries/TsdrUtils.robot index 8e0a05569b..9a9e69403c 100644 --- a/csit/libraries/TsdrUtils.robot +++ b/csit/libraries/TsdrUtils.robot @@ -479,7 +479,7 @@ Generate TSDR NBI @{convert}= Parse Json ${resp.content} ${dict_convert}= Convert To Dictionary @{convert} @{dict}= Get Dictionary Values ${dict_convert} - @{datapoints_list}= Convert to List @{dict}[0] + ${datapoints_list}= Convert to List ${dict}[0] Delete All Sessions [Return] @{datapoints_list} diff --git a/csit/libraries/controller/DdbCommons.robot b/csit/libraries/controller/DdbCommons.robot index cd6f17f235..a121064a12 100644 --- a/csit/libraries/controller/DdbCommons.robot +++ b/csit/libraries/controller/DdbCommons.robot @@ -83,9 +83,9 @@ Get_Node_Indexes_For_The_ELM_Test ... producer should be deployed. ${leader} ${follower_list} = ClusterManagement.Get_Leader_And_Followers_For_Shard shard_name=${shard_name} shard_type=${shard_type} verify_restconf=False ${idx_from} = BuiltIn.Set_Variable ${leader} - ${idx_to} = BuiltIn.Set_Variable @{follower_list}[0] - ${idx_trans} = BuiltIn.Set_Variable_If "${leader_from}" == "remote" and "${leader_to}" == "remote" @{follower_list}[1] "${leader_from}" == "local" ${leader} "${leader_to}" == "local" - ... @{follower_list}[0] + ${idx_to} = BuiltIn.Set_Variable ${follower_list}[0] + ${idx_trans} = BuiltIn.Set_Variable_If "${leader_from}" == "remote" and "${leader_to}" == "remote" ${follower_list}[1] "${leader_from}" == "local" ${leader} "${leader_to}" == "local" + ... ${follower_list}[0] BuiltIn.Return_From_Keyword ${idx_from} ${idx_to} ${idx_trans} Clean_Leader_Shutdown_Test_Templ @@ -126,7 +126,7 @@ Get_Node_Indexes_For_Clean_Leader_Shutdown_Test ${leader} ${follower_list} = ClusterManagement.Get_Leader_And_Followers_For_Shard shard_name=${shard_name} shard_type=${shard_type} verify_restconf=False ${follower_list_leangth} = BuiltIn.Evaluate ${NUM_ODL_SYSTEM}-1 BuiltIn.Length_Should_Be ${follower_list} ${follower_list_leangth} - ${producer_idx} = BuiltIn.Set_Variable_If "${leader_location}" == "local" ${leader} @{follower_list}[0] + ${producer_idx} = BuiltIn.Set_Variable_If "${leader_location}" == "local" ${leader} ${follower_list}[0] BuiltIn.Return_From_Keyword ${producer_idx} ${leader} ${follower_list} Leader_Isolation_Test_Templ @@ -200,7 +200,7 @@ Leader_Isolation_Heal_Within_Rt ... producers shoudl finish without error. ${resp_list} = MdsalLowlevelPy.Wait_For_Transactions FOR ${resp} IN @{resp_list} - TemplatedRequests.Check_Status_Code @{resp}[2] + TemplatedRequests.Check_Status_Code ${resp}[2] END Module_Leader_Isolation_Heal_Default @@ -218,7 +218,7 @@ Module_Leader_Isolation_Heal_Default ... reset_globals=${False} ${resp_list} = MdsalLowlevelPy.Wait_For_Transactions FOR ${resp} IN @{resp_list} - TemplatedRequests.Check_Status_Code @{resp}[2] + TemplatedRequests.Check_Status_Code ${resp}[2] END Prefix_Leader_Isolation_Heal_Default @@ -235,7 +235,7 @@ Prefix_Leader_Isolation_Heal_Default MdsalLowlevelPy.Start_Produce_Transactions_On_Nodes ${restart_producer_node_ip_as_list} ${restart_producer_node_idx_as_list} ${ID_PREFIX2} ${time_to_finish} ${TRANSACTION_RATE_1K} reset_globals=${False} ${resp_list} = MdsalLowlevelPy.Wait_For_Transactions FOR ${resp} IN @{resp_list} - TemplatedRequests.Check_Status_Code @{resp}[2] + TemplatedRequests.Check_Status_Code ${resp}[2] END Client_Isolation_Test_Templ @@ -294,7 +294,7 @@ Ongoing_Transactions_Not_Failed_Yet Ongoing_Transactions_Failed [Documentation] Verify if write-transaction failed. ${resp} = MdsalLowlevelPy.Get_Next_Transactions_Response - Check_Status_Code @{resp}[2] explicit_status_codes=${TRANSACTION_FAILED} + Check_Status_Code ${resp}[2] explicit_status_codes=${TRANSACTION_FAILED} Get_Seconds_To_Time [Arguments] ${date_in_future} @@ -321,7 +321,7 @@ Listener_Stability_Test_Templ BuiltIn.Should_Be_Equal ${idx_to} ${new_leader} ${resp_list} = MdsalLowlevelPy.Wait_For_Transactions FOR ${resp} IN @{resp_list} - TemplatedRequests.Check_Status_Code @{resp}[2] + TemplatedRequests.Check_Status_Code ${resp}[2] END ${copy_matches} = MdsalLowlevel.Unsubscribe_Dtcl ${idx_listen} ${subscribed} = BuiltIn.Set_Variable ${False} @@ -346,7 +346,7 @@ Listener_Stability_PrefBasedShard_Test_Templ BuiltIn.Should_Be_Equal ${idx_to} ${new_leader} ${resp_list} = MdsalLowlevelPy.Wait_For_Transactions FOR ${resp} IN @{resp_list} - TemplatedRequests.Check_Status_Code @{resp}[2] + TemplatedRequests.Check_Status_Code ${resp}[2] END ${copy_matches} = MdsalLowlevel.Unsubscribe_Ddtl ${idx_listen} ${subscribed} = BuiltIn.Set_Variable ${False} @@ -393,9 +393,9 @@ Restart_Test_Templ Check_Status_Of_First_Response [Arguments] ${resp_list} [Documentation] Extract first item from the list, third item of the tuple and call TemplatedRequests to check the http status code. - # @{resp_list}[0][2] does not work - ${tuple} = BuiltIn.Set_Variable @{resp_list}[0] - TemplatedRequests.Check_Status_Code @{tuple}[2] + # ${resp_list}[0][2] does not work + ${tuple} = BuiltIn.Set_Variable ${resp_list}[0] + TemplatedRequests.Check_Status_Code ${tuple}[2] Change_Use_Tell_Based_Protocol [Arguments] ${status} ${DATASTORE_CFG} diff --git a/csit/suites/bgpcep/bgpclustering/singlepeer_pc_shm_300kroutes_shards_remote.robot b/csit/suites/bgpcep/bgpclustering/singlepeer_pc_shm_300kroutes_shards_remote.robot index 9e779743a4..4fb3588be6 100644 --- a/csit/suites/bgpcep/bgpclustering/singlepeer_pc_shm_300kroutes_shards_remote.robot +++ b/csit/suites/bgpcep/bgpclustering/singlepeer_pc_shm_300kroutes_shards_remote.robot @@ -51,7 +51,7 @@ Get_Example_Bgp_Rib_Owner Move_Shard_Leaders_If_Needed [Documentation] Set shard leaders to expected location - PrefixcountKeywords.Set_Shard_Leaders_Location_And_Verify @{rib_candidates}[0] + PrefixcountKeywords.Set_Shard_Leaders_Location_And_Verify ${rib_candidates}[0] Check_For_Empty_Ipv4_Topology_Before_Talking_1 [Documentation] Wait for ${EXAMPLE_IPV4_TOPOLOGY} to come up and empty. Give large timeout for case when BGP boots slower than restconf. diff --git a/csit/suites/controller/benchmark/dsbenchmark.robot b/csit/suites/controller/benchmark/dsbenchmark.robot index 2c70b92b87..4e8505f4b0 100644 --- a/csit/suites/controller/benchmark/dsbenchmark.robot +++ b/csit/suites/controller/benchmark/dsbenchmark.robot @@ -329,7 +329,7 @@ Set_Node_Ip_For_Benchmark ${shard_type}= BuiltIn.Set_Variable_If "${tested_ds}"=="CONFIG" config operational ${leader} ${followers}= ClusterManagement.Get_Leader_And_Followers_For_Shard shard_type=${shard_type} BuiltIn.Return From Keyword If "${state}"=="leader" ${ODL_SYSTEM_${leader}_IP} - BuiltIn.Return From Keyword ${ODL_SYSTEM_@{followers}[0]_IP} + BuiltIn.Return From Keyword ${ODL_SYSTEM_${followers}[0]_IP} Measuring_Template [Arguments] ${state} ${tested_ds} ${file_prefix} ${retry}=${EMPTY} ${warmups}=${WARMUPS} ${runs}=${RUNS} diff --git a/csit/suites/controller/dom_data_broker/ddb-sanity-module-based.robot b/csit/suites/controller/dom_data_broker/ddb-sanity-module-based.robot index a8c4d51608..4ad8c56e3c 100644 --- a/csit/suites/controller/dom_data_broker/ddb-sanity-module-based.robot +++ b/csit/suites/controller/dom_data_broker/ddb-sanity-module-based.robot @@ -111,7 +111,7 @@ Write_Transactions_One_Node_Leader MdsalLowlevelPy.Start_Write_Transactions_On_Nodes ${leader_ip_as_list} ${leader_idx_as_list} ${MODULE_SHARD_PREFIX} ${DURATION} ${TRANSACTION_RATE_1K} chained_flag=${CHAINED_TX} ${resp_list} = MdsalLowlevelPy.Wait_For_Transactions FOR ${resp} IN @{resp_list} - TemplatedRequests.Check_Status_Code @{resp}[2] + TemplatedRequests.Check_Status_Code ${resp}[2] END Write_Transactions_One_Node_Follower @@ -124,7 +124,7 @@ Write_Transactions_One_Node_Follower MdsalLowlevelPy.Start_Write_Transactions_On_Nodes ${follower_ip_as_list} ${follower_idx_as_list} ${MODULE_SHARD_PREFIX} ${DURATION} ${TRANSACTION_RATE_1K} chained_flag=${CHAINED_TX} ${resp_list} = MdsalLowlevelPy.Wait_For_Transactions FOR ${resp} IN @{resp_list} - TemplatedRequests.Check_Status_Code @{resp}[2] + TemplatedRequests.Check_Status_Code ${resp}[2] END Write_Transactions_All_Nodes @@ -134,5 +134,5 @@ Write_Transactions_All_Nodes MdsalLowlevelPy.Start_Write_Transactions_On_Nodes ${all_ip_list} ${all_indices} ${MODULE_SHARD_PREFIX} ${DURATION} ${TRANSACTION_RATE_1K} chained_flag=${CHAINED_TX} ${resp_list} = MdsalLowlevelPy.Wait_For_Transactions FOR ${resp} IN @{resp_list} - TemplatedRequests.Check_Status_Code @{resp}[2] + TemplatedRequests.Check_Status_Code ${resp}[2] END diff --git a/csit/suites/controller/dom_data_broker/ddb-sanity-prefix-based.robot b/csit/suites/controller/dom_data_broker/ddb-sanity-prefix-based.robot index 0068d9464a..6aea55ad0c 100644 --- a/csit/suites/controller/dom_data_broker/ddb-sanity-prefix-based.robot +++ b/csit/suites/controller/dom_data_broker/ddb-sanity-prefix-based.robot @@ -113,7 +113,7 @@ Produce_Transactions_One_Node_Leader MdsalLowlevelPy.Start_Produce_Transactions_On_Nodes ${leader_ip_as_list} ${leader_idx_as_list} ${ID_PREFIX} ${DURATION} ${TRANSACTION_RATE_1K} ${resp_list} = MdsalLowlevelPy.Wait_For_Transactions FOR ${resp} IN @{resp_list} - TemplatedRequests.Check_Status_Code @{resp}[2] + TemplatedRequests.Check_Status_Code ${resp}[2] END Produce_Transactions_One_Node_Follower @@ -126,7 +126,7 @@ Produce_Transactions_One_Node_Follower MdsalLowlevelPy.Start_Produce_Transactions_On_Nodes ${follower_ip_as_list} ${follower_idx_as_list} ${ID_PREFIX} ${DURATION} ${TRANSACTION_RATE_1K} ${resp_list} = MdsalLowlevelPy.Wait_For_Transactions FOR ${resp} IN @{resp_list} - TemplatedRequests.Check_Status_Code @{resp}[2] + TemplatedRequests.Check_Status_Code ${resp}[2] END Produce_Transactions @@ -136,5 +136,5 @@ Produce_Transactions MdsalLowlevelPy.Start_Produce_Transactions_On_Nodes ${all_ip_list} ${all_indices} ${ID_PREFIX} ${DURATION} ${TRANSACTION_RATE_1K} ${resp_list} = MdsalLowlevelPy.Wait_For_Transactions FOR ${resp} IN @{resp_list} - TemplatedRequests.Check_Status_Code @{resp}[2] + TemplatedRequests.Check_Status_Code ${resp}[2] END diff --git a/csit/suites/controller/dom_data_broker/restart_odl_with_tell_based_false.robot b/csit/suites/controller/dom_data_broker/restart_odl_with_tell_based_false.robot index 32d48a8c11..35ce3ac964 100644 --- a/csit/suites/controller/dom_data_broker/restart_odl_with_tell_based_false.robot +++ b/csit/suites/controller/dom_data_broker/restart_odl_with_tell_based_false.robot @@ -51,5 +51,5 @@ Get Match @{matches} = String.Get Regexp Matches ${text} ${regexp} ${matches_length} = BuiltIn.Get Length ${matches} BuiltIn.Set Suite Variable ${OS_MATCH} None - BuiltIn.Run Keyword If ${matches_length} > ${index} BuiltIn.Set Suite Variable ${OS_MATCH} @{matches}[${index}] + BuiltIn.Run Keyword If ${matches_length} > ${index} BuiltIn.Set Suite Variable ${OS_MATCH} ${matches}[${index}] [Return] ${OS_MATCH} diff --git a/csit/suites/genius/Configure_ITM.robot b/csit/suites/genius/Configure_ITM.robot index 8cd4f351f4..df9d841923 100644 --- a/csit/suites/genius/Configure_ITM.robot +++ b/csit/suites/genius/Configure_ITM.robot @@ -156,7 +156,7 @@ Delete VTEP -Vlan and gateway Create Vteps IPv6 [Arguments] ${vlan} ${gateway_ip} ${tools_ips} [Documentation] This keyword creates VTEPs between IPV6 ip's - ${substr} = BuiltIn.Should Match Regexp @{tools_ips}[0] ${gateway_regex_IPV6} + ${substr} = BuiltIn.Should Match Regexp ${tools_ips}[0] ${gateway_regex_IPV6} ${SUBNET_IPV6} = BuiltIn.Catenate ${substr}0 BuiltIn.Set Suite Variable ${SUBNET_IPV6} ${body} = Genius.Set Json ${vlan} ${gateway_ip} ${SUBNET_IPV6} @{TOOLS_SYSTEM_IPV6_LIST} diff --git a/csit/suites/genius/ITM_Vtep_Auto_Tunnel.robot b/csit/suites/genius/ITM_Vtep_Auto_Tunnel.robot index a24fdfe91e..62c12e87de 100644 --- a/csit/suites/genius/ITM_Vtep_Auto_Tunnel.robot +++ b/csit/suites/genius/ITM_Vtep_Auto_Tunnel.robot @@ -50,7 +50,7 @@ Verify TEPs with transport zone configured from OVS will be added to correspondi Change Transport Zone In Compute ${TOOLS_SYSTEM_1_IP} ${TRANSPORT_ZONE} ${get_nohosted_data} = BuiltIn.Wait Until Keyword Succeeds 3x 10 sec Utils.Get Data From URI session ${TEP_NOT_HOSTED_ZONE_URL} BuiltIn.Should Contain ${get_nohosted_data} ${TRANSPORT_ZONE} - BuiltIn.Should Contain ${get_nohosted_data} @{DPN_ID_LIST}[0] + BuiltIn.Should Contain ${get_nohosted_data} ${DPN_ID_LIST}[0] Utils.Post Elements To URI From File ${TRANSPORTZONE_POST_URL} ${TZA_JSON} FOR ${node_number} IN RANGE 2 ${NUM_TOOLS_SYSTEM}+1 Change Transport Zone In Compute ${TOOLS_SYSTEM_${node_number}_IP} ${TRANSPORT_ZONE} @@ -61,7 +61,7 @@ Verify TEPs with transport zone configured from OVS will be added to correspondi END ${get_hosted_data} = BuiltIn.Wait Until Keyword Succeeds 3x 10 sec Utils.Get Data From URI session ${TRANSPORT_ZONE_ENDPOINT_URL}/${TRANSPORT_ZONE} BuiltIn.Should Contain ${get_hosted_data} ${TRANSPORT_ZONE} - BuiltIn.Should Contain ${get_hosted_data} @{DPN_ID_LIST}[0] + BuiltIn.Should Contain ${get_hosted_data} ${DPN_ID_LIST}[0] BuiltIn.Wait Until Keyword Succeeds 3x 10 sec Genius.Verify Tunnel Status as Up Verify other-config-key and transport zone value in controller operational datastore diff --git a/csit/suites/mdsal/binding_v1/binding-parent.robot b/csit/suites/mdsal/binding_v1/binding-parent.robot index 463bd54b85..211f555d78 100644 --- a/csit/suites/mdsal/binding_v1/binding-parent.robot +++ b/csit/suites/mdsal/binding_v1/binding-parent.robot @@ -66,7 +66,7 @@ Run_Maven ${final_pom} = TemplatedRequests.Resolve_Text_From_Template_File folder=${CURDIR}/../../../variables/mdsal/binding_v1 file_name=binding_template.xml mapping={"BINDING_PARENT_VERSION":"${binding_parent_version}"} SSHKeywords.Execute_Command_At_Cwd_Should_Pass echo '${final_pom}' > '${POM_FILENAME}' ${autorelease_dir} = String.Get_Regexp_Matches ${BUNDLE_URL} (autorelease-[0-9]+) - BuiltIn.Run_Keyword_If ${autorelease_dir} != [] Add_Autorelease_Profile @{autorelease_dir}[0] + BuiltIn.Run_Keyword_If ${autorelease_dir} != [] Add_Autorelease_Profile ${autorelease_dir}[0] NexusKeywords.Run_Maven pom_file=${POM_FILENAME} log_file=${MAVEN_OUTPUT_FILENAME} # TODO: Figure out patters to identify various known Bug symptoms. @@ -108,7 +108,7 @@ Add_Autorelease_Profile Update_Repository_Element ${profile} pluginRepositories/pluginRepository ${nexus_autorelease_dir} XML.Add_Element ${root} ${profile} xpath=profiles ${profiles} = XML.Get_Elements ${root} xpath=activeProfiles/activeProfile - ${profile} = XML.Copy_Element @{profiles}[0] + ${profile} = XML.Copy_Element ${profiles}[0] XML.Set_Element_Text ${profile} opendaylight-autorelease XML.Add_Element ${root} ${profile} xpath=activeProfiles ${content} = XML.Log_Element ${root} diff --git a/csit/suites/netconf/clustering/entity-isolation-rejoin.robot b/csit/suites/netconf/clustering/entity-isolation-rejoin.robot index a586d14a8d..27a9248c65 100644 --- a/csit/suites/netconf/clustering/entity-isolation-rejoin.robot +++ b/csit/suites/netconf/clustering/entity-isolation-rejoin.robot @@ -99,8 +99,8 @@ Find_And_Isolate_Device_Entity_Owner Log ${followers} Length Should Be ${followers} 2 Wrong count of followers returned BuiltIn.Set_Suite_Variable ${original_device_owner} ${owner} - BuiltIn.Set_Suite_Variable ${follower1} @{followers}[0] - BuiltIn.Set_Suite_Variable ${follower2} @{followers}[1] + BuiltIn.Set_Suite_Variable ${follower1} ${followers}[0] + BuiltIn.Set_Suite_Variable ${follower2} ${followers}[1] ${original_device_owner_session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${original_device_owner} ${follower1_session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${follower1} ${follower2_session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${follower2} diff --git a/csit/suites/netconf/clustering/entity.robot b/csit/suites/netconf/clustering/entity.robot index 9edf3cd993..90cbc95020 100644 --- a/csit/suites/netconf/clustering/entity.robot +++ b/csit/suites/netconf/clustering/entity.robot @@ -100,8 +100,8 @@ Find_And_Shutdown_Device_Entity_Owner Log ${followers} Length Should Be ${followers} 2 Wrong count of followers returned BuiltIn.Set_Suite_Variable ${original_device_owner} ${owner} - BuiltIn.Set_Suite_Variable ${follower1} @{followers}[0] - BuiltIn.Set_Suite_Variable ${follower2} @{followers}[1] + BuiltIn.Set_Suite_Variable ${follower1} ${followers}[0] + BuiltIn.Set_Suite_Variable ${follower2} ${followers}[1] ${original_device_owner_session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${original_device_owner} ${follower1_session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${follower1} ${follower2_session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${follower2} diff --git a/csit/suites/netvirt/aclservicerecovery/aclservicerecovery.robot b/csit/suites/netvirt/aclservicerecovery/aclservicerecovery.robot index ef6bf620d5..4dfdc0ef62 100644 --- a/csit/suites/netvirt/aclservicerecovery/aclservicerecovery.robot +++ b/csit/suites/netvirt/aclservicerecovery/aclservicerecovery.robot @@ -41,12 +41,12 @@ ACL Service Recovery CLI ${node_id} = OVSDB.Get DPID ${OS_CMP1_IP} ${resp} = RequestsLibrary.Delete Request session ${CONFIG_NODES_API}/node/openflow:${node_id}/flow-node-inventory:table/${INGRESS_ACL_REMOTE_ACL_TABLE} BuiltIn.Should Be Equal As Strings ${resp.status_code} 200 - OpenStackOperations.Ping From DHCP Should Not Succeed @{acl_sr_networks}[0] @{ACL_SR_NET_1_VM_IPS}[0] + OpenStackOperations.Ping From DHCP Should Not Succeed ${acl_sr_networks}[0] ${ACL_SR_NET_1_VM_IPS}[0] ${flow_after_delete} = OvsManager.Get Dump Flows Count ${OS_CMP1_CONN_ID} ${INGRESS_ACL_REMOTE_ACL_TABLE} BuiltIn.Should Be Equal As Strings ${flow_after_delete} 0 ${output} = Issue_Command_On_Karaf_Console srm:recover service acl BuiltIn.Should Contain ${output} RPC call to recover was successful - OpenStackOperations.Ping Vm From DHCP Namespace @{acl_sr_networks}[0] @{ACL_SR_NET_1_VM_IPS}[0] + OpenStackOperations.Ping Vm From DHCP Namespace ${acl_sr_networks}[0] ${ACL_SR_NET_1_VM_IPS}[0] BuiltIn.Wait Until Keyword Succeeds 30s 5s Verify Flow Counts Are Same ${count_before} ${INGRESS_ACL_REMOTE_ACL_TABLE} ACL Instance Recovery CLI @@ -56,13 +56,13 @@ ACL Instance Recovery CLI Write Commands Until Expected Prompt sudo ovs-ofctl del-flows br-int -OOpenflow13 "table=${EGRESS_LEARN_ACL_FILTER_TABLE},icmp" ${DEFAULT_LINUX_PROMPT_STRICT} Wait Until Keyword Succeeds 30s 5s OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${EGRESS_LEARN_ACL_FILTER_TABLE} False ... |grep icmp - OpenStackOperations.Ping From DHCP Should Not Succeed @{acl_sr_networks}[0] @{ACL_SR_NET_1_VM_IPS}[0] + OpenStackOperations.Ping From DHCP Should Not Succeed ${acl_sr_networks}[0] ${ACL_SR_NET_1_VM_IPS}[0] ${output} = OpenStack CLI openstack security group show ${acl_sr_security_group} | awk '/ id / {print $4}' ${splitted_output} = String.Split String ${output} ${EMPTY} ${instance_id} = Collections.Get from List ${splitted_output} 0 ${output} = Issue_Command_On_Karaf_Console srm:recover instance acl-instance ${instance_id} BuiltIn.Should Contain ${output} RPC call to recover was successful - OpenStackOperations.Ping Vm From DHCP Namespace @{acl_sr_networks}[0] @{ACL_SR_NET_1_VM_IPS}[0] + OpenStackOperations.Ping Vm From DHCP Namespace ${acl_sr_networks}[0] ${ACL_SR_NET_1_VM_IPS}[0] Wait Until Keyword Succeeds 30s 5s OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${EGRESS_LEARN_ACL_FILTER_TABLE} True ... ${EMPTY} icmp Wait Until Keyword Succeeds 30s 5s Verify Flow Counts Are Same ${count_before} ${EGRESS_LEARN_ACL_FILTER_TABLE} @@ -75,7 +75,7 @@ ACL Interface Recovery CLI ${count_before} = OvsManager.Get Dump Flows Count ${OS_CMP1_CONN_ID} ${EGRESS_ACL_TABLE} port_mac=${port_mac} ${node_id} OVSDB.Get DPID ${OS_CMP1_IP} Write Commands Until Expected Prompt sudo ovs-ofctl del-flows br-int -OOpenflow13 "table=${EGRESS_ACL_TABLE},dl_dst=${port_mac}" ${DEFAULT_LINUX_PROMPT_STRICT} - OpenStackOperations.Ping From DHCP Should Not Succeed @{acl_sr_networks}[0] @{ACL_SR_NET_1_VM_IPS}[0] + OpenStackOperations.Ping From DHCP Should Not Succeed ${acl_sr_networks}[0] ${ACL_SR_NET_1_VM_IPS}[0] Wait Until Keyword Succeeds 30s 5s OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${EGRESS_LEARN_ACL_FILTER_TABLE} False ... |grep ${port_mac} ${output} = OpenStack CLI openstack port show ${acl_sr_net_1_ports[0]} |awk '/ id / {print$4}' @@ -83,7 +83,7 @@ ACL Interface Recovery CLI ${interface_id} = Collections.Get from List ${splitted_output} 0 ${output} = Issue_Command_On_Karaf_Console srm:recover instance acl-interface ${interface_id} BuiltIn.Should Contain ${output} RPC call to recover was successful - OpenStackOperations.Ping Vm From DHCP Namespace @{acl_sr_networks}[0] @{ACL_SR_NET_1_VM_IPS}[0] + OpenStackOperations.Ping Vm From DHCP Namespace ${acl_sr_networks}[0] ${ACL_SR_NET_1_VM_IPS}[0] Wait Until Keyword Succeeds 30s 5s OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${EGRESS_ACL_TABLE} True ... ${EMPTY} ${port_mac} Wait Until Keyword Succeeds 30s 5s Verify Flow Counts Are Same ${count_before} ${EGRESS_ACL_TABLE} port_mac=${port_mac} @@ -100,10 +100,10 @@ Suite Setup OpenStackOperations.OpenStack Suite Setup SetupUtils.Setup_Logging_For_Debug_Purposes_On_List_Or_All ${TEST_LOG_LEVEL} ${TEST_LOG_COMPONENTS} OpenStackOperations.Create Allow All SecurityGroup ${acl_sr_security_group} - OpenStackOperations.Create Network @{acl_sr_networks}[0] - OpenStackOperations.Create SubNet @{acl_sr_networks}[0] @{acl_sr_subnets}[0] ${acl_sr_subnet_cidrs[0]} - OpenStackOperations.Create Port @{acl_sr_networks}[0] ${acl_sr_net_1_ports[0]} sg=${acl_sr_security_group} - OpenStackOperations.Create Port @{acl_sr_networks}[0] ${acl_sr_net_1_ports[1]} sg=${acl_sr_security_group} + OpenStackOperations.Create Network ${acl_sr_networks}[0] + OpenStackOperations.Create SubNet ${acl_sr_networks}[0] ${acl_sr_subnets}[0] ${acl_sr_subnet_cidrs[0]} + OpenStackOperations.Create Port ${acl_sr_networks}[0] ${acl_sr_net_1_ports[0]} sg=${acl_sr_security_group} + OpenStackOperations.Create Port ${acl_sr_networks}[0] ${acl_sr_net_1_ports[1]} sg=${acl_sr_security_group} BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${PORT_URL} ${acl_sr_net_1_ports} OpenStackOperations.Create Vm Instance With Port On Compute Node ${acl_sr_net_1_ports[0]} ${acl_sr_net_1_vms[0]} ${OS_CMP1_HOSTNAME} sg=${acl_sr_security_group} OpenStackOperations.Create Vm Instance With Port On Compute Node ${acl_sr_net_1_ports[1]} ${acl_sr_net_1_vms[1]} ${OS_CMP2_HOSTNAME} sg=${acl_sr_security_group} @@ -111,5 +111,5 @@ Suite Setup BuiltIn.Set Suite Variable @{ACL_SR_NET_1_VM_IPS} BuiltIn.Should Not Contain ${ACL_SR_NET_1_VM_IPS} None BuiltIn.Should Not Contain ${net1_dhcp_ip} None - OpenStackOperations.Ping Vm From DHCP Namespace @{acl_sr_networks}[0] @{ACL_SR_NET_1_VM_IPS}[0] - OpenStackOperations.Ping Vm From DHCP Namespace @{acl_sr_networks}[0] @{ACL_SR_NET_1_VM_IPS}[1] + OpenStackOperations.Ping Vm From DHCP Namespace ${acl_sr_networks}[0] ${ACL_SR_NET_1_VM_IPS}[0] + OpenStackOperations.Ping Vm From DHCP Namespace ${acl_sr_networks}[0] ${ACL_SR_NET_1_VM_IPS}[1] diff --git a/csit/suites/netvirt/elan/elan.robot b/csit/suites/netvirt/elan/elan.robot index b416174081..1f2dedcbb4 100644 --- a/csit/suites/netvirt/elan/elan.robot +++ b/csit/suites/netvirt/elan/elan.robot @@ -33,13 +33,13 @@ ${SECURITY_GROUP} elan_sg *** Test Cases *** Verify Datapath for Single ELAN with Multiple DPN [Documentation] Verify Flow Table and Datapath - ${smac_cn1} = BuiltIn.Create List @{NET_1_MACS}[0] - ${smac_cn2} = BuiltIn.Create List @{NET_1_MACS}[1] + ${smac_cn1} = BuiltIn.Create List ${NET_1_MACS}[0] + ${smac_cn2} = BuiltIn.Create List ${NET_1_MACS}[1] BuiltIn.Wait Until Keyword Succeeds 30s 10s Verify Flows Are Present For ELAN Service ${OS_CMP1_IP} ${smac_cn1} ${NET_1_MACS} BuiltIn.Wait Until Keyword Succeeds 30s 10s Verify Flows Are Present For ELAN Service ${OS_CMP2_IP} ${smac_cn2} ${NET_1_MACS} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ping -c 3 @{NET_1_VM_IPS}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ping -c 3 ${NET_1_VM_IPS}[1] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ping -c 3 @{NET_1_VM_IPS}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[1] ping -c 3 ${NET_1_VM_IPS}[0] BuiltIn.Should Contain ${output} ${PING_REGEXP} Verify Datapath After OVS Restart @@ -50,30 +50,30 @@ Verify Datapath After OVS Restart FOR ${ip} IN @{OS_CMP_IPS} BuiltIn.Wait Until Keyword Succeeds 30s 10s OVSDB.Verify OVS Reports Connected tools_system=${ip} END - ${smac_cn1} = BuiltIn.Create List @{NET_1_MACS}[0] - ${smac_cn2} = BuiltIn.Create List @{NET_1_MACS}[1] + ${smac_cn1} = BuiltIn.Create List ${NET_1_MACS}[0] + ${smac_cn2} = BuiltIn.Create List ${NET_1_MACS}[1] BuiltIn.Wait Until Keyword Succeeds 60s 10s Verify Flows Are Present For ELAN Service ${OS_CMP1_IP} ${smac_cn1} ${NET_1_MACS} BuiltIn.Wait Until Keyword Succeeds 60s 10s Verify Flows Are Present For ELAN Service ${OS_CMP2_IP} ${smac_cn2} ${NET_1_MACS} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ping -c 3 @{NET_1_VM_IPS}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ping -c 3 ${NET_1_VM_IPS}[1] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ping -c 3 @{NET_1_VM_IPS}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[1] ping -c 3 ${NET_1_VM_IPS}[0] BuiltIn.Should Contain ${output} ${PING_REGEXP} Verify Datapath After Recreate VM Instance [Documentation] Verify datapath after recreating Vm instance OpenStackOperations.Delete Vm Instance ${NET_1_VMS[0]} - ${smac_cn1} = BuiltIn.Create List @{NET_1_MACS}[0] + ${smac_cn1} = BuiltIn.Create List ${NET_1_MACS}[0] BuiltIn.Wait Until Keyword Succeeds 30s 10s Verify Flows Are Removed For ELAN Service ${OS_CMP1_IP} ${smac_cn1} - OpenStackOperations.Remove RSA Key From KnownHosts @{NET_1_VM_IPS}[0] + OpenStackOperations.Remove RSA Key From KnownHosts ${NET_1_VM_IPS}[0] OpenStackOperations.Create Vm Instance With Port On Compute Node ${NET_1_PORTS[0]} ${NET_1_VMS[0]} ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} @{NET_1_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS} Builtin.Set Suite Variable @{NET_1_VM_IPS} BuiltIn.Should Not Contain ${NET_1_VM_IPS} None BuiltIn.Should Not Contain ${NET_1_DHCP_IP} None BuiltIn.Wait Until Keyword Succeeds 30s 10s Verify Flows Are Present For ELAN Service ${OS_CMP1_IP} ${smac_cn1} ${NET_1_MACS} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ping -c 3 @{NET_1_VM_IPS}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ping -c 3 ${NET_1_VM_IPS}[1] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ping -c 3 @{NET_1_VM_IPS}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[1] ping -c 3 ${NET_1_VM_IPS}[0] BuiltIn.Should Contain ${output} ${PING_REGEXP} Delete All elan_net_1 VM And Verify Flow Table Updated @@ -87,24 +87,24 @@ Verify Datapath for Multiple ELAN with Multiple DPN [Documentation] Verify Flow Table and Data path for Multiple ELAN with Multiple DPN [Setup] BuiltIn.Run Keywords SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing ... AND MultipleElan Testsuite Setup - ${smac_cn1} = BuiltIn.Create List @{VM_MACAddr_elan_net_2}[0] @{VM_MACAddr_elan_net_3}[0] - ${smac_cn2} = BuiltIn.Create List @{VM_MACAddr_elan_net_2}[1] @{VM_MACAddr_elan_net_3}[1] + ${smac_cn1} = BuiltIn.Create List ${VM_MACAddr_elan_net_2}[0] ${VM_MACAddr_elan_net_3}[0] + ${smac_cn2} = BuiltIn.Create List ${VM_MACAddr_elan_net_2}[1] ${VM_MACAddr_elan_net_3}[1] ${MAC_LIST} = BuiltIn.Create List @{VM_MACAddr_elan_net_2} @{VM_MACAddr_elan_net_3} BuiltIn.Wait Until Keyword Succeeds 30s 10s Verify Flows Are Present For ELAN Service ${OS_CMP1_IP} ${smac_cn1} ${MAC_LIST} BuiltIn.Wait Until Keyword Succeeds 30s 10s Verify Flows Are Present For ELAN Service ${OS_CMP2_IP} ${smac_cn2} ${MAC_LIST} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[0] ping -c 3 ${NET_2_VM_IPS[1]} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${NET_2_VM_IPS}[0] ping -c 3 ${NET_2_VM_IPS[1]} BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[2] @{NET_3_VM_IPS}[1] ping -c 3 ${NET_3_VM_IPS[0]} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[2] ${NET_3_VM_IPS}[1] ping -c 3 ${NET_3_VM_IPS[0]} BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[0] ping -c 3 ${NET_3_VM_IPS[0]} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${NET_2_VM_IPS}[0] ping -c 3 ${NET_3_VM_IPS[0]} BuiltIn.Should Not Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[2] @{NET_3_VM_IPS}[1] ping -c 3 ${NET_2_VM_IPS[1]} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[2] ${NET_3_VM_IPS}[1] ping -c 3 ${NET_2_VM_IPS[1]} BuiltIn.Should Not Contain ${output} ${PING_REGEXP} @{NET_2_VM_IPS} ${NET_2_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_2_VMS} BuiltIn.Should Not Contain ${NET_2_VM_IPS} None BuiltIn.Should Not Contain ${NET_2_DHCP_IP} None BuiltIn.Wait Until Keyword Succeeds 30s 10s Verify Flows Are Present For ELAN Service ${OS_CMP1_IP} ${smac_cn1} ${MAC_LIST} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] ${NET_2_VM_IPS[1]} ping -c 3 @{NET_2_VM_IPS}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${NET_2_VM_IPS[1]} ping -c 3 ${NET_2_VM_IPS}[0] BuiltIn.Should Contain ${output} ${PING_REGEXP} *** Keywords *** @@ -116,10 +116,10 @@ Suite Setup Create Single Elan OpenStackOperations.Create Allow All SecurityGroup ${SECURITY_GROUP} - OpenStackOperations.Create Network @{NETWORKS}[0] - OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS}[0] ${SUBNET_CIDRS[0]} - OpenStackOperations.Create Port @{NETWORKS}[0] ${NET_1_PORTS[0]} sg=${SECURITY_GROUP} - OpenStackOperations.Create Port @{NETWORKS}[0] ${NET_1_PORTS[1]} sg=${SECURITY_GROUP} + OpenStackOperations.Create Network ${NETWORKS}[0] + OpenStackOperations.Create SubNet ${NETWORKS}[0] ${SUBNETS}[0] ${SUBNET_CIDRS[0]} + OpenStackOperations.Create Port ${NETWORKS}[0] ${NET_1_PORTS[0]} sg=${SECURITY_GROUP} + OpenStackOperations.Create Port ${NETWORKS}[0] ${NET_1_PORTS[1]} sg=${SECURITY_GROUP} BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${PORT_URL} ${NET_1_PORTS} OpenStackOperations.Create Vm Instance With Port On Compute Node ${NET_1_PORTS[0]} ${NET_1_VMS[0]} ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} OpenStackOperations.Create Vm Instance With Port On Compute Node ${NET_1_PORTS[1]} ${NET_1_VMS[1]} ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} @@ -132,14 +132,14 @@ Create Single Elan MultipleElan Testsuite Setup [Documentation] Create additional ELAN for multipleElan with Multiple DPN test - OpenStackOperations.Create Network @{NETWORKS}[1] - OpenStackOperations.Create Network @{NETWORKS}[2] - OpenStackOperations.Create SubNet @{NETWORKS}[1] @{SUBNETS}[1] ${SUBNET_CIDRS[1]} - OpenStackOperations.Create SubNet @{NETWORKS}[2] @{SUBNETS}[2] ${SUBNET_CIDRS[2]} - OpenStackOperations.Create Port @{NETWORKS}[1] ${NET_2_PORTS[0]} sg=${SECURITY_GROUP} - OpenStackOperations.Create Port @{NETWORKS}[1] ${NET_2_PORTS[1]} sg=${SECURITY_GROUP} - OpenStackOperations.Create Port @{NETWORKS}[2] ${NET_3_PORTS[0]} sg=${SECURITY_GROUP} - OpenStackOperations.Create Port @{NETWORKS}[2] ${NET_3_PORTS[1]} sg=${SECURITY_GROUP} + OpenStackOperations.Create Network ${NETWORKS}[1] + OpenStackOperations.Create Network ${NETWORKS}[2] + OpenStackOperations.Create SubNet ${NETWORKS}[1] ${SUBNETS}[1] ${SUBNET_CIDRS[1]} + OpenStackOperations.Create SubNet ${NETWORKS}[2] ${SUBNETS}[2] ${SUBNET_CIDRS[2]} + OpenStackOperations.Create Port ${NETWORKS}[1] ${NET_2_PORTS[0]} sg=${SECURITY_GROUP} + OpenStackOperations.Create Port ${NETWORKS}[1] ${NET_2_PORTS[1]} sg=${SECURITY_GROUP} + OpenStackOperations.Create Port ${NETWORKS}[2] ${NET_3_PORTS[0]} sg=${SECURITY_GROUP} + OpenStackOperations.Create Port ${NETWORKS}[2] ${NET_3_PORTS[1]} sg=${SECURITY_GROUP} BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${PORT_URL} ${NET_3_PORTS} OpenStackOperations.Create Vm Instance With Port On Compute Node ${NET_2_PORTS[0]} ${NET_2_VMS[0]} ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} OpenStackOperations.Create Vm Instance With Port On Compute Node ${NET_2_PORTS[1]} ${NET_2_VMS[1]} ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} diff --git a/csit/suites/netvirt/elan/elan_service_recovery.robot b/csit/suites/netvirt/elan/elan_service_recovery.robot index 14b9829af5..a071d4d88f 100644 --- a/csit/suites/netvirt/elan/elan_service_recovery.robot +++ b/csit/suites/netvirt/elan/elan_service_recovery.robot @@ -32,44 +32,44 @@ ${NUM_OF_PORTS_PER_HOST} 2 *** Test Cases *** To Verify ELAN Service Recovery [Documentation] To Verify Elan Service recovery by deleting and recovering multiple flows - OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${ELAN_SMAC_TABLE} True ${EMPTY} dl_src=@{PORT_MAC_ADDR}[0] actions=goto_table:${ELAN_DMACTABLE} - OVSDB.Verify Dump Flows For Specific Table ${OS_CMP2_IP} ${ELAN_SMAC_TABLE} True ${EMPTY} dl_src=@{PORT_MAC_ADDR}[2] actions=goto_table:${ELAN_DMACTABLE} - ${flow_id} = FlowLib.Get Flow Id ${DPNID_1} ${ELAN_SMAC_TABLE} @{PORT_MAC_ADDR}[0] + OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${ELAN_SMAC_TABLE} True ${EMPTY} dl_src=${PORT_MAC_ADDR}[0] actions=goto_table:${ELAN_DMACTABLE} + OVSDB.Verify Dump Flows For Specific Table ${OS_CMP2_IP} ${ELAN_SMAC_TABLE} True ${EMPTY} dl_src=${PORT_MAC_ADDR}[2] actions=goto_table:${ELAN_DMACTABLE} + ${flow_id} = FlowLib.Get Flow Id ${DPNID_1} ${ELAN_SMAC_TABLE} ${PORT_MAC_ADDR}[0] FlowLib.Delete Flow Via Restconf ${DPNID_1} ${ELAN_SMAC_TABLE} ${flow_id} - ${flow_id} = FlowLib.Get Flow Id ${DPNID_2} ${ELAN_SMAC_TABLE} @{PORT_MAC_ADDR}[2] + ${flow_id} = FlowLib.Get Flow Id ${DPNID_2} ${ELAN_SMAC_TABLE} ${PORT_MAC_ADDR}[2] FlowLib.Delete Flow Via Restconf ${DPNID_2} ${ELAN_SMAC_TABLE} ${flow_id} - ${mac_elements} = BuiltIn.Create List @{PORT_MAC_ADDR}[0] + ${mac_elements} = BuiltIn.Create List ${PORT_MAC_ADDR}[0] Utils.Check For Elements Not At URI ${CONFIG_NODES_API}/node/openflow:${DPNID_1}/table/${ELAN_SMAC_TABLE} ${mac_elements} - ${mac_elements} = BuiltIn.Create List @{PORT_MAC_ADDR}[2] + ${mac_elements} = BuiltIn.Create List ${PORT_MAC_ADDR}[2] Utils.Check For Elements Not At URI ${CONFIG_NODES_API}/node/openflow:${DPNID_2}/table/${ELAN_SMAC_TABLE} ${mac_elements} BuiltIn.Wait Until Keyword Succeeds 10s 5s OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${ELAN_SMAC_TABLE} False - ... ${EMPTY} dl_src=@{PORT_MAC_ADDR}[0] + ... ${EMPTY} dl_src=${PORT_MAC_ADDR}[0] BuiltIn.Wait Until Keyword Succeeds 10s 5s OVSDB.Verify Dump Flows For Specific Table ${OS_CMP2_IP} ${ELAN_SMAC_TABLE} False - ... ${EMPTY} dl_src=@{PORT_MAC_ADDR}[2] + ... ${EMPTY} dl_src=${PORT_MAC_ADDR}[2] KarafKeywords.Issue Command On Karaf Console ${SERVICE-STATUS-CLI} - OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${ELAN_SMAC_TABLE} True ${EMPTY} dl_src=@{PORT_MAC_ADDR}[0] actions=goto_table:${ELAN_DMACTABLE} - OVSDB.Verify Dump Flows For Specific Table ${OS_CMP2_IP} ${ELAN_SMAC_TABLE} True ${EMPTY} dl_src=@{PORT_MAC_ADDR}[2] actions=goto_table:${ELAN_DMACTABLE} - ${mac_elements} = BuiltIn.Create List @{PORT_MAC_ADDR}[0] + OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${ELAN_SMAC_TABLE} True ${EMPTY} dl_src=${PORT_MAC_ADDR}[0] actions=goto_table:${ELAN_DMACTABLE} + OVSDB.Verify Dump Flows For Specific Table ${OS_CMP2_IP} ${ELAN_SMAC_TABLE} True ${EMPTY} dl_src=${PORT_MAC_ADDR}[2] actions=goto_table:${ELAN_DMACTABLE} + ${mac_elements} = BuiltIn.Create List ${PORT_MAC_ADDR}[0] Utils.Check For Elements At URI ${CONFIG_NODES_API}/node/openflow:${DPNID_1}/table/${ELAN_SMAC_TABLE} ${mac_elements} - ${mac_elements} = BuiltIn.Create List @{PORT_MAC_ADDR}[2] + ${mac_elements} = BuiltIn.Create List ${PORT_MAC_ADDR}[2] Utils.Check For Elements At URI ${CONFIG_NODES_API}/node/openflow:${DPNID_2}/table/${ELAN_SMAC_TABLE} ${mac_elements} To Verify Elan Interface recovery [Documentation] To Verify the Elan Interface recovery by deleting single Flow BuiltIn.Wait Until Keyword Succeeds 60s 15s OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${ELAN_SMAC_TABLE} True - ... ${EMPTY} dl_src=@{PORT_MAC_ADDR}[0] actions=goto_table:${ELAN_DMACTABLE} - ${flow_id} = FlowLib.Get Flow Id ${DPNID_1} ${ELAN_SMAC_TABLE} @{PORT_MAC_ADDR}[0] + ... ${EMPTY} dl_src=${PORT_MAC_ADDR}[0] actions=goto_table:${ELAN_DMACTABLE} + ${flow_id} = FlowLib.Get Flow Id ${DPNID_1} ${ELAN_SMAC_TABLE} ${PORT_MAC_ADDR}[0] FlowLib.Delete Flow Via Restconf ${DPNID_1} ${ELAN_SMAC_TABLE} ${flow_id} - ${mac_elements} = BuiltIn.Create List @{PORT_MAC_ADDR}[0] + ${mac_elements} = BuiltIn.Create List ${PORT_MAC_ADDR}[0] Utils.Check For Elements Not At URI ${CONFIG_NODES_API}/node/openflow:${DPNID_1}/table/${ELAN_SMAC_TABLE} ${mac_elements} BuiltIn.Wait Until Keyword Succeeds 60s 15s OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${ELAN_SMAC_TABLE} False - ... ${EMPTY} dl_src=@{PORT_MAC_ADDR}[0] + ... ${EMPTY} dl_src=${PORT_MAC_ADDR}[0] ${elan_instance_id} = Get Elan Instance ID - ${elan_interface_id} = Get Elan Interfaces ID ${elan_instance_id} @{PORT_MAC_ADDR}[0] + ${elan_interface_id} = Get Elan Interfaces ID ${elan_instance_id} ${PORT_MAC_ADDR}[0] Recover Elan Flows ${elan_interface_id} - ${mac_elements} = BuiltIn.Create List @{PORT_MAC_ADDR}[0] + ${mac_elements} = BuiltIn.Create List ${PORT_MAC_ADDR}[0] BuiltIn.Wait Until Keyword Succeeds 10s 5s Utils.Check For Elements At URI ${CONFIG_NODES_API}/node/openflow:${DPNID_1}/table/${ELAN_SMAC_TABLE} ${mac_elements} - OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${ELAN_SMAC_TABLE} True ${EMPTY} dl_src=@{PORT_MAC_ADDR}[0] actions=goto_table:${ELAN_DMACTABLE} + OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${ELAN_SMAC_TABLE} True ${EMPTY} dl_src=${PORT_MAC_ADDR}[0] actions=goto_table:${ELAN_DMACTABLE} *** Keywords *** Suite Setup @@ -82,8 +82,8 @@ Suite Setup Create Neutron Ports [Documentation] Create required number of ports under previously created subnets FOR ${index} IN RANGE 0 ${NUM_OF_PORTS_PER_HOST} - OpenStackOperations.Create Port ${REQ_NETWORK} @{PORT_LIST}[${index}] sg=${SECURITY_GROUP} - OpenStackOperations.Create Port ${REQ_NETWORK} @{PORT_LIST}[${index + 2}] sg=${SECURITY_GROUP} + OpenStackOperations.Create Port ${REQ_NETWORK} ${PORT_LIST}[${index}] sg=${SECURITY_GROUP} + OpenStackOperations.Create Port ${REQ_NETWORK} ${PORT_LIST}[${index + 2}] sg=${SECURITY_GROUP} END @{PORT_MAC_ADDR} = OpenStackOperations.Get Ports MacAddr ${PORT_LIST} BuiltIn.Set Suite Variable @{PORT_MAC_ADDR} @@ -92,8 +92,8 @@ Create Nova VMs [Arguments] ${num_of_vms_per_dpn} [Documentation] Create Vm instances on compute nodes FOR ${index} IN RANGE 0 ${num_of_vms_per_dpn} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORT_LIST}[${index}] @{NET_1_VMS}[${index}] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORT_LIST}[${index + 2}] @{NET_2_VMS}[${index}] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORT_LIST}[${index}] ${NET_1_VMS}[${index}] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORT_LIST}[${index + 2}] ${NET_2_VMS}[${index}] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} END @{NET_1_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS} @{NET_2_VM_IPS} ${NET_2_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_2_VMS} @@ -121,14 +121,14 @@ Get Elan Instance ID ${elan_instance} = String.Split String ${output} ${elan_instance_with_tag} = BuiltIn.Set Variable ${elan_instance[5]} ${elan_instance_id} = String.Split String ${elan_instance_with_tag} / - [Return] @{elan_instance_id}[0] + [Return] ${elan_instance_id}[0] Get Elan Interfaces ID [Arguments] ${elan_id} ${mac} [Documentation] Getting the ELAN interface ID with corresponding mac address and returning interface ID list ${elan_output} = KarafKeywords.Issue Command On Karaf Console elanmactable:show ${elan_id} ${interface_id} = String.Get Regexp Matches ${elan_output} (${REGEX_UUID})\\s*${mac} 1 - [Return] @{interface_id}[0] + [Return] ${interface_id}[0] Recover Elan Flows [Arguments] ${interface} diff --git a/csit/suites/netvirt/host_route/host_route_handling.robot b/csit/suites/netvirt/host_route/host_route_handling.robot index 6b9b36bdda..650c93744e 100644 --- a/csit/suites/netvirt/host_route/host_route_handling.robot +++ b/csit/suites/netvirt/host_route/host_route_handling.robot @@ -35,21 +35,21 @@ ${NON_NEUTRON_NEXTHOP} 10.10.10.250 *** Test Cases *** Verify creation of host route via openstack subnet create option [Documentation] Creating subnet host route via openstack cli and verifying in controller and openstack. - OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS}[0] @{SUBNET_CIDR}[0]${PREFIX24} --host-route destination=@{SUBNET_CIDR}[2]${PREFIX24},gateway=${NON_NEUTRON_NEXTHOP} + OpenStackOperations.Create SubNet ${NETWORKS}[0] ${SUBNETS}[0] ${SUBNET_CIDR}[0]${PREFIX24} --host-route destination=${SUBNET_CIDR}[2]${PREFIX24},gateway=${NON_NEUTRON_NEXTHOP} ${SUBNET_GW_IP} BuiltIn.Create List FOR ${subnet} IN @{SUBNETS} ${ip} = OpenStackOperations.Get Subnet Gateway Ip ${subnet} Collections.Append To List ${SUBNET_GW_IP} ${ip} END BuiltIn.Set Suite Variable ${SUBNET_GW_IP} - ${elements} = BuiltIn.Create List "destination":"@{SUBNET_CIDR}[2]${PREFIX24}","nexthop":"${NON_NEUTRON_NEXTHOP}" + ${elements} = BuiltIn.Create List "destination":"${SUBNET_CIDR}[2]${PREFIX24}","nexthop":"${NON_NEUTRON_NEXTHOP}" BuiltIn.Wait Until Keyword Succeeds 30s 5s Utils.Check For Elements At URI ${SUBNETWORK_URL} ${elements} - Verify Hostroutes In Subnet @{SUBNETS}[0] destination='@{SUBNET_CIDR}[2]${PREFIX24}',\\sgateway='${NON_NEUTRON_NEXTHOP}' - OpenStackOperations.Create Port @{NETWORKS}[0] @{PORTS}[0] sg=${SECURITY_GROUP} allowed_address_pairs=${ALLOWED_ADDRESS_PAIR} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[0] ${NETWORK_1_VM} ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Port @{NETWORKS}[0] @{GATEWAY_PORTS}[0] sg=${SECURITY_GROUP} allowed_address_pairs=${ALLOWED_ADDRESS_PAIR} - OpenStackOperations.Create Vm Instance With Ports On Compute Node @{GATEWAY_PORTS}[0] @{GATEWAY_PORTS}[1] @{GATEWAY_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Ports On Compute Node @{GATEWAY_PORTS}[4] @{GATEWAY_PORTS}[5] @{GATEWAY_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + Verify Hostroutes In Subnet ${SUBNETS}[0] destination='${SUBNET_CIDR}[2]${PREFIX24}',\\sgateway='${NON_NEUTRON_NEXTHOP}' + OpenStackOperations.Create Port ${NETWORKS}[0] ${PORTS}[0] sg=${SECURITY_GROUP} allowed_address_pairs=${ALLOWED_ADDRESS_PAIR} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[0] ${NETWORK_1_VM} ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Port ${NETWORKS}[0] ${GATEWAY_PORTS}[0] sg=${SECURITY_GROUP} allowed_address_pairs=${ALLOWED_ADDRESS_PAIR} + OpenStackOperations.Create Vm Instance With Ports On Compute Node ${GATEWAY_PORTS}[0] ${GATEWAY_PORTS}[1] ${GATEWAY_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Ports On Compute Node ${GATEWAY_PORTS}[4] ${GATEWAY_PORTS}[5] ${GATEWAY_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} OpenStackOperations.Poll VM Is ACTIVE ${NETWORK_1_VM} BuiltIn.Wait Until Keyword Succeeds 180s 15s OpenStackOperations.Get VM IP true ${NETWORK_1_VM} ${NETWORK_1_VM_IPS} ${NETWORK_1_DHCP_IP} ${VM_COSOLE_OUTPUT} = OpenStackOperations.Get VM IP true ${NETWORK_1_VM} @@ -62,40 +62,40 @@ Verify creation of host route via openstack subnet create option Verify creation of host route via openstack subnet update option [Documentation] Creating host route using subnet update option and setting nexthop ip to subnet gateway ip. Verifying in controller and openstack. - OpenStackOperations.Update SubNet @{SUBNETS}[0] --host-route destination=@{NON_NEUTRON_DESTINATION}[0]${PREFIX24},gateway=@{SUBNET_GW_IP}[0] - ${elements} = BuiltIn.Create List "destination":"@{NON_NEUTRON_DESTINATION}[0]${PREFIX24}","nexthop":"@{SUBNET_GW_IP}[0]" + OpenStackOperations.Update SubNet ${SUBNETS}[0] --host-route destination=${NON_NEUTRON_DESTINATION}[0]${PREFIX24},gateway=${SUBNET_GW_IP}[0] + ${elements} = BuiltIn.Create List "destination":"${NON_NEUTRON_DESTINATION}[0]${PREFIX24}","nexthop":"${SUBNET_GW_IP}[0]" BuiltIn.Wait Until Keyword Succeeds 30s 5s Utils.Check For Elements At URI ${SUBNETWORK_URL} ${elements} - Verify Hostroutes In Subnet @{SUBNETS}[0] destination='@{NON_NEUTRON_DESTINATION}[0]${PREFIX24}',\\sgateway='@{SUBNET_GW_IP}[0]' + Verify Hostroutes In Subnet ${SUBNETS}[0] destination='${NON_NEUTRON_DESTINATION}[0]${PREFIX24}',\\sgateway='${SUBNET_GW_IP}[0]' Verify removal of host route [Documentation] Removing subnet host routes via cli and verifying in controller and openstack. - OpenStackOperations.Unset SubNet @{SUBNETS}[0] --host-route destination=@{NON_NEUTRON_DESTINATION}[0]${PREFIX24},gateway=@{SUBNET_GW_IP}[0] - ${elements} = BuiltIn.Create List "destination":"@{NON_NEUTRON_DESTINATION}[0]${PREFIX24}","nexthop":"@{SUBNET_GW_IP}[0]" + OpenStackOperations.Unset SubNet ${SUBNETS}[0] --host-route destination=${NON_NEUTRON_DESTINATION}[0]${PREFIX24},gateway=${SUBNET_GW_IP}[0] + ${elements} = BuiltIn.Create List "destination":"${NON_NEUTRON_DESTINATION}[0]${PREFIX24}","nexthop":"${SUBNET_GW_IP}[0]" BuiltIn.Wait Until Keyword Succeeds 30s 5s Utils.Check For Elements Not At URI ${SUBNETWORK_URL} ${elements} - Verify No Hostroutes In Subnet @{SUBNETS}[0] destination='@{NON_NEUTRON_DESTINATION}[0]${PREFIX24}',\\sgateway='@{SUBNET_GW_IP}[0]' + Verify No Hostroutes In Subnet ${SUBNETS}[0] destination='${NON_NEUTRON_DESTINATION}[0]${PREFIX24}',\\sgateway='${SUBNET_GW_IP}[0]' Verify creation of host route via openstack subnet set option with VM port as next hop IP [Documentation] Creating host route using subnet update option and setting nexthop to gateway vm ip and verifying in controller and openstack. - OpenStackOperations.Update SubNet @{SUBNETS}[0] --host-route destination=@{SUBNET_CIDR}[2]${PREFIX24},gateway=@{GATEWAY_VM_IPS}[0] - ${elements} = BuiltIn.Create List "destination":"@{SUBNET_CIDR}[2]${PREFIX24}","nexthop":"@{GATEWAY_VM_IPS}[0]" + OpenStackOperations.Update SubNet ${SUBNETS}[0] --host-route destination=${SUBNET_CIDR}[2]${PREFIX24},gateway=${GATEWAY_VM_IPS}[0] + ${elements} = BuiltIn.Create List "destination":"${SUBNET_CIDR}[2]${PREFIX24}","nexthop":"${GATEWAY_VM_IPS}[0]" BuiltIn.Wait Until Keyword Succeeds 30s 5s Utils.Check For Elements At URI ${SUBNETWORK_URL} ${elements} - Verify Hostroutes In Subnet @{SUBNETS}[0] destination='@{SUBNET_CIDR}[2]${PREFIX24}',\\sgateway='@{GATEWAY_VM_IPS}[0]' + Verify Hostroutes In Subnet ${SUBNETS}[0] destination='${SUBNET_CIDR}[2]${PREFIX24}',\\sgateway='${GATEWAY_VM_IPS}[0]' Verify creation of host route via openstack subnet set option with VM port as next hop IP with change in destination prefix [Documentation] Creating host route using subnet update option and setting nexthop ip to gateway vm ip and changing destination prefix. ... Verifying in controller and openstack. - OpenStackOperations.Update SubNet @{SUBNETS}[0] --host-route destination=@{SUBNET_CIDR}[1]${PREFIX24},gateway=@{GATEWAY_VM_IPS}[0] - ${elements} = BuiltIn.Create List "destination":"@{SUBNET_CIDR}[1]${PREFIX24}","nexthop":"@{GATEWAY_VM_IPS}[0]" + OpenStackOperations.Update SubNet ${SUBNETS}[0] --host-route destination=${SUBNET_CIDR}[1]${PREFIX24},gateway=${GATEWAY_VM_IPS}[0] + ${elements} = BuiltIn.Create List "destination":"${SUBNET_CIDR}[1]${PREFIX24}","nexthop":"${GATEWAY_VM_IPS}[0]" BuiltIn.Wait Until Keyword Succeeds 30s 5s Utils.Check For Elements At URI ${SUBNETWORK_URL} ${elements} - Verify Hostroutes In Subnet @{SUBNETS}[0] destination='@{SUBNET_CIDR}[1]${PREFIX24}',\\sgateway='@{GATEWAY_VM_IPS}[0]' + Verify Hostroutes In Subnet ${SUBNETS}[0] destination='${SUBNET_CIDR}[1]${PREFIX24}',\\sgateway='${GATEWAY_VM_IPS}[0]' Verify creation of host route via openstack subnet set option with change in next hop IP [Documentation] Creating host route using subnet update option and setting nexthop ip to new gateway vm ip without changing the ... destination prefix. Verifying in controller and openstack. - OpenStackOperations.Update SubNet @{SUBNETS}[0] --host-route destination=@{SUBNET_CIDR}[1]${PREFIX24},gateway=@{GATEWAY_VM_IPS}[1] - ${elements} = BuiltIn.Create List "destination":"@{SUBNET_CIDR}[1]${PREFIX24}","nexthop":"@{GATEWAY_VM_IPS}[1]" + OpenStackOperations.Update SubNet ${SUBNETS}[0] --host-route destination=${SUBNET_CIDR}[1]${PREFIX24},gateway=${GATEWAY_VM_IPS}[1] + ${elements} = BuiltIn.Create List "destination":"${SUBNET_CIDR}[1]${PREFIX24}","nexthop":"${GATEWAY_VM_IPS}[1]" BuiltIn.Wait Until Keyword Succeeds 30s 5s Utils.Check For Elements At URI ${SUBNETWORK_URL} ${elements} - Verify Hostroutes In Subnet @{SUBNETS}[0] destination='@{SUBNET_CIDR}[1]${PREFIX24}',\\sgateway='@{GATEWAY_VM_IPS}[1]' + Verify Hostroutes In Subnet ${SUBNETS}[0] destination='${SUBNET_CIDR}[1]${PREFIX24}',\\sgateway='${GATEWAY_VM_IPS}[1]' *** Keywords *** Suite Setup @@ -106,13 +106,13 @@ Suite Setup OpenStackOperations.Create Network ${network} END FOR ${i} IN RANGE 1 4 - OpenStackOperations.Create SubNet @{NETWORKS}[${i}] @{SUBNETS}[${i}] @{SUBNET_CIDR}[${i}]${PREFIX24} - OpenStackOperations.Create Port @{NETWORKS}[${i}] @{PORTS}[${i}] sg=${SECURITY_GROUP} allowed_address_pairs=${ALLOWED_ADDRESS_PAIR} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[${i}] @{NETWORK_${i+1}_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Port @{NETWORKS}[${i}] @{PORTS}[${i+3}] sg=${SECURITY_GROUP} allowed_address_pairs=${ALLOWED_ADDRESS_PAIR} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[${i+3}] @{NETWORK_${i+1}_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Port @{NETWORKS}[${i}] @{GATEWAY_PORTS}[${i}] sg=${SECURITY_GROUP} allowed_address_pairs=${ALLOWED_ADDRESS_PAIR} - OpenStackOperations.Create Port @{NETWORKS}[${i}] @{GATEWAY_PORTS}[${i+3}] sg=${SECURITY_GROUP} allowed_address_pairs=${ALLOWED_ADDRESS_PAIR} + OpenStackOperations.Create SubNet ${NETWORKS}[${i}] ${SUBNETS}[${i}] ${SUBNET_CIDR}[${i}]${PREFIX24} + OpenStackOperations.Create Port ${NETWORKS}[${i}] ${PORTS}[${i}] sg=${SECURITY_GROUP} allowed_address_pairs=${ALLOWED_ADDRESS_PAIR} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[${i}] ${NETWORK_${i+1}_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Port ${NETWORKS}[${i}] ${PORTS}[${i+3}] sg=${SECURITY_GROUP} allowed_address_pairs=${ALLOWED_ADDRESS_PAIR} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[${i+3}] ${NETWORK_${i+1}_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Port ${NETWORKS}[${i}] ${GATEWAY_PORTS}[${i}] sg=${SECURITY_GROUP} allowed_address_pairs=${ALLOWED_ADDRESS_PAIR} + OpenStackOperations.Create Port ${NETWORKS}[${i}] ${GATEWAY_PORTS}[${i+3}] sg=${SECURITY_GROUP} allowed_address_pairs=${ALLOWED_ADDRESS_PAIR} END @{NETWORK_2_VM_IPS} ${NETWORK_2_DHCP_IP} = OpenStackOperations.Get VM IPs @{NETWORK_2_VMS} BuiltIn.Set Suite Variable @{NETWORK_2_VM_IPS} diff --git a/csit/suites/netvirt/l2l3_gatewaymac_arp.robot b/csit/suites/netvirt/l2l3_gatewaymac_arp.robot index 0e3a880a1d..7423b61d68 100644 --- a/csit/suites/netvirt/l2l3_gatewaymac_arp.robot +++ b/csit/suites/netvirt/l2l3_gatewaymac_arp.robot @@ -86,13 +86,13 @@ Verify that Multiple GWMAC entries in GWMAC table points to FIB table 21 (L3VPN ${gw_mac_addr_2} = OpenStackOperations.Get Port Mac Address From Ip ${DEFAULT_GATEWAY_IPS[1]} OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${GWMAC_TABLE} True ${EMPTY} dl_dst=${gw_mac_addr_1} actions=goto_table:${L3_TABLE} ${pkt_count_before_ping} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${GWMAC_TABLE} | grep dl_dst=${gw_mac_addr_1} - ${output} = OpenStackOperations.Execute Command on VM Instance @{REQ_NETWORKS}[0] @{NET_1_VM_IPS}[0] ping -c 8 @{NET_2_VM_IPS}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${REQ_NETWORKS}[0] ${NET_1_VM_IPS}[0] ping -c 8 ${NET_2_VM_IPS}[1] BuiltIn.Should Contain ${output} 64 bytes ${pkt_count_after_ping} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${GWMAC_TABLE} | grep dl_dst=${gw_mac_addr_1} ${pkt_diff} = Evaluate int(${pkt_count_after_ping})-int(${pkt_count_before_ping}) BuiltIn.Should Be True ${pkt_diff} > ${PING_COUNT_VALUE} ${pkt_count_before_ping} = OvsManager.Get Packet Count From Table ${OS_CMP2_IP} ${INTEGRATION_BRIDGE} table=${GWMAC_TABLE} | grep dl_dst=${gw_mac_addr_1} - ${output} = OpenStackOperations.Execute Command on VM Instance @{REQ_NETWORKS}[0] @{NET_2_VM_IPS}[0] ping -c 8 @{NET_1_VM_IPS}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${REQ_NETWORKS}[0] ${NET_2_VM_IPS}[0] ping -c 8 ${NET_1_VM_IPS}[1] BuiltIn.Should Contain ${output} 64 bytes ${pkt_count_after_ping} = OvsManager.Get Packet Count From Table ${OS_CMP2_IP} ${INTEGRATION_BRIDGE} table=${GWMAC_TABLE} | grep dl_dst=${gw_mac_addr_1} ${pkt_diff} = Evaluate int(${pkt_count_after_ping})-int(${pkt_count_before_ping}) @@ -113,7 +113,7 @@ Verify GWMAC entires are populated with Neutron Router MAC address per network i BuiltIn.Wait Until Keyword Succeeds 60s 15s OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${GWMAC_TABLE} True ... ${EMPTY} dl_dst=${gw_mac_addr} actions=goto_table:${L3_TABLE} ${output} = VpnOperations.Get Fib Entries session - BuiltIn.Should Match Regexp ${output} .*@{DEFAULT_GATEWAY_IPS}[1]/32.*${NEXTHOP} + BuiltIn.Should Match Regexp ${output} .*${DEFAULT_GATEWAY_IPS}[1]/32.*${NEXTHOP} Verify GWMAC entires are populated with port MAC address for network with vpn association to router in GWMAC table [Documentation] To Verify gateway mac entires are populated with port MAC address for network with vpn association to router @@ -152,8 +152,8 @@ Create Neutron Subnets Create Neutron Ports [Documentation] Create required number of ports under previously created subnets FOR ${index} IN RANGE 0 ${NUM_OF_PORTS_PER_HOST} - OpenStackOperations.Create Port @{REQ_NETWORKS}[${index}] @{PORT_LIST}[${index}] sg=${SECURITY_GROUP} - OpenStackOperations.Create Port @{REQ_NETWORKS}[${index}] @{PORT_LIST}[${index + 2}] sg=${SECURITY_GROUP} + OpenStackOperations.Create Port ${REQ_NETWORKS}[${index}] ${PORT_LIST}[${index}] sg=${SECURITY_GROUP} + OpenStackOperations.Create Port ${REQ_NETWORKS}[${index}] ${PORT_LIST}[${index + 2}] sg=${SECURITY_GROUP} END BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${PORT_URL} ${PORT_LIST} diff --git a/csit/suites/netvirt/l3vpn_bgp/l3vpn_bgp_multipath_maxpath_cli.robot b/csit/suites/netvirt/l3vpn_bgp/l3vpn_bgp_multipath_maxpath_cli.robot index 403016c745..d85c861bd7 100644 --- a/csit/suites/netvirt/l3vpn_bgp/l3vpn_bgp_multipath_maxpath_cli.robot +++ b/csit/suites/netvirt/l3vpn_bgp/l3vpn_bgp_multipath_maxpath_cli.robot @@ -18,7 +18,7 @@ Resource ../../../variables/Variables.robot @{DCGW_RD_IRT_ERT} 11:1 22:2 33:3 @{DCGW_IP_LIST} ${TOOLS_SYSTEM_1_IP} ${TOOLS_SYSTEM_2_IP} ${TOOLS_SYSTEM_3_IP} @{LABEL} 51 52 53 -@{L3VPN_RD_IRT_ERT} ["@{DCGW_RD_IRT_ERT}[0]"] ["@{DCGW_RD_IRT_ERT}[1]"] ["@{DCGW_RD_IRT_ERT}[2]"] +${L3VPN_RD_IRT_ERT} ["${DCGW_RD_IRT_ERT}[0]"] ["${DCGW_RD_IRT_ERT}[1]"] ["${DCGW_RD_IRT_ERT}[2]"] @{MAX_PATH_LIST} 1 2 3 8 64 @{MAX_PATH_INVALID_LIST} -1 0 65 @{NETWORK_IP} 10.1.1.1 20.1.1.1 30.1.1.1 @@ -52,81 +52,81 @@ Verify ODL supports CLI for multipath configuration (enable/disable multipath) Verify CSC supports CLI for max path configuration [Documentation] Verify CSC supports CLI for max path configuration FOR ${idx} IN RANGE ${START_VALUE} ${NUM_OF_DCGW} - VpnOperations.VPN Create L3VPN name=@{VPN_NAME}[${idx}] vpnid=@{VPN_ID}[${idx}] rd=@{L3VPN_RD_IRT_ERT}[${idx}] exportrt=@{L3VPN_RD_IRT_ERT}[${idx}] importrt=@{L3VPN_RD_IRT_ERT}[${idx}] + VpnOperations.VPN Create L3VPN name=${VPN_NAME}[${idx}] vpnid=${VPN_ID}[${idx}] rd=${L3VPN_RD_IRT_ERT}[${idx}] exportrt=${L3VPN_RD_IRT_ERT}[${idx}] importrt=${L3VPN_RD_IRT_ERT}[${idx}] END VpnOperations.Verify L3VPN On ODL @{VPN_ID} FOR ${dcgw} IN @{DCGW_IP_LIST} - BgpOperations.Create L3VPN on DCGW ${dcgw} ${AS_ID} @{VPN_NAME}[0] @{DCGW_RD_IRT_ERT}[0] - BgpOperations.Verify L3VPN On DCGW ${dcgw} @{VPN_NAME}[0] @{DCGW_RD_IRT_ERT}[0] + BgpOperations.Create L3VPN on DCGW ${dcgw} ${AS_ID} ${VPN_NAME}[0] ${DCGW_RD_IRT_ERT}[0] + BgpOperations.Verify L3VPN On DCGW ${dcgw} ${VPN_NAME}[0] ${DCGW_RD_IRT_ERT}[0] END FOR ${idx} IN RANGE ${START_VALUE} ${NUM_OF_DCGW} - Configure Maxpath @{MAX_PATH_LIST}[2] @{DCGW_RD_IRT_ERT}[${idx}] - BuiltIn.Wait Until Keyword Succeeds 10s 2s Verify Maxpath @{MAX_PATH_LIST}[2] @{DCGW_RD_IRT_ERT}[${idx}] + Configure Maxpath ${MAX_PATH_LIST}[2] ${DCGW_RD_IRT_ERT}[${idx}] + BuiltIn.Wait Until Keyword Succeeds 10s 2s Verify Maxpath ${MAX_PATH_LIST}[2] ${DCGW_RD_IRT_ERT}[${idx}] END BuiltIn.Wait Until Keyword Succeeds 60s 10s BgpOperations.Check BGP VPNv4 Nbr On ODL ${NUM_OF_DCGW} False Verify max-path error message with invalid inputs [Documentation] Verify max path error message while configuring maxpath with invalid range - VpnOperations.VPN Create L3VPN name=@{VPN_NAME}[0] vpnid=@{VPN_ID}[0] rd=@{L3VPN_RD_IRT_ERT}[0] exportrt=@{L3VPN_RD_IRT_ERT}[0] importrt=@{L3VPN_RD_IRT_ERT}[0] - VpnOperations.Verify L3VPN On ODL @{VPN_ID}[0] + VpnOperations.VPN Create L3VPN name=${VPN_NAME}[0] vpnid=${VPN_ID}[0] rd=${L3VPN_RD_IRT_ERT}[0] exportrt=${L3VPN_RD_IRT_ERT}[0] importrt=${L3VPN_RD_IRT_ERT}[0] + VpnOperations.Verify L3VPN On ODL ${VPN_ID}[0] FOR ${dcgw} IN @{DCGW_IP_LIST} - BgpOperations.Create L3VPN on DCGW ${dcgw} ${AS_ID} @{VPN_NAME}[0] @{DCGW_RD_IRT_ERT}[0] - BgpOperations.Verify L3VPN On DCGW ${dcgw} @{VPN_NAME}[0] @{DCGW_RD_IRT_ERT}[0] + BgpOperations.Create L3VPN on DCGW ${dcgw} ${AS_ID} ${VPN_NAME}[0] ${DCGW_RD_IRT_ERT}[0] + BgpOperations.Verify L3VPN On DCGW ${dcgw} ${VPN_NAME}[0] ${DCGW_RD_IRT_ERT}[0] END FOR ${invalid} IN @{MAX_PATH_INVALID_LIST} - Configure Maxpath ${invalid} @{DCGW_RD_IRT_ERT}[0] - BuiltIn.Wait Until Keyword Succeeds 10s 2s Verify Maxpath ${invalid} @{DCGW_RD_IRT_ERT}[0] + Configure Maxpath ${invalid} ${DCGW_RD_IRT_ERT}[0] + BuiltIn.Wait Until Keyword Succeeds 10s 2s Verify Maxpath ${invalid} ${DCGW_RD_IRT_ERT}[0] END BuiltIn.Wait Until Keyword Succeeds 60s 10s BgpOperations.Check BGP VPNv4 Nbr On ODL ${NUM_OF_DCGW} False Verify ODL supports dynamic configuration changes for max path value [Documentation] Verify ODL supports dynamic configuration changes for max path value - VpnOperations.VPN Create L3VPN name=@{VPN_NAME}[0] vpnid=@{VPN_ID}[0] rd=@{L3VPN_RD_IRT_ERT}[0] exportrt=@{L3VPN_RD_IRT_ERT}[0] importrt=@{L3VPN_RD_IRT_ERT}[0] - VpnOperations.Verify L3VPN On ODL @{VPN_ID}[0] - VpnOperations.Associate VPN to Router routerid=@{router_id_list}[0] vpnid=@{VPN_ID}[0] + VpnOperations.VPN Create L3VPN name=${VPN_NAME}[0] vpnid=${VPN_ID}[0] rd=${L3VPN_RD_IRT_ERT}[0] exportrt=${L3VPN_RD_IRT_ERT}[0] importrt=${L3VPN_RD_IRT_ERT}[0] + VpnOperations.Verify L3VPN On ODL ${VPN_ID}[0] + VpnOperations.Associate VPN to Router routerid=${router_id_list}[0] vpnid=${VPN_ID}[0] FOR ${dcgw} IN @{DCGW_IP_LIST} - BgpOperations.Create L3VPN on DCGW ${dcgw} ${AS_ID} @{VPN_NAME}[0] @{DCGW_RD_IRT_ERT}[0] - BgpOperations.Verify L3VPN On DCGW ${dcgw} @{VPN_NAME}[0] @{DCGW_RD_IRT_ERT}[0] + BgpOperations.Create L3VPN on DCGW ${dcgw} ${AS_ID} ${VPN_NAME}[0] ${DCGW_RD_IRT_ERT}[0] + BgpOperations.Verify L3VPN On DCGW ${dcgw} ${VPN_NAME}[0] ${DCGW_RD_IRT_ERT}[0] END - Configure Maxpath @{MAX_PATH_LIST}[2] @{DCGW_RD_IRT_ERT}[0] - BuiltIn.Wait Until Keyword Succeeds 10s 2s Verify Maxpath @{MAX_PATH_LIST}[2] @{DCGW_RD_IRT_ERT}[0] + Configure Maxpath ${MAX_PATH_LIST}[2] ${DCGW_RD_IRT_ERT}[0] + BuiltIn.Wait Until Keyword Succeeds 10s 2s Verify Maxpath ${MAX_PATH_LIST}[2] ${DCGW_RD_IRT_ERT}[0] FOR ${idx} IN RANGE ${START_VALUE} ${NUM_OF_DCGW} - BgpOperations.Add Routes On DCGW @{DCGW_IP_LIST}[${idx}] @{DCGW_RD_IRT_ERT}[0] @{NETWORK_IP}[0] @{LABEL}[${idx}] + BgpOperations.Add Routes On DCGW ${DCGW_IP_LIST}[${idx}] ${DCGW_RD_IRT_ERT}[0] ${NETWORK_IP}[0] ${LABEL}[${idx}] END BuiltIn.Wait Until Keyword Succeeds 60s 10s BgpOperations.Check BGP VPNv4 Nbr On ODL ${NUM_OF_DCGW} - BuiltIn.Wait Until Keyword Succeeds 60s 10s Verify Routing Entry On ODL @{DCGW_RD_IRT_ERT}[0] @{NETWORK_IP}[0] @{NUM_OF_ROUTES}[2] - BuiltIn.Wait Until Keyword Succeeds 30s 5s Verify FIB Entry On ODL @{NETWORK_IP}[0] @{NUM_OF_ROUTES}[2] + BuiltIn.Wait Until Keyword Succeeds 60s 10s Verify Routing Entry On ODL ${DCGW_RD_IRT_ERT}[0] ${NETWORK_IP}[0] ${NUM_OF_ROUTES}[2] + BuiltIn.Wait Until Keyword Succeeds 30s 5s Verify FIB Entry On ODL ${NETWORK_IP}[0] ${NUM_OF_ROUTES}[2] FOR ${index} IN RANGE 0 3 - Configure Maxpath @{MAX_PATH_LIST}[${index}] @{DCGW_RD_IRT_ERT}[0] - BuiltIn.Wait Until Keyword Succeeds 10s 2s Verify Maxpath @{MAX_PATH_LIST}[${index}] @{DCGW_RD_IRT_ERT}[0] - BuiltIn.Wait Until Keyword Succeeds 60s 10s Verify Routing Entry On ODL @{DCGW_RD_IRT_ERT}[0] @{NETWORK_IP}[0] - ... @{NUM_OF_ROUTES}[2] - BuiltIn.Wait Until Keyword Succeeds 60s 10s Verify FIB Entry On ODL @{NETWORK_IP}[0] @{NUM_OF_ROUTES}[${index}] + Configure Maxpath ${MAX_PATH_LIST}[${index}] ${DCGW_RD_IRT_ERT}[0] + BuiltIn.Wait Until Keyword Succeeds 10s 2s Verify Maxpath ${MAX_PATH_LIST}[${index}] ${DCGW_RD_IRT_ERT}[0] + BuiltIn.Wait Until Keyword Succeeds 60s 10s Verify Routing Entry On ODL ${DCGW_RD_IRT_ERT}[0] ${NETWORK_IP}[0] + ... ${NUM_OF_ROUTES}[2] + BuiltIn.Wait Until Keyword Succeeds 60s 10s Verify FIB Entry On ODL ${NETWORK_IP}[0] ${NUM_OF_ROUTES}[${index}] END Verify that ECMP path gets withdrawn by QBGP after disabling multipath [Documentation] Verify that ECMP path gets withdrawn by QBGP after disabling multipath by setting multipath value to 1 - VpnOperations.VPN Create L3VPN name=@{VPN_NAME}[0] vpnid=@{VPN_ID}[0] rd=@{L3VPN_RD_IRT_ERT}[0] exportrt=@{L3VPN_RD_IRT_ERT}[0] importrt=@{L3VPN_RD_IRT_ERT}[0] - VpnOperations.Verify L3VPN On ODL @{VPN_ID}[0] - VpnOperations.Associate VPN to Router routerid=@{router_id_list}[0] vpnid=@{VPN_ID}[0] + VpnOperations.VPN Create L3VPN name=${VPN_NAME}[0] vpnid=${VPN_ID}[0] rd=${L3VPN_RD_IRT_ERT}[0] exportrt=${L3VPN_RD_IRT_ERT}[0] importrt=${L3VPN_RD_IRT_ERT}[0] + VpnOperations.Verify L3VPN On ODL ${VPN_ID}[0] + VpnOperations.Associate VPN to Router routerid=${router_id_list}[0] vpnid=${VPN_ID}[0] FOR ${dcgw} IN @{DCGW_IP_LIST} - BgpOperations.Create L3VPN on DCGW ${dcgw} ${AS_ID} @{VPN_NAME}[0] @{DCGW_RD_IRT_ERT}[0] - BgpOperations.Verify L3VPN On DCGW ${dcgw} @{VPN_NAME}[0] @{DCGW_RD_IRT_ERT}[0] + BgpOperations.Create L3VPN on DCGW ${dcgw} ${AS_ID} ${VPN_NAME}[0] ${DCGW_RD_IRT_ERT}[0] + BgpOperations.Verify L3VPN On DCGW ${dcgw} ${VPN_NAME}[0] ${DCGW_RD_IRT_ERT}[0] END - Configure Maxpath @{MAX_PATH_LIST}[2] @{DCGW_RD_IRT_ERT}[0] - BuiltIn.Wait Until Keyword Succeeds 10s 2s Verify Maxpath @{MAX_PATH_LIST}[2] @{DCGW_RD_IRT_ERT}[0] + Configure Maxpath ${MAX_PATH_LIST}[2] ${DCGW_RD_IRT_ERT}[0] + BuiltIn.Wait Until Keyword Succeeds 10s 2s Verify Maxpath ${MAX_PATH_LIST}[2] ${DCGW_RD_IRT_ERT}[0] FOR ${idx} IN RANGE ${START_VALUE} ${NUM_OF_DCGW} - BgpOperations.Add Routes On DCGW @{DCGW_IP_LIST}[${idx}] @{DCGW_RD_IRT_ERT}[0] @{NETWORK_IP}[0] @{LABEL}[${idx}] + BgpOperations.Add Routes On DCGW ${DCGW_IP_LIST}[${idx}] ${DCGW_RD_IRT_ERT}[0] ${NETWORK_IP}[0] ${LABEL}[${idx}] END BuiltIn.Wait Until Keyword Succeeds 60s 10s BgpOperations.Check BGP VPNv4 Nbr On ODL ${NUM_OF_DCGW} - BuiltIn.Wait Until Keyword Succeeds 60s 10s Verify Routing Entry On ODL @{DCGW_RD_IRT_ERT}[0] @{NETWORK_IP}[0] @{NUM_OF_ROUTES}[2] - BuiltIn.Wait Until Keyword Succeeds 30s 5s Verify FIB Entry On ODL @{NETWORK_IP}[0] @{NUM_OF_ROUTES}[2] - Configure Maxpath @{MAX_PATH_LIST}[0] @{DCGW_RD_IRT_ERT}[0] - BuiltIn.Wait Until Keyword Succeeds 60s 10s Verify Routing Entry On ODL @{DCGW_RD_IRT_ERT}[0] @{NETWORK_IP}[0] @{NUM_OF_ROUTES}[2] - BuiltIn.Wait Until Keyword Succeeds 30s 5s Verify FIB Entry On ODL @{NETWORK_IP}[0] @{NUM_OF_ROUTES}[0] - Configure Maxpath @{MAX_PATH_LIST}[2] @{DCGW_RD_IRT_ERT}[0] - BuiltIn.Wait Until Keyword Succeeds 60s 10s Verify Routing Entry On ODL @{DCGW_RD_IRT_ERT}[0] @{NETWORK_IP}[0] @{NUM_OF_ROUTES}[2] - BuiltIn.Wait Until Keyword Succeeds 30s 5s Verify FIB Entry On ODL @{NETWORK_IP}[0] @{NUM_OF_ROUTES}[2] + BuiltIn.Wait Until Keyword Succeeds 60s 10s Verify Routing Entry On ODL ${DCGW_RD_IRT_ERT}[0] ${NETWORK_IP}[0] ${NUM_OF_ROUTES}[2] + BuiltIn.Wait Until Keyword Succeeds 30s 5s Verify FIB Entry On ODL ${NETWORK_IP}[0] ${NUM_OF_ROUTES}[2] + Configure Maxpath ${MAX_PATH_LIST}[0] ${DCGW_RD_IRT_ERT}[0] + BuiltIn.Wait Until Keyword Succeeds 60s 10s Verify Routing Entry On ODL ${DCGW_RD_IRT_ERT}[0] ${NETWORK_IP}[0] ${NUM_OF_ROUTES}[2] + BuiltIn.Wait Until Keyword Succeeds 30s 5s Verify FIB Entry On ODL ${NETWORK_IP}[0] ${NUM_OF_ROUTES}[0] + Configure Maxpath ${MAX_PATH_LIST}[2] ${DCGW_RD_IRT_ERT}[0] + BuiltIn.Wait Until Keyword Succeeds 60s 10s Verify Routing Entry On ODL ${DCGW_RD_IRT_ERT}[0] ${NETWORK_IP}[0] ${NUM_OF_ROUTES}[2] + BuiltIn.Wait Until Keyword Succeeds 30s 5s Verify FIB Entry On ODL ${NETWORK_IP}[0] ${NUM_OF_ROUTES}[2] *** Keywords *** Suite Setup @@ -142,7 +142,7 @@ Stop Suite Test Cleanup [Documentation] Posttest case cleanup FOR ${l3vpn_rd} IN @{DCGW_RD_IRT_ERT} - Configure Maxpath @{MAX_PATH_LIST}[0] ${l3vpn_rd} + Configure Maxpath ${MAX_PATH_LIST}[0] ${l3vpn_rd} END FOR ${vpn} IN @{VPN_ID} BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=${vpn} @@ -165,8 +165,8 @@ Create Setup BgpOperations.AddNeighbor To BGP Configuration On ODL remoteas=${AS_ID} neighborAddr=${dcgw} ${output} = BgpOperations.Get BGP Configuration On ODL session BuiltIn.Should Contain ${output} ${dcgw} - BgpOperations.Configure BGP And Add Neighbor On DCGW ${dcgw} ${AS_ID} ${dcgw} ${ODL_SYSTEM_IP} @{VPN_NAME}[0] - ... @{DCGW_RD_IRT_ERT}[0] @{NETWORK_IP}[0] + BgpOperations.Configure BGP And Add Neighbor On DCGW ${dcgw} ${AS_ID} ${dcgw} ${ODL_SYSTEM_IP} ${VPN_NAME}[0] + ... ${DCGW_RD_IRT_ERT}[0] ${NETWORK_IP}[0] BuiltIn.Wait Until Keyword Succeeds 120s 20s BgpOperations.Verify BGP Neighbor Status On Quagga ${dcgw} ${ODL_SYSTEM_IP} END FOR ${network} IN @{NETWORKS} @@ -174,7 +174,7 @@ Create Setup END BuiltIn.Wait Until Keyword Succeeds 10s 2s Utils.Check For Elements At URI ${NETWORK_URL} ${NETWORKS} FOR ${index} IN RANGE 0 3 - OpenStackOperations.Create SubNet @{NETWORKS}[${index}] @{SUBNETS}[${index}] @{SUBNET_CIDR}[${index}] + OpenStackOperations.Create SubNet ${NETWORKS}[${index}] ${SUBNETS}[${index}] ${SUBNET_CIDR}[${index}] END BuiltIn.Wait Until Keyword Succeeds 10s 2s Utils.Check For Elements At URI ${SUBNETWORK_URL} ${SUBNETS} ${router_id_list} BuiltIn.Create List @{EMPTY} @@ -185,9 +185,9 @@ Create Setup END BuiltIn.Set Suite Variable ${router_id_list} FOR ${index} IN RANGE 0 3 - OpenStackOperations.Add Router Interface @{ROUTERS}[${index}] @{SUBNETS}[${index}] - ${output} = OpenStackOperations.Show Router Interface @{ROUTERS}[${index}] - ${subnet_id} = OpenStackOperations.Get Subnet Id @{SUBNETS}[${index}] + OpenStackOperations.Add Router Interface ${ROUTERS}[${index}] ${SUBNETS}[${index}] + ${output} = OpenStackOperations.Show Router Interface ${ROUTERS}[${index}] + ${subnet_id} = OpenStackOperations.Get Subnet Id ${SUBNETS}[${index}] BuiltIn.Should Contain ${output} ${subnet_id} END diff --git a/csit/suites/netvirt/l3vpn_bgp/multi_vpn_bgp.robot b/csit/suites/netvirt/l3vpn_bgp/multi_vpn_bgp.robot index 5d554d82f4..a8672a749d 100644 --- a/csit/suites/netvirt/l3vpn_bgp/multi_vpn_bgp.robot +++ b/csit/suites/netvirt/l3vpn_bgp/multi_vpn_bgp.robot @@ -54,15 +54,15 @@ ${RT_LIST_2} ["2200:2","2400:2"] *** Test Cases *** Check Datapath Traffic Across Networks With L3VPN [Documentation] Datapath Test Across the networks with VPN. - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ping -c 20 @{NET_1_VM_IPS}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ping -c 20 ${NET_1_VM_IPS}[1] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ping -c 20 @{NET_2_VM_IPS}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ping -c 20 ${NET_2_VM_IPS}[1] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ping -c 20 @{NET_2_VM_IPS}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ping -c 20 ${NET_2_VM_IPS}[0] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[2] ping -c 20 @{NET_2_VM_IPS}[2] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[2] ping -c 20 ${NET_2_VM_IPS}[2] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[2] ping -c 20 @{NET_2_VM_IPS}[3] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[2] ping -c 20 ${NET_2_VM_IPS}[3] BuiltIn.Should Contain ${output} ${PING_REGEXP} Verify Route Update In Bgp For Routes With Default Route And Various Prefix Lengths @@ -71,58 +71,58 @@ Verify Route Update In Bgp For Routes With Default Route And Various Prefix Leng OpenStackOperations.Create Network ${NET} ${length} = BuiltIn.Get Length ${REQ_SUBNETS_PREFIX} FOR ${idx} IN RANGE ${length} - OpenStackOperations.Create SubNet ${NET} @{REQ_SUBNETS_PREFIX}[${idx}] @{REQ_PREFIXLENGTHS}[${idx}] + OpenStackOperations.Create SubNet ${NET} ${REQ_SUBNETS_PREFIX}[${idx}] ${REQ_PREFIXLENGTHS}[${idx}] END BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${SUBNETWORK_URL} ${REQ_SUBNETS_PREFIX} ${net_id} = OpenStackOperations.Get Net Id ${NET} - VpnOperations.Associate L3VPN To Network networkid=${net_id} vpnid=@{VPN_INSTANCE_IDS}[0] - VpnOperations.Verify L3VPN On ODL @{VPN_INSTANCE_IDS}[0] + VpnOperations.Associate L3VPN To Network networkid=${net_id} vpnid=${VPN_INSTANCE_IDS}[0] + VpnOperations.Verify L3VPN On ODL ${VPN_INSTANCE_IDS}[0] BuiltIn.Wait Until Keyword Succeeds 30s 10s Utils.Check For Elements At URI ${FIB_ENTRY_URL} ${REQ_PREFIXLENGTHS} - [Teardown] BuiltIn.Run Keywords VpnOperations.Dissociate L3VPN From Networks networkid=${net_id} vpnid=@{VPN_INSTANCE_IDS}[0] + [Teardown] BuiltIn.Run Keywords VpnOperations.Dissociate L3VPN From Networks networkid=${net_id} vpnid=${VPN_INSTANCE_IDS}[0] ... AND OpenStackOperations.Delete Network ${NET} - ... AND Post Test Cleanup @{VPN_INSTANCE_IDS}[0] + ... AND Post Test Cleanup ${VPN_INSTANCE_IDS}[0] Verification Of Route Download With Three Vpns In SE And Qbgp With One-One Export Import Route Target [Documentation] Check the datapath traffic with one-one export import route target with three vpns. - Create Multiple L3VPN @{NETWORKS}[0] ${3} + Create Multiple L3VPN ${NETWORKS}[0] ${3} FOR ${index} IN RANGE 0 ${NUM_OF_L3VPN} - BgpOperations.Configure BGP And Add Neighbor On DCGW ${DCGW_SYSTEM_IP} ${AS_ID} ${DCGW_SYSTEM_IP} ${ODL_SYSTEM_IP} @{VPN_NAMES}[${index}] - ... @{DCGW_RD}[${index}] @{LOOPBACK_IPS}[${index}] + BgpOperations.Configure BGP And Add Neighbor On DCGW ${DCGW_SYSTEM_IP} ${AS_ID} ${DCGW_SYSTEM_IP} ${ODL_SYSTEM_IP} ${VPN_NAMES}[${index}] + ... ${DCGW_RD}[${index}] ${LOOPBACK_IPS}[${index}] END VpnOperations.Associate L3VPNs To Networks ${VPN_INSTANCE_IDS} ${NETWORKS} ${fib_values} = BuiltIn.Create List @{NET_1_VM_IPS} @{NET_2_VM_IPS} @{NET_3_VM_IPS} @{SUBNET_CIDRS} @{LOOPBACK_IPS} BuiltIn.Wait Until Keyword Succeeds 30s 10s Utils.Check For Elements At URI ${FIB_ENTRY_URL} ${fib_values} - ${fib1_values} = BuiltIn.Create List @{NET_1_VM_IPS} @{SUBNET_CIDRS}[0] @{LOOPBACK_IPS}[0] - BuiltIn.Wait Until Keyword Succeeds 60s 15s BgpOperations.Verify Routes On Quagga ${DCGW_SYSTEM_IP} @{DCGW_RD}[0] ${fib1_values} - ${fib2_values} = BuiltIn.Create List @{NET_2_VM_IPS} @{SUBNET_CIDRS}[1] @{LOOPBACK_IPS}[1] - BuiltIn.Wait Until Keyword Succeeds 60s 15s BgpOperations.Verify Routes On Quagga ${DCGW_SYSTEM_IP} @{DCGW_RD}[1] ${fib2_values} - ${fib3_values} = BuiltIn.Create List @{NET_3_VM_IPS} @{SUBNET_CIDRS}[2] @{LOOPBACK_IPS}[2] - BuiltIn.Wait Until Keyword Succeeds 60s 15s BgpOperations.Verify Routes On Quagga ${DCGW_SYSTEM_IP} @{DCGW_RD}[2] ${fib3_values} + ${fib1_values} = BuiltIn.Create List ${NET_1_VM_IPS} ${SUBNET_CIDRS}[0] ${LOOPBACK_IPS}[0] + BuiltIn.Wait Until Keyword Succeeds 60s 15s BgpOperations.Verify Routes On Quagga ${DCGW_SYSTEM_IP} ${DCGW_RD}[0] ${fib1_values} + ${fib2_values} = BuiltIn.Create List ${NET_2_VM_IPS} ${SUBNET_CIDRS}[1] ${LOOPBACK_IPS}[1] + BuiltIn.Wait Until Keyword Succeeds 60s 15s BgpOperations.Verify Routes On Quagga ${DCGW_SYSTEM_IP} ${DCGW_RD}[1] ${fib2_values} + ${fib3_values} = BuiltIn.Create List ${NET_3_VM_IPS} ${SUBNET_CIDRS}[2] ${LOOPBACK_IPS}[2] + BuiltIn.Wait Until Keyword Succeeds 60s 15s BgpOperations.Verify Routes On Quagga ${DCGW_SYSTEM_IP} ${DCGW_RD}[2] ${fib3_values} VpnOperations.Verify Flows Are Present For L3VPN ${OS_CMP1_IP} ${NET_1_VM_IPS} VpnOperations.Verify Flows Are Present For L3VPN ${OS_CMP1_IP} ${NET_2_VM_IPS} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ping -c 3 @{NET_1_VM_IPS}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ping -c 3 ${NET_1_VM_IPS}[1] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[0] ping -c 3 @{NET_2_VM_IPS}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${NET_2_VM_IPS}[0] ping -c 3 ${NET_2_VM_IPS}[1] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ping -c 3 @{NET_2_VM_IPS}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ping -c 3 ${NET_2_VM_IPS}[0] BuiltIn.Should Contain ${output} ${NO_PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ping -c 3 @{NET_2_VM_IPS}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ping -c 3 ${NET_2_VM_IPS}[1] BuiltIn.Should Contain ${output} ${NO_PING_REGEXP} [Teardown] Post Test Cleanup @{VPN_INSTANCE_IDS} Verification Of Route Download With Three Vpns In SE And Qbgp With One-Many Export Import Route Target [Documentation] Check the datapath traffic with one-many export import route target with three vpns. - VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] name=@{VPN_NAMES}[0] rd=@{RDS}[0] exportrt=${CREATE_RT} importrt=@{RDS}[0] + VpnOperations.VPN Create L3VPN vpnid=${VPN_INSTANCE_IDS}[0] name=${VPN_NAMES}[0] rd=${RDS}[0] exportrt=${CREATE_RT} importrt=${RDS}[0] FOR ${index} IN RANGE 1 ${NUM_OF_L3VPN} - VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[${index}] name=@{VPN_NAMES}[${index}] rd=@{RDS}[${index}] exportrt=@{RDS}[${index}] importrt=${RT_LIST_${index}} + VpnOperations.VPN Create L3VPN vpnid=${VPN_INSTANCE_IDS}[${index}] name=${VPN_NAMES}[${index}] rd=${RDS}[${index}] exportrt=${RDS}[${index}] importrt=${RT_LIST_${index}} END FOR ${index} IN RANGE 0 ${NUM_OF_L3VPN} - BgpOperations.Configure BGP And Add Neighbor On DCGW ${DCGW_SYSTEM_IP} ${AS_ID} ${DCGW_SYSTEM_IP} ${ODL_SYSTEM_IP} @{VPN_NAMES}[${index}] - ... @{DCGW_RD}[${index}] @{LOOPBACK_IPS}[${index}] + BgpOperations.Configure BGP And Add Neighbor On DCGW ${DCGW_SYSTEM_IP} ${AS_ID} ${DCGW_SYSTEM_IP} ${ODL_SYSTEM_IP} ${VPN_NAMES}[${index}] + ... ${DCGW_RD}[${index}] ${LOOPBACK_IPS}[${index}] END - ${networks} = BuiltIn.Create List @{NETWORKS}[0] @{NETWORKS}[1] + ${networks} = BuiltIn.Create List ${NETWORKS}[0] ${NETWORKS}[1] VpnOperations.Associate L3VPNs To Networks ${VPN_INSTANCE_IDS} ${networks} - ${fib_values} = BuiltIn.Create List @{NET_1_VM_IPS} @{NET_2_VM_IPS} @{SUBNET_CIDRS}[0] @{SUBNET_CIDRS}[1] + ${fib_values} = BuiltIn.Create List ${NET_1_VM_IPS} ${NET_2_VM_IPS} ${SUBNET_CIDRS}[0] ${SUBNET_CIDRS}[1] BuiltIn.Wait Until Keyword Succeeds 30s 10s Utils.Check For Elements At URI ${FIB_ENTRY_URL} ${fib_values} VpnOperations.Verify Flows Are Present For L3VPN ${OS_CMP1_IP} ${NET_1_VM_IPS} VpnOperations.Verify Flows Are Present For L3VPN ${OS_CMP1_IP} ${NET_2_VM_IPS} @@ -130,17 +130,17 @@ Verification Of Route Download With Three Vpns In SE And Qbgp With One-Many Expo Verification Of Route Download With Three Vpns In SE And Qbgp With Many-One Export Import Route Target [Documentation] Check the datapath traffic with many-one export import route target with three vpns. - VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] name=@{VPN_NAMES}[0] rd=@{RDS}[0] exportrt=@{RDS}[0] importrt=${CREATE_RT} + VpnOperations.VPN Create L3VPN vpnid=${VPN_INSTANCE_IDS}[0] name=${VPN_NAMES}[0] rd=${RDS}[0] exportrt=${RDS}[0] importrt=${CREATE_RT} FOR ${index} IN RANGE 1 ${NUM_OF_L3VPN} - VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[${index}] name=@{VPN_NAMES}[${index}] rd=@{RDS}[${index}] exportrt=${RT_LIST_${index}} importrt=@{RDS}[${index}] + VpnOperations.VPN Create L3VPN vpnid=${VPN_INSTANCE_IDS}[${index}] name=${VPN_NAMES}[${index}] rd=${RDS}[${index}] exportrt=${RT_LIST_${index}} importrt=${RDS}[${index}] END FOR ${index} IN RANGE 0 ${NUM_OF_L3VPN} - BgpOperations.Configure BGP And Add Neighbor On DCGW ${DCGW_SYSTEM_IP} ${AS_ID} ${DCGW_SYSTEM_IP} ${ODL_SYSTEM_IP} @{VPN_NAMES}[${index}] - ... @{DCGW_RD}[${index}] @{LOOPBACK_IPS}[${index}] + BgpOperations.Configure BGP And Add Neighbor On DCGW ${DCGW_SYSTEM_IP} ${AS_ID} ${DCGW_SYSTEM_IP} ${ODL_SYSTEM_IP} ${VPN_NAMES}[${index}] + ... ${DCGW_RD}[${index}] ${LOOPBACK_IPS}[${index}] END - ${networks} = BuiltIn.Create List @{NETWORKS}[0] @{NETWORKS}[1] + ${networks} = BuiltIn.Create List ${NETWORKS}[0] ${NETWORKS}[1] VpnOperations.Associate L3VPNs To Networks ${VPN_INSTANCE_IDS} ${networks} - ${fib_values} = BuiltIn.Create List @{NET_1_VM_IPS} @{NET_2_VM_IPS} @{SUBNET_CIDRS}[0] @{SUBNET_CIDRS}[1] + ${fib_values} = BuiltIn.Create List ${NET_1_VM_IPS} ${NET_2_VM_IPS} ${SUBNET_CIDRS}[0] ${SUBNET_CIDRS}[1] BuiltIn.Wait Until Keyword Succeeds 30s 10s Utils.Check For Elements At URI ${FIB_ENTRY_URL} ${fib_values} VpnOperations.Verify Flows Are Present For L3VPN ${OS_CMP1_IP} ${NET_1_VM_IPS} VpnOperations.Verify Flows Are Present For L3VPN ${OS_CMP1_IP} ${NET_2_VM_IPS} @@ -149,15 +149,15 @@ Verification Of Route Download With Three Vpns In SE And Qbgp With Many-One Expo Verification Of Route Download With Three Vpns In SE And Qbgp With Many-Many Export Import Route Target [Documentation] Check the datapath traffic with many-many export import route target with three vpns. FOR ${index} IN RANGE 0 ${NUM_OF_L3VPN} - VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[${index}] name=@{VPN_NAMES}[${index}] rd=@{RDS}[${index}] exportrt=${CREATE_RT} importrt=${CREATE_RT} + VpnOperations.VPN Create L3VPN vpnid=${VPN_INSTANCE_IDS}[${index}] name=${VPN_NAMES}[${index}] rd=${RDS}[${index}] exportrt=${CREATE_RT} importrt=${CREATE_RT} END FOR ${index} IN RANGE 0 ${NUM_OF_L3VPN} - BgpOperations.Configure BGP And Add Neighbor On DCGW ${DCGW_SYSTEM_IP} ${AS_ID} ${DCGW_SYSTEM_IP} ${ODL_SYSTEM_IP} @{VPN_NAMES}[${index}] - ... @{DCGW_RD}[${index}] @{LOOPBACK_IPS}[${index}] + BgpOperations.Configure BGP And Add Neighbor On DCGW ${DCGW_SYSTEM_IP} ${AS_ID} ${DCGW_SYSTEM_IP} ${ODL_SYSTEM_IP} ${VPN_NAMES}[${index}] + ... ${DCGW_RD}[${index}] ${LOOPBACK_IPS}[${index}] END - ${networks} = BuiltIn.Create List @{NETWORKS}[0] @{NETWORKS}[1] + ${networks} = BuiltIn.Create List ${NETWORKS}[0] ${NETWORKS}[1] VpnOperations.Associate L3VPNs To Networks ${VPN_INSTANCE_IDS} ${networks} - ${fib_values} = BuiltIn.Create List @{NET_1_VM_IPS} @{NET_2_VM_IPS} @{SUBNET_CIDRS}[0] @{SUBNET_CIDRS}[1] + ${fib_values} = BuiltIn.Create List ${NET_1_VM_IPS} ${NET_2_VM_IPS} ${SUBNET_CIDRS}[0] ${SUBNET_CIDRS}[1] BuiltIn.Wait Until Keyword Succeeds 30s 10s Utils.Check For Elements At URI ${FIB_ENTRY_URL} ${fib_values} VpnOperations.Verify Flows Are Present For L3VPN ${OS_CMP1_IP} ${NET_1_VM_IPS} VpnOperations.Verify Flows Are Present For L3VPN ${OS_CMP1_IP} ${NET_2_VM_IPS} @@ -180,11 +180,11 @@ Create Setup Security Group Rule with Remote SG ${SECURITY_GROUP[1]} Create Neutron Ports Create Nova VMs - VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] name=@{VPN_NAMES}[0] rd=@{RDS}[0] exportrt=@{RDS}[0] importrt=@{RDS}[0] - VpnOperations.Verify L3VPN On ODL @{VPN_INSTANCE_IDS}[0] + VpnOperations.VPN Create L3VPN vpnid=${VPN_INSTANCE_IDS}[0] name=${VPN_NAMES}[0] rd=${RDS}[0] exportrt=${RDS}[0] importrt=${RDS}[0] + VpnOperations.Verify L3VPN On ODL ${VPN_INSTANCE_IDS}[0] FOR ${network} IN @{NETWORKS} ${network_id} = OpenStackOperations.Get Net Id ${network} - VpnOperations.Associate L3VPN To Network networkid=${network_id} vpnid=@{VPN_INSTANCE_IDS}[0] + VpnOperations.Associate L3VPN To Network networkid=${network_id} vpnid=${VPN_INSTANCE_IDS}[0] END Create BGP Config On ODL Create BGP Config On DCGW @@ -201,35 +201,35 @@ Create Neutron Subnets [Documentation] Create required number of subnets for previously created networks ${num_of_networks} = BuiltIn.Get Length ${NETWORKS} FOR ${index} IN RANGE 0 ${num_of_networks} - OpenStackOperations.Create SubNet @{NETWORKS}[${index}] @{SUBNETS}[${index}] @{SUBNET_CIDRS}[${index}] + OpenStackOperations.Create SubNet ${NETWORKS}[${index}] ${SUBNETS}[${index}] ${SUBNET_CIDRS}[${index}] END BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${SUBNETWORK_URL} ${SUBNETS} Create Neutron Ports [Documentation] Create required number of ports under previously created subnets FOR ${index} IN RANGE 0 ${NUM_OF_PORTS_PER_HOST} - OpenStackOperations.Create Port @{NETWORKS}[${index}] @{PORTS_HOST1}[${index}] sg=@{SECURITY_GROUP}[0] + OpenStackOperations.Create Port ${NETWORKS}[${index}] ${PORTS_HOST1}[${index}] sg=${SECURITY_GROUP}[0] END FOR ${index} IN RANGE 0 ${NUM_OF_PORTS_PER_HOST} - OpenStackOperations.Create Port @{NETWORKS}[${index}] @{PORTS_HOST2}[${index}] sg=@{SECURITY_GROUP}[0] + OpenStackOperations.Create Port ${NETWORKS}[${index}] ${PORTS_HOST2}[${index}] sg=${SECURITY_GROUP}[0] END - OpenStackOperations.Create Port @{NETWORKS}[0] @{PORTS_HOST1}[3] @{SECURITY_GROUP}[1] - OpenStackOperations.Create Port @{NETWORKS}[1] @{PORTS_HOST1}[4] @{SECURITY_GROUP}[1] - OpenStackOperations.Create Port @{NETWORKS}[1] @{PORTS_HOST2}[3] @{SECURITY_GROUP}[1] + OpenStackOperations.Create Port ${NETWORKS}[0] ${PORTS_HOST1}[3] ${SECURITY_GROUP}[1] + OpenStackOperations.Create Port ${NETWORKS}[1] ${PORTS_HOST1}[4] ${SECURITY_GROUP}[1] + OpenStackOperations.Create Port ${NETWORKS}[1] ${PORTS_HOST2}[3] ${SECURITY_GROUP}[1] ${PORTS} = BuiltIn.Create List @{PORTS_HOST1} @{PORTS_HOST2} BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${CONFIG_API}/neutron:neutron/ports/ ${PORTS} Create Nova VMs [Documentation] Create Vm instances on compute nodes FOR ${index} IN RANGE 0 ${NUM_OF_VMS_PER_HOST} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS_HOST1}[${index}] @{VMS_HOST1}[${index}] ${OS_CMP1_HOSTNAME} sg=@{SECURITY_GROUP}[0] + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS_HOST1}[${index}] ${VMS_HOST1}[${index}] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP}[0] END FOR ${index} IN RANGE 0 ${NUM_OF_VMS_PER_HOST} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS_HOST2}[${index}] @{VMS_HOST2}[${index}] ${OS_CMP2_HOSTNAME} sg=@{SECURITY_GROUP}[0] + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS_HOST2}[${index}] ${VMS_HOST2}[${index}] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP}[0] END - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS_HOST1}[3] @{VMS_HOST1}[3] ${OS_CMP1_HOSTNAME} sg=@{SECURITY_GROUP}[1] - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS_HOST1}[4] @{VMS_HOST1}[4] ${OS_CMP1_HOSTNAME} sg=@{SECURITY_GROUP}[1] - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS_HOST2}[3] @{VMS_HOST2}[3] ${OS_CMP2_HOSTNAME} sg=@{SECURITY_GROUP}[1] + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS_HOST1}[3] ${VMS_HOST1}[3] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP}[1] + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS_HOST1}[4] ${VMS_HOST1}[4] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP}[1] + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS_HOST2}[3] ${VMS_HOST2}[3] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP}[1] @{NET_1_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS} @{NET_2_VM_IPS} ${NET_2_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_2_VMS} @{NET_3_VM_IPS} ${NET_3_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_3_VMS} @@ -259,8 +259,8 @@ Create BGP Config On ODL Create BGP Config On DCGW [Documentation] Configure BGP on DCGW - BgpOperations.Configure BGP And Add Neighbor On DCGW ${DCGW_SYSTEM_IP} ${AS_ID} ${DCGW_SYSTEM_IP} ${ODL_SYSTEM_IP} @{VPN_NAMES}[0] @{DCGW_RD}[0] - ... @{LOOPBACK_IPS}[0] + BgpOperations.Configure BGP And Add Neighbor On DCGW ${DCGW_SYSTEM_IP} ${AS_ID} ${DCGW_SYSTEM_IP} ${ODL_SYSTEM_IP} ${VPN_NAMES}[0] ${DCGW_RD}[0] + ... ${LOOPBACK_IPS}[0] ${output} = BgpOperations.Execute Show Command On Quagga ${DCGW_SYSTEM_IP} ${RUN_CONFIG} BuiltIn.Should Contain ${output} ${ODL_SYSTEM_IP} ${output} = BuiltIn.Wait Until Keyword Succeeds 180s 10s BgpOperations.Verify BGP Neighbor Status On Quagga ${DCGW_SYSTEM_IP} ${ODL_SYSTEM_IP} @@ -269,9 +269,9 @@ Create Multiple L3VPN [Arguments] ${network} ${num_of_l3vpns} [Documentation] Creates multiple L3VPNs and then verify the same FOR ${index} IN RANGE 0 ${num_of_l3vpns} - BuiltIn.Wait Until Keyword Succeeds 40s 10s VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[${index}] name=@{VPN_NAMES}[${index}] - ... rd=@{RDS}[${index}] exportrt=@{RDS}[${index}] importrt=@{RDS}[${index}] - VpnOperations.Verify L3VPN On ODL @{VPN_INSTANCE_IDS}[${index}] + BuiltIn.Wait Until Keyword Succeeds 40s 10s VpnOperations.VPN Create L3VPN vpnid=${VPN_INSTANCE_IDS}[${index}] name=${VPN_NAMES}[${index}] + ... rd=${RDS}[${index}] exportrt=${RDS}[${index}] importrt=${RDS}[${index}] + VpnOperations.Verify L3VPN On ODL ${VPN_INSTANCE_IDS}[${index}] END Security Group Rule with Remote SG diff --git a/csit/suites/netvirt/ofpunt_path/openflow_punt_path_protection.robot b/csit/suites/netvirt/ofpunt_path/openflow_punt_path_protection.robot index 6c56ca61b3..39619d864e 100644 --- a/csit/suites/netvirt/ofpunt_path/openflow_punt_path_protection.robot +++ b/csit/suites/netvirt/ofpunt_path/openflow_punt_path_protection.robot @@ -33,7 +33,7 @@ ${EXT_SUBNETS_FIXED_IP} 55.1.1.100 @{DPN_IDS} @{EMPTY} ${SECURITY_GROUP} of_punt_sg @{DCGW_RD_IRT_ERT} 11:1 22:1 -@{L3VPN_RD_IRT_ERT} ["@{DCGW_RD_IRT_ERT}[0]"] ["@{DCGW_RD_IRT_ERT}[1]"] +${L3VPN_RD_IRT_ERT} ["${DCGW_RD_IRT_ERT}[0]"] ["${DCGW_RD_IRT_ERT}[1]"] @{FILES_PATH} ${KARAF_HOME}/etc/opendaylight/datastore/initial/config/netvirt-vpnmanager-config.xml ${KARAF_HOME}/etc/opendaylight/datastore/initial/config/netvirt-natservice-config.xml ${KARAF_HOME}/etc/opendaylight/datastore/initial/config/netvirt-elanmanager-config.xml ${SNAT_ORIGINAL_TIMEOUT} 5 ${L3_ORIGINAL_TIMEOUT} 10 @@ -50,25 +50,25 @@ ${GARP_REG} 0x101 *** Test Cases *** Verify default punt timeout values and flows [Documentation] Verify default time out for subnet route, SNAT and ARP in respective defualt openflow tables - ${snat_napt_switch_ip} = Get NAPT Switch IP From DPID @{ROUTERS}[1] + ${snat_napt_switch_ip} = Get NAPT Switch IP From DPID ${ROUTERS}[1] FOR ${index} IN RANGE 0 3 - BuiltIn.Wait Until Keyword Succeeds 120s 20s OVSDB.Verify Dump Flows For Specific Table ${snat_napt_switch_ip} @{OF_PUNT_TABLES}[${index}] - ... True ${EMPTY} learn(table=@{OF_PUNT_TABLES}[${index}],hard_timeout=@{ORIGINAL_TIMEOUTS}[${index}] + BuiltIn.Wait Until Keyword Succeeds 120s 20s OVSDB.Verify Dump Flows For Specific Table ${snat_napt_switch_ip} ${OF_PUNT_TABLES}[${index}] + ... True ${EMPTY} learn(table=${OF_PUNT_TABLES}[${index}],hard_timeout=${ORIGINAL_TIMEOUTS}[${index}] END Set punt timeout to zero and verify flows [Documentation] Verify default flows in OVS for subnet route, SNAT and ARP after the changing the default punt timeout value to zero. ... Default subnet route, SNAT and ARP should get deleted after changing default timeout value to zero FOR ${index} IN RANGE 0 3 - Change Hard Timeout Value In XML File @{FILES_PATH}[${index}] @{ORIGINAL_TIMEOUTS}[${index}] ${0} - Verify Punt Values In XML File @{FILES_PATH}[${index}] ${0} + Change Hard Timeout Value In XML File ${FILES_PATH}[${index}] ${ORIGINAL_TIMEOUTS}[${index}] ${0} + Verify Punt Values In XML File ${FILES_PATH}[${index}] ${0} END ClusterManagement.Stop_Members_From_List_Or_All ClusterManagement.Start_Members_From_List_Or_All - ${snat_napt_switch_ip} = Get NAPT Switch IP From DPID @{ROUTERS}[1] + ${snat_napt_switch_ip} = Get NAPT Switch IP From DPID ${ROUTERS}[1] BuiltIn.Wait Until Keyword Succeeds 120s 20s OVSDB.Check OVS OpenFlow Connections ${OS_CMP1_IP} 2 FOR ${index} IN RANGE 0 3 - OVSDB.Verify Dump Flows For Specific Table ${snat_napt_switch_ip} @{OF_PUNT_TABLES}[${index}] False ${EMPTY} learn(table=@{OF_PUNT_TABLES}[${index}],hard_timeout=@{ORIGINAL_TIMEOUTS}[${index}] + OVSDB.Verify Dump Flows For Specific Table ${snat_napt_switch_ip} ${OF_PUNT_TABLES}[${index}] False ${EMPTY} learn(table=${OF_PUNT_TABLES}[${index}],hard_timeout=${ORIGINAL_TIMEOUTS}[${index}] END Set punt timeout to combination of valid ranges and verfiy flows @@ -76,29 +76,29 @@ Set punt timeout to combination of valid ranges and verfiy flows ... Default subnet route, SNAT and ARP flows should get changed after changing default timeout value to different set of values Set Original TimeOut In Xml ${0} FOR ${index} IN RANGE 0 3 - Change Hard Timeout Value In XML File @{FILES_PATH}[${index}] @{ORIGINAL_TIMEOUTS}[${index}] @{VALID_TIMEOUTS}[0] - Verify Punt Values In XML File @{FILES_PATH}[${index}] @{VALID_TIMEOUTS}[0] + Change Hard Timeout Value In XML File ${FILES_PATH}[${index}] ${ORIGINAL_TIMEOUTS}[${index}] ${VALID_TIMEOUTS}[0] + Verify Punt Values In XML File ${FILES_PATH}[${index}] ${VALID_TIMEOUTS}[0] END ${count} = BuiltIn.Get length ${VALID_TIMEOUTS} FOR ${index} IN RANGE 1 ${count} - Change Hard Timeout Value In XML File @{FILES_PATH}[0] @{VALID_TIMEOUTS}[${index - 1}] @{VALID_TIMEOUTS}[${index}] - Verify Punt Values In XML File @{FILES_PATH}[0] @{VALID_TIMEOUTS}[${index}] - Change Hard Timeout Value In XML File @{FILES_PATH}[1] @{VALID_TIMEOUTS}[${index - 1}] @{VALID_TIMEOUTS}[${index}] - Verify Punt Values In XML File @{FILES_PATH}[1] @{VALID_TIMEOUTS}[${index}] - Change Hard Timeout Value In XML File @{FILES_PATH}[2] @{VALID_TIMEOUTS}[${index - 1}] @{VALID_TIMEOUTS}[${index}] - Verify Punt Values In XML File @{FILES_PATH}[2] @{VALID_TIMEOUTS}[${index}] + Change Hard Timeout Value In XML File ${FILES_PATH}[0] ${VALID_TIMEOUTS}[${index - 1}] ${VALID_TIMEOUTS}[${index}] + Verify Punt Values In XML File ${FILES_PATH}[0] ${VALID_TIMEOUTS}[${index}] + Change Hard Timeout Value In XML File ${FILES_PATH}[1] ${VALID_TIMEOUTS}[${index - 1}] ${VALID_TIMEOUTS}[${index}] + Verify Punt Values In XML File ${FILES_PATH}[1] ${VALID_TIMEOUTS}[${index}] + Change Hard Timeout Value In XML File ${FILES_PATH}[2] ${VALID_TIMEOUTS}[${index - 1}] ${VALID_TIMEOUTS}[${index}] + Verify Punt Values In XML File ${FILES_PATH}[2] ${VALID_TIMEOUTS}[${index}] ClusterManagement.Stop_Members_From_List_Or_All ClusterManagement.Start_Members_From_List_Or_All BuiltIn.Wait Until Keyword Succeeds 120s 20s OVSDB.Check OVS OpenFlow Connections ${OS_CMP1_IP} 2 - ${snat_napt_switch_ip} = Get NAPT Switch IP From DPID @{ROUTERS}[1] + ${snat_napt_switch_ip} = Get NAPT Switch IP From DPID ${ROUTERS}[1] BuiltIn.Wait Until Keyword Succeeds 120s 5s OVSDB.Verify Dump Flows For Specific Table ${OS_COMPUTE_1_IP} ${L3_PUNT_TABLE} - ... True ${EMPTY} learn(table=${L3_PUNT_TABLE},hard_timeout=@{VALID_TIMEOUTS}[${index}] + ... True ${EMPTY} learn(table=${L3_PUNT_TABLE},hard_timeout=${VALID_TIMEOUTS}[${index}] BuiltIn.Wait Until Keyword Succeeds 120s 5s OVSDB.Verify Dump Flows For Specific Table ${OS_COMPUTE_1_IP} ${ARP_PUNT_TABLE} - ... True ${EMPTY} learn(table=${ARP_PUNT_TABLE},hard_timeout=@{VALID_TIMEOUTS}[${index}] + ... True ${EMPTY} learn(table=${ARP_PUNT_TABLE},hard_timeout=${VALID_TIMEOUTS}[${index}] BuiltIn.Wait Until Keyword Succeeds 180s 5s OVSDB.Verify Dump Flows For Specific Table ${snat_napt_switch_ip} ${SNAT_PUNT_TABLE} - ... True ${EMPTY} learn(table=${SNAT_PUNT_TABLE},hard_timeout=@{VALID_TIMEOUTS}[${index}] + ... True ${EMPTY} learn(table=${SNAT_PUNT_TABLE},hard_timeout=${VALID_TIMEOUTS}[${index}] END - Set Original TimeOut In Xml @{VALID_TIMEOUTS}[4] + Set Original TimeOut In Xml ${VALID_TIMEOUTS}[4] Verify learnt flow for subnet route flow table [Documentation] Get default subnet table packet count before sending traffic to unkwon destination. @@ -106,18 +106,18 @@ Verify learnt flow for subnet route flow table ... Punt the first packet to controller and add new rule to stop pipeline processing. ... Check packet count before and after traffic for both(defualt and learnt tables). FOR ${index} IN RANGE 0 3 - Change Hard Timeout Value In XML File @{FILES_PATH}[${index}] @{ORIGINAL_TIMEOUTS}[${index}] @{VALID_TIMEOUTS}[0] - Verify Punt Values In XML File @{FILES_PATH}[${index}] @{VALID_TIMEOUTS}[0] + Change Hard Timeout Value In XML File ${FILES_PATH}[${index}] ${ORIGINAL_TIMEOUTS}[${index}] ${VALID_TIMEOUTS}[0] + Verify Punt Values In XML File ${FILES_PATH}[${index}] ${VALID_TIMEOUTS}[0] END ClusterManagement.Stop_Members_From_List_Or_All ClusterManagement.Start_Members_From_List_Or_All BuiltIn.Wait Until Keyword Succeeds 120s 20s OVSDB.Check OVS OpenFlow Connections ${OS_CMP1_IP} 2 - ${count_before_traffic} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${L3_PUNT_TABLE}, |grep "ip actions=CONTROLLER:65535,learn(table=${L3_PUNT_TABLE},hard_timeout=@{VALID_TIMEOUTS}[0]" - OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{VM_IPS}[0] sudo ping -c 5 @{EXTRA_NW_IP}[1] - OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${L3_PUNT_TABLE} True ${EMPTY} nw_dst=@{EXTRA_NW_IP}[1] actions=drop - ${learnt_packet_count} OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${L3_PUNT_TABLE}, |grep "nw_dst=@{EXTRA_NW_IP}[1] actions=drop" + ${count_before_traffic} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${L3_PUNT_TABLE}, |grep "ip actions=CONTROLLER:65535,learn(table=${L3_PUNT_TABLE},hard_timeout=${VALID_TIMEOUTS}[0]" + OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${VM_IPS}[0] sudo ping -c 5 ${EXTRA_NW_IP}[1] + OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${L3_PUNT_TABLE} True ${EMPTY} nw_dst=${EXTRA_NW_IP}[1] actions=drop + ${learnt_packet_count} OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${L3_PUNT_TABLE}, |grep "nw_dst=${EXTRA_NW_IP}[1] actions=drop" BuiltIn.Should be true ${learnt_packet_count} > 1 - ${count_after_traffic} OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${L3_PUNT_TABLE}, |grep "ip actions=CONTROLLER:65535,learn(table=${L3_PUNT_TABLE},hard_timeout=@{VALID_TIMEOUTS}[0]" + ${count_after_traffic} OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${L3_PUNT_TABLE}, |grep "ip actions=CONTROLLER:65535,learn(table=${L3_PUNT_TABLE},hard_timeout=${VALID_TIMEOUTS}[0]" ${count_before_traffic} = BuiltIn.Evaluate ${count_before_traffic} + 1 BuiltIn.Should be true ${count_after_traffic} == ${count_before_traffic} @@ -126,17 +126,17 @@ Verify learnt flow for UDP in SNAT flow table ... Send UDP traffic using traceroute with packet count 4. ... Punt the first packet to controller and add new rule to stop pipeline processing. ... Check packet count before and after traffic for both(defualt and learnt tables). - ${compute_ip} Get NAPT Switch IP From DPID @{ROUTERS}[1] - OVSDB.Verify Dump Flows For Specific Table ${compute_ip} ${SNAT_PUNT_TABLE} @{VALID_TIMEOUTS}[0] + ${compute_ip} Get NAPT Switch IP From DPID ${ROUTERS}[1] + OVSDB.Verify Dump Flows For Specific Table ${compute_ip} ${SNAT_PUNT_TABLE} ${VALID_TIMEOUTS}[0] ${count_before_traffic} = OvsManager.Get Packet Count From Table ${compute_ip} ${INTEGRATION_BRIDGE} table=${SNAT_PUNT_TABLE} |grep "table=46.*n_packets=[\0-9+].*udp.*learn(table=46" BuiltIn.Should be true ${count_before_traffic} == 0 - OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[2] @{VM_IPS}[4] traceroute @{EXTRA_NW_IP}[2] -w 1 -q 1 -m 4 + OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[2] ${VM_IPS}[4] traceroute ${EXTRA_NW_IP}[2] -w 1 -q 1 -m 4 OVSDB.Verify Dump Flows For Specific Table ${compute_ip} ${SNAT_PUNT_TABLE} True ${EMPTY} tp_dst=${UDP_PORT} actions=drop ${count_after_traffic} = OvsManager.Get Packet Count From Table ${compute_ip} ${INTEGRATION_BRIDGE} table=${SNAT_PUNT_TABLE} |grep "table=46.*n_packets=[\0-9+].*udp.*learn(table=46" ${count_before_traffic} = BuiltIn.Evaluate ${count_before_traffic} + 1 BuiltIn.Should be true ${count_after_traffic} == ${count_before_traffic} OVSDB.Verify Dump Flows For Specific Table ${compute_ip} ${SNAT_PUNT_TABLE} True ${EMPTY} actions=set_field:${EXT_SUBNETS_FIXED_IP}->ip_src - ${controller_packet_count} = OvsManager.Get Packet Count From Table ${compute_ip} ${INTEGRATION_BRIDGE} table=${SNAT_PUNT_TABLE} |grep "table=46.*n_packets=[\0-9+].*udp.*nw_src=@{VM_IPS}[4].*actions=set_field:${EXT_SUBNETS_FIXED_IP}.*goto_table:47" + ${controller_packet_count} = OvsManager.Get Packet Count From Table ${compute_ip} ${INTEGRATION_BRIDGE} table=${SNAT_PUNT_TABLE} |grep "table=46.*n_packets=[\0-9+].*udp.*nw_src=${VM_IPS}[4].*actions=set_field:${EXT_SUBNETS_FIXED_IP}.*goto_table:47" BuiltIn.Should be true ${controller_packet_count} > 1 Verify learnt flow for TCP in SNAT flow table @@ -144,17 +144,17 @@ Verify learnt flow for TCP in SNAT flow table ... Send TCP traffic using wget. ... Punt the first packet to controller and add new rule to stop pipeline processing. ... Check packet count before and after traffic for both(defualt and learnt tables). - ${compute_ip} Get NAPT Switch IP From DPID @{ROUTERS}[1] - OVSDB.Verify Dump Flows For Specific Table ${compute_ip} ${SNAT_PUNT_TABLE} @{VALID_TIMEOUTS}[0] + ${compute_ip} Get NAPT Switch IP From DPID ${ROUTERS}[1] + OVSDB.Verify Dump Flows For Specific Table ${compute_ip} ${SNAT_PUNT_TABLE} ${VALID_TIMEOUTS}[0] ${count_before_traffic} = OvsManager.Get Packet Count From Table ${compute_ip} ${INTEGRATION_BRIDGE} table=${SNAT_PUNT_TABLE} |grep "table=46.*n_packets=[\0-9+].*tcp.*learn(table=46" BuiltIn.Should be true ${count_before_traffic} == 0 - OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[2] @{VM_IPS}[4] wget -qc http://@{EXTRA_NW_IP}[2]/ & + OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[2] ${VM_IPS}[4] wget -qc http://${EXTRA_NW_IP}[2]/ & OVSDB.Verify Dump Flows For Specific Table ${compute_ip} ${SNAT_PUNT_TABLE} True ${EMPTY} tp_dst=${TCP_PORT} actions=drop ${count_after_traffic} = OvsManager.Get Packet Count From Table ${compute_ip} ${INTEGRATION_BRIDGE} table=${SNAT_PUNT_TABLE} |grep "table=46.*n_packets=[\0-9+].*tcp.*learn(table=46" ${count_before_traffic} = BuiltIn.Evaluate ${count_before_traffic} + 1 BuiltIn.Should be true ${count_after_traffic} == ${count_before_traffic} OVSDB.Verify Dump Flows For Specific Table ${compute_ip} ${SNAT_PUNT_TABLE} True ${EMPTY} actions=set_field:${EXT_SUBNETS_FIXED_IP}->ip_src - ${controller_packet_count} = OvsManager.Get Packet Count From Table ${compute_ip} ${INTEGRATION_BRIDGE} table=${SNAT_PUNT_TABLE} |grep "table=46.*n_packets=[\0-9+].*tcp.*nw_src=@{VM_IPS}[4].*actions=set_field:${EXT_SUBNETS_FIXED_IP}.*goto_table:47" + ${controller_packet_count} = OvsManager.Get Packet Count From Table ${compute_ip} ${INTEGRATION_BRIDGE} table=${SNAT_PUNT_TABLE} |grep "table=46.*n_packets=[\0-9+].*tcp.*nw_src=${VM_IPS}[4].*actions=set_field:${EXT_SUBNETS_FIXED_IP}.*goto_table:47" BuiltIn.Should be true ${controller_packet_count} > 1 Verify learnt flow for ARP request in ARP tables @@ -162,13 +162,13 @@ Verify learnt flow for ARP request in ARP tables ... Send ARP request traffic using arping. ... Punt the first packet to controller and add new rule to stop pipeline processing. ... Check packet count before and after traffic for both(defualt and learnt tables). - OVSDB.Verify Dump Flows For Specific Table ${OS_CMP2_IP} ${ARP_PUNT_TABLE} @{VALID_TIMEOUTS}[0] - ${count_before_traffic} = OvsManager.Get Packet Count From Table ${OS_CMP2_IP} ${INTEGRATION_BRIDGE} table=${ARP_PUNT_TABLE} |grep "arp actions=CONTROLLER:65535,learn(table=${ARP_PUNT_TABLE},hard_timeout=@{VALID_TIMEOUTS}[0]" + OVSDB.Verify Dump Flows For Specific Table ${OS_CMP2_IP} ${ARP_PUNT_TABLE} ${VALID_TIMEOUTS}[0] + ${count_before_traffic} = OvsManager.Get Packet Count From Table ${OS_CMP2_IP} ${INTEGRATION_BRIDGE} table=${ARP_PUNT_TABLE} |grep "arp actions=CONTROLLER:65535,learn(table=${ARP_PUNT_TABLE},hard_timeout=${VALID_TIMEOUTS}[0]" ${count_before_traffic_arp} = OvsManager.Get Packet Count From Table ${OS_CMP2_IP} ${INTEGRATION_BRIDGE} table=${ELAN_BASETABLE} |grep "n_packets=[\0-9+].*reg4=${ARP_REG}.0xffff" - OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{VM_IPS}[3] sudo arping -c 5 -I eth0 22.1.1.101 + OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${VM_IPS}[3] sudo arping -c 5 -I eth0 22.1.1.101 OVSDB.Verify Dump Flows For Specific Table ${OS_CMP2_IP} ${ARP_PUNT_TABLE} True ${EMPTY} arp_tpa=22.1.1.101,arp_op=1 OVSDB.Verify Dump Flows For Specific Table ${OS_CMP2_IP} ${ARP_LEARN_TABLE} True ${EMPTY} arp_spa=22.1.1.101,arp_op=1 - ${count_after_traffic} = OvsManager.Get Packet Count From Table ${OS_CMP2_IP} ${INTEGRATION_BRIDGE} table=${ARP_PUNT_TABLE} |grep "arp actions=CONTROLLER:65535,learn(table=${ARP_PUNT_TABLE},hard_timeout=@{VALID_TIMEOUTS}[0]" + ${count_after_traffic} = OvsManager.Get Packet Count From Table ${OS_CMP2_IP} ${INTEGRATION_BRIDGE} table=${ARP_PUNT_TABLE} |grep "arp actions=CONTROLLER:65535,learn(table=${ARP_PUNT_TABLE},hard_timeout=${VALID_TIMEOUTS}[0]" BuiltIn.Should be true ${count_after_traffic} > ${count_before_traffic} ${learnt_packet_count} = OvsManager.Get Packet Count From Table ${OS_CMP2_IP} ${INTEGRATION_BRIDGE} table=${ARP_PUNT_TABLE} |grep "n_packets=[\0-9+].*arp_tpa=22.1.1.101,arp_op=1.*actions=load:0x1" BuiltIn.Should be true ${learnt_packet_count} > 0 @@ -180,13 +180,13 @@ Verify learnt flow for ARP reply in ARP tables ... Send ARP reply traffic using arping. ... Punt the first packet to controller and add new rule to stop pipeline processing. ... Check packet count before and after traffic for both(defualt and learnt tables). - OVSDB.Verify Dump Flows For Specific Table ${OS_CMP2_IP} ${ARP_PUNT_TABLE} @{VALID_TIMEOUTS}[0] - ${count_before_traffic} = OvsManager.Get Packet Count From Table ${OS_CMP2_IP} ${INTEGRATION_BRIDGE} table=${ARP_PUNT_TABLE} |grep "arp actions=CONTROLLER:65535,learn(table=${ARP_PUNT_TABLE},hard_timeout=@{VALID_TIMEOUTS}[0]" + OVSDB.Verify Dump Flows For Specific Table ${OS_CMP2_IP} ${ARP_PUNT_TABLE} ${VALID_TIMEOUTS}[0] + ${count_before_traffic} = OvsManager.Get Packet Count From Table ${OS_CMP2_IP} ${INTEGRATION_BRIDGE} table=${ARP_PUNT_TABLE} |grep "arp actions=CONTROLLER:65535,learn(table=${ARP_PUNT_TABLE},hard_timeout=${VALID_TIMEOUTS}[0]" ${count_before_traffic_arp} = OvsManager.Get Packet Count From Table ${OS_CMP2_IP} ${INTEGRATION_BRIDGE} table=${ELAN_BASETABLE} |grep "n_packets=[\0-9+].*reg4=${ARP_REG}.0xffff" - OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{VM_IPS}[1] sudo arping -A -c 5 -I eth0 -s @{VM_IPS}[1] 11.1.1.101 + OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${VM_IPS}[1] sudo arping -A -c 5 -I eth0 -s ${VM_IPS}[1] 11.1.1.101 OVSDB.Verify Dump Flows For Specific Table ${OS_CMP2_IP} ${ARP_PUNT_TABLE} True ${EMPTY} arp_tpa=11.1.1.101,arp_op=2 OVSDB.Verify Dump Flows For Specific Table ${OS_CMP2_IP} ${ARP_LEARN_TABLE} True ${EMPTY} arp_spa=11.1.1.101,arp_op=2 - ${count_after_traffic} = OvsManager.Get Packet Count From Table ${OS_CMP2_IP} ${INTEGRATION_BRIDGE} table=${ARP_PUNT_TABLE} |grep "arp actions=CONTROLLER:65535,learn(table=${ARP_PUNT_TABLE},hard_timeout=@{VALID_TIMEOUTS}[0]" + ${count_after_traffic} = OvsManager.Get Packet Count From Table ${OS_CMP2_IP} ${INTEGRATION_BRIDGE} table=${ARP_PUNT_TABLE} |grep "arp actions=CONTROLLER:65535,learn(table=${ARP_PUNT_TABLE},hard_timeout=${VALID_TIMEOUTS}[0]" BuiltIn.Should be true ${count_after_traffic} > ${count_before_traffic} ${learnt_packet_count} = OvsManager.Get Packet Count From Table ${OS_CMP2_IP} ${INTEGRATION_BRIDGE} table=${ARP_PUNT_TABLE} |grep "n_packets=[\0-9+].*arp_tpa=11.1.1.101,arp_op=2.*actions=load:0x1" BuiltIn.Should be true ${learnt_packet_count} > 0 @@ -198,15 +198,15 @@ Verify learnt flow for GARP (Gratuitous ARP) in ARP tables ... Send GARP traffic using arping. ... Punt the first packet to controller and add new rule to stop pipeline processing. ... Check packet count before and after traffic for both(defualt and learnt tables). - OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${ARP_PUNT_TABLE} @{VALID_TIMEOUTS}[0] - ${count_before_traffic} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${ARP_PUNT_TABLE} |grep "arp actions=CONTROLLER:65535,learn(table=${ARP_PUNT_TABLE},hard_timeout=@{VALID_TIMEOUTS}[0]" + OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${ARP_PUNT_TABLE} ${VALID_TIMEOUTS}[0] + ${count_before_traffic} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${ARP_PUNT_TABLE} |grep "arp actions=CONTROLLER:65535,learn(table=${ARP_PUNT_TABLE},hard_timeout=${VALID_TIMEOUTS}[0]" ${count_before_traffic_arp} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${ELAN_BASETABLE} |grep "n_packets=[\0-9+].*reg4=${GARP_REG}.0xffff" - OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{VM_IPS}[0] sudo arping -U -c 5 -I eth0 @{VM_IPS}[0] & - OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${ARP_PUNT_TABLE} True ${EMPTY} arp_tpa=@{VM_IPS}[0],arp_op=1 - OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${ARP_LEARN_TABLE} True ${EMPTY} arp_spa=@{VM_IPS}[0],arp_op=1 - ${count_after_traffic} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${ARP_PUNT_TABLE} |grep "arp actions=CONTROLLER:65535,learn(table=${ARP_PUNT_TABLE},hard_timeout=@{VALID_TIMEOUTS}[0]" + OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${VM_IPS}[0] sudo arping -U -c 5 -I eth0 ${VM_IPS}[0] & + OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${ARP_PUNT_TABLE} True ${EMPTY} arp_tpa=${VM_IPS}[0],arp_op=1 + OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${ARP_LEARN_TABLE} True ${EMPTY} arp_spa=${VM_IPS}[0],arp_op=1 + ${count_after_traffic} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${ARP_PUNT_TABLE} |grep "arp actions=CONTROLLER:65535,learn(table=${ARP_PUNT_TABLE},hard_timeout=${VALID_TIMEOUTS}[0]" BuiltIn.Should be true ${count_after_traffic} > ${count_before_traffic} - ${learnt_packet_count} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${ARP_PUNT_TABLE} |grep "arp_tpa=@{VM_IPS}[0],arp_op=1" + ${learnt_packet_count} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${ARP_PUNT_TABLE} |grep "arp_tpa=${VM_IPS}[0],arp_op=1" BuiltIn.Should be true ${learnt_packet_count} > 0 ${count_after_traffic_arp} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${ELAN_BASETABLE} |grep "n_packets=[\0-9+].*reg4=${GARP_REG}.0xffff" BuiltIn.Should be true ${count_after_traffic_arp} > ${count_before_traffic_arp} @@ -216,33 +216,33 @@ Verify resync subnet route, SNAT and ARP route flow tables after disconnect and ... Delete OVS manager and controller and verify learnt flows for subnet, SNAT and ARP. ... Set OVS manager and controoler again and verify learnt flows for subnet, SNAT and ARP. ... Verify subnet, SNAT and ARP default flows - ${snat_napt_switch_ip} = Get NAPT Switch IP From DPID @{ROUTERS}[1] + ${snat_napt_switch_ip} = Get NAPT Switch IP From DPID ${ROUTERS}[1] BuiltIn.Wait Until Keyword Succeeds 120s 20s OVSDB.Check OVS OpenFlow Connections ${OS_CMP1_IP} 2 - OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{VM_IPS}[0] sudo ping -c 5 @{EXTRA_NW_IP}[1] + OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${VM_IPS}[0] sudo ping -c 5 ${EXTRA_NW_IP}[1] OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${L3_PUNT_TABLE} True ${EMPTY} nw_dst=11.1.1.255 actions=drop - OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${L3_PUNT_TABLE} True ${EMPTY} nw_dst=@{EXTRA_NW_IP}[1] actions=drop - OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[2] @{VM_IPS}[4] traceroute @{EXTRA_NW_IP}[2] -w 1 -q 1 -m 4 + OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${L3_PUNT_TABLE} True ${EMPTY} nw_dst=${EXTRA_NW_IP}[1] actions=drop + OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[2] ${VM_IPS}[4] traceroute ${EXTRA_NW_IP}[2] -w 1 -q 1 -m 4 OVSDB.Verify Dump Flows For Specific Table ${snat_napt_switch_ip} ${SNAT_PUNT_TABLE} True ${EMPTY} tp_dst=${UDP_PORT} actions=drop - OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[2] @{VM_IPS}[4] wget -qc http://@{EXTRA_NW_IP}[2]/ & + OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[2] ${VM_IPS}[4] wget -qc http://${EXTRA_NW_IP}[2]/ & OVSDB.Verify Dump Flows For Specific Table ${snat_napt_switch_ip} ${SNAT_PUNT_TABLE} True ${EMPTY} tp_dst=${TCP_PORT} actions=drop - OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{VM_IPS}[0] sudo arping -c 2 @{VM_IPS}[1] - OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${ARP_PUNT_TABLE} True ${EMPTY} arp_tpa=@{VM_IPS}[1],arp_op=1 - OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${ARP_LEARN_TABLE} True ${EMPTY} arp_spa=@{VM_IPS}[1],arp_op=1 + OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${VM_IPS}[0] sudo arping -c 2 ${VM_IPS}[1] + OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${ARP_PUNT_TABLE} True ${EMPTY} arp_tpa=${VM_IPS}[1],arp_op=1 + OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${ARP_LEARN_TABLE} True ${EMPTY} arp_spa=${VM_IPS}[1],arp_op=1 OVSDB.Delete OVS Manager ${OS_CMP1_IP} OVSDB.Delete OVS Controller ${OS_CMP1_IP} OVSDB.Delete OVS Manager ${snat_napt_switch_ip} OVSDB.Delete OVS Controller ${snat_napt_switch_ip} OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${L3_PUNT_TABLE} False ${EMPTY} nw_dst=11.1.1.255 actions=drop - OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${L3_PUNT_TABLE} False ${EMPTY} nw_dst=@{EXTRA_NW_IP}[1] actions=drop + OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${L3_PUNT_TABLE} False ${EMPTY} nw_dst=${EXTRA_NW_IP}[1] actions=drop OVSDB.Verify Dump Flows For Specific Table ${snat_napt_switch_ip} ${SNAT_PUNT_TABLE} False ${EMPTY} nw_dst=11.1.1.255 actions=drop OVSDB.Verify Dump Flows For Specific Table ${snat_napt_switch_ip} ${SNAT_PUNT_TABLE} False ${EMPTY} tp_dst=${TCP_PORT} actions=drop - OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${ARP_PUNT_TABLE} False ${EMPTY} arp_tpa=@{VM_IPS}[1],arp_op=1 - OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${ARP_LEARN_TABLE} False ${EMPTY} arp_spa=@{VM_IPS}[1],arp_op=1 + OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${ARP_PUNT_TABLE} False ${EMPTY} arp_tpa=${VM_IPS}[1],arp_op=1 + OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${ARP_LEARN_TABLE} False ${EMPTY} arp_spa=${VM_IPS}[1],arp_op=1 OVSDB.Set Controller In OVS Bridge ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} tcp:${ODL_SYSTEM_IP}:6653 OVSDB.Set Controller In OVS Bridge ${snat_napt_switch_ip} ${INTEGRATION_BRIDGE} tcp:${ODL_SYSTEM_IP}:6653 OVSDB.Add Multiple Managers to OVS ${OS_CMP1_IP} OVSDB.Add Multiple Managers to OVS ${snat_napt_switch_ip} - ${snat_napt_switch_ip} = Get NAPT Switch IP From DPID @{ROUTERS}[1] + ${snat_napt_switch_ip} = Get NAPT Switch IP From DPID ${ROUTERS}[1] BuiltIn.Wait Until Keyword Succeeds 120s 20s OVSDB.Check OVS OpenFlow Connections ${OS_CMP1_IP} 2 BuiltIn.Wait Until Keyword Succeeds 120s 20s OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${L3_PUNT_TABLE} True ... ${EMPTY} nw_dst=11.1.1.255 actions=drop @@ -251,12 +251,12 @@ Verify resync subnet route, SNAT and ARP route flow tables after disconnect and BuiltIn.Wait Until Keyword Succeeds 190s 40s OVSDB.Verify Dump Flows For Specific Table ${snat_napt_switch_ip} ${SNAT_PUNT_TABLE} False ... ${EMPTY} tp_dst=${TCP_PORT} actions=drop BuiltIn.Wait Until Keyword Succeeds 120s 20s OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${ARP_PUNT_TABLE} False - ... ${EMPTY} arp_tpa=@{EXTRA_NW_IP}[1],arp_op=1 + ... ${EMPTY} arp_tpa=${EXTRA_NW_IP}[1],arp_op=1 BuiltIn.Wait Until Keyword Succeeds 120s 20s OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${ARP_LEARN_TABLE} False - ... ${EMPTY} arp_spa=@{EXTRA_NW_IP}[1],arp_op=1 - OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${L3_PUNT_TABLE} True ${EMPTY} learn(table=${L3_PUNT_TABLE},hard_timeout=@{VALID_TIMEOUTS}[0] - OVSDB.Verify Dump Flows For Specific Table ${snat_napt_switch_ip} ${SNAT_PUNT_TABLE} True ${EMPTY} learn(table=${SNAT_PUNT_TABLE},hard_timeout=@{VALID_TIMEOUTS}[0] - OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${ARP_PUNT_TABLE} True ${EMPTY} learn(table=${ARP_PUNT_TABLE},hard_timeout=@{VALID_TIMEOUTS}[0] + ... ${EMPTY} arp_spa=${EXTRA_NW_IP}[1],arp_op=1 + OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${L3_PUNT_TABLE} True ${EMPTY} learn(table=${L3_PUNT_TABLE},hard_timeout=${VALID_TIMEOUTS}[0] + OVSDB.Verify Dump Flows For Specific Table ${snat_napt_switch_ip} ${SNAT_PUNT_TABLE} True ${EMPTY} learn(table=${SNAT_PUNT_TABLE},hard_timeout=${VALID_TIMEOUTS}[0] + OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${ARP_PUNT_TABLE} True ${EMPTY} learn(table=${ARP_PUNT_TABLE},hard_timeout=${VALID_TIMEOUTS}[0] *** Keywords *** Suite Setup @@ -269,7 +269,7 @@ Suite Setup ${elements} = BuiltIn.Create List ${EXT_NETWORKS} ${count} = BuiltIn.Get length ${SUBNETS} FOR ${index} IN RANGE 0 ${count} - OpenStackOperations.Create SubNet @{NETWORKS}[${index}] @{SUBNETS}[${index}] @{SUBNETS_CIDR}[${index}] + OpenStackOperations.Create SubNet ${NETWORKS}[${index}] ${SUBNETS}[${index}] ${SUBNETS_CIDR}[${index}] END OpenStackOperations.Create SubNet ${EXT_NETWORKS} ${EXT_SUBNETS} ${EXT_SUBNETS_CIDR} additional_args=--no-dhcp FOR ${router} IN @{ROUTERS} @@ -279,21 +279,21 @@ Suite Setup END BuiltIn.Set Suite Variable @{ROUTERS_ID} FOR ${index} IN RANGE 0 2 - OpenStackOperations.Add Router Interface @{ROUTERS}[0] @{SUBNETS}[${index}] + OpenStackOperations.Add Router Interface ${ROUTERS}[0] ${SUBNETS}[${index}] END - OpenStackOperations.Add Router Interface @{ROUTERS}[1] @{SUBNETS}[2] + OpenStackOperations.Add Router Interface ${ROUTERS}[1] ${SUBNETS}[2] OpenStackOperations.Create And Configure Security Group ${SECURITY_GROUP} ${ext_net} = BuiltIn.Create List ${EXT_NETWORKS} ${NETWORKS_ALL} = Collections.Combine Lists ${NETWORKS} ${ext_net} FOR ${index} IN RANGE 0 3 - OpenStackOperations.Create Port @{NETWORKS_ALL}[${index}] @{PORT_LIST}[${index + ${index}}] sg=${SECURITY_GROUP} - OpenStackOperations.Create Port @{NETWORKS_ALL}[${index}] @{PORT_LIST}[${index + ${index + 1}}] sg=${SECURITY_GROUP} + OpenStackOperations.Create Port ${NETWORKS_ALL}[${index}] ${PORT_LIST}[${index + ${index}}] sg=${SECURITY_GROUP} + OpenStackOperations.Create Port ${NETWORKS_ALL}[${index}] ${PORT_LIST}[${index + ${index + 1}}] sg=${SECURITY_GROUP} END - OpenStackOperations.Create Port @{NETWORKS}[0] @{EXTRA_PORTS}[0] sg=${SECURITY_GROUP} additional_args=--allowed-address ip-address=0.0.0.0 --fixed-ip subnet=@{SUBNETS}[0],ip-address=@{EXTRA_NW_IP}[0] - OpenStackOperations.Create Port @{NETWORKS}[1] @{EXTRA_PORTS}[1] sg=${SECURITY_GROUP} additional_args=--allowed-address ip-address=0.0.0.0 --fixed-ip subnet=@{SUBNETS}[1],ip-address=@{EXTRA_NW_IP}[1] + OpenStackOperations.Create Port ${NETWORKS}[0] ${EXTRA_PORTS}[0] sg=${SECURITY_GROUP} additional_args=--allowed-address ip-address=0.0.0.0 --fixed-ip subnet=${SUBNETS}[0],ip-address=${EXTRA_NW_IP}[0] + OpenStackOperations.Create Port ${NETWORKS}[1] ${EXTRA_PORTS}[1] sg=${SECURITY_GROUP} additional_args=--allowed-address ip-address=0.0.0.0 --fixed-ip subnet=${SUBNETS}[1],ip-address=${EXTRA_NW_IP}[1] FOR ${index} IN RANGE 0 3 - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORT_LIST}[${index + ${index}}] @{VM_LIST}[${index + ${index}}] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORT_LIST}[${index + ${index + 1}}] @{VM_LIST}[${index + ${index + 1}}] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORT_LIST}[${index + ${index}}] ${VM_LIST}[${index + ${index}}] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORT_LIST}[${index + ${index + 1}}] ${VM_LIST}[${index + ${index + 1}}] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} END @{VM_IPS} ${dhcp_ip} = OpenStackOperations.Get VM IPs @{VM_LIST} BuiltIn.Set Suite Variable ${VM_IPS} @@ -301,12 +301,12 @@ Suite Setup BuiltIn.Should Not Contain ${VM_IPS} None BuiltIn.Should Not Contain ${dhcp_ip} None FOR ${index} IN RANGE 0 2 - VpnOperations.VPN Create L3VPN name=@{VPN_NAME}[${index}] vpnid=@{VPN_ID}[${index}] rd=@{L3VPN_RD_IRT_ERT}[${index}] exportrt=@{L3VPN_RD_IRT_ERT}[${index}] importrt=@{L3VPN_RD_IRT_ERT}[${index}] + VpnOperations.VPN Create L3VPN name=${VPN_NAME}[${index}] vpnid=${VPN_ID}[${index}] rd=${L3VPN_RD_IRT_ERT}[${index}] exportrt=${L3VPN_RD_IRT_ERT}[${index}] importrt=${L3VPN_RD_IRT_ERT}[${index}] END - VpnOperations.Associate VPN to Router routerid=@{ROUTERS_ID}[0] vpnid=@{VPN_ID}[0] + VpnOperations.Associate VPN to Router routerid=${ROUTERS_ID}[0] vpnid=${VPN_ID}[0] ${network_id} = OpenStackOperations.Get Net Id ${EXT_NETWORKS} - VpnOperations.Associate L3VPN To Network networkid=${network_id} vpnid=@{VPN_ID}[1] - OpenStackOperations.Add Router Gateway @{ROUTERS}[1] ${EXT_NETWORKS} additional_args=--fixed-ip subnet=${EXT_SUBNETS},ip-address=${EXT_SUBNETS_FIXED_IP} --enable-snat + VpnOperations.Associate L3VPN To Network networkid=${network_id} vpnid=${VPN_ID}[1] + OpenStackOperations.Add Router Gateway ${ROUTERS}[1] ${EXT_NETWORKS} additional_args=--fixed-ip subnet=${EXT_SUBNETS},ip-address=${EXT_SUBNETS_FIXED_IP} --enable-snat Create Dictionary For DPN ID And Compute IP Mapping For All DPNS OpenStackOperations.Get Suite Debugs @@ -314,8 +314,8 @@ Set Original TimeOut In Xml [Arguments] ${hard_timeout} [Documentation] Set default timeout in XML for all the punt files FOR ${index} IN RANGE 0 3 - Change Hard Timeout Value In XML File @{FILES_PATH}[${index}] ${hard_timeout} @{ORIGINAL_TIMEOUTS}[${index}] - Verify Punt Values In XML File @{FILES_PATH}[${index}] @{ORIGINAL_TIMEOUTS}[${index}] + Change Hard Timeout Value In XML File ${FILES_PATH}[${index}] ${hard_timeout} ${ORIGINAL_TIMEOUTS}[${index}] + Verify Punt Values In XML File ${FILES_PATH}[${index}] ${ORIGINAL_TIMEOUTS}[${index}] END ClusterManagement.Stop_Members_From_List_Or_All ClusterManagement.Start_Members_From_List_Or_All @@ -326,7 +326,7 @@ Verify Punt Values In XML File [Documentation] Verify the default value for SNAT, ARP in ELAN, Subnet Routing in the xml file in ODL Controller ${output} = Utils.Run Command On Remote System And Log ${ODL_SYSTEM_IP} cat ${file_path} | grep punt-timeout @{matches} = BuiltIn.Should Match Regexp ${output} punt.timeout.*?([0-9]+) - BuiltIn.Should be true @{matches}[1] == ${value} + BuiltIn.Should be true ${matches}[1] == ${value} Change Hard Timeout Value In XML File [Arguments] ${file_path} ${value_1} ${value_2} @@ -342,7 +342,7 @@ Create Dictionary For DPN ID And Compute IP Mapping For All DPNS ${DPN_TO_COMPUTE_IP} = BuiltIn.Create Dictionary ${count} = BuiltIn.Get length ${OS_ALL_IPS} FOR ${index} IN RANGE 0 ${count} - Collections.Set To Dictionary ${DPN_TO_COMPUTE_IP} @{DPN_IDS}[${index}] @{OS_ALL_IPS}[${index}] + Collections.Set To Dictionary ${DPN_TO_COMPUTE_IP} ${DPN_IDS}[${index}] ${OS_ALL_IPS}[${index}] END FOR ${dp_id} IN @{DPN_IDS} Collections.Dictionary Should Contain Key ${DPN_TO_COMPUTE_IP} ${dp_id} @@ -356,7 +356,7 @@ Get SNAT NAPT Switch DPID ${resp} RequestsLibrary.Get Request session ${CONFIG_API}/odl-nat:napt-switches/router-to-napt-switch/${router_id} Log ${resp.content} @{matches} = BuiltIn.Should Match Regexp ${resp.content} switch.id.*?([0-9]+) - ${dpnid} = BuiltIn.Convert To Integer @{matches}[1] + ${dpnid} = BuiltIn.Convert To Integer ${matches}[1] [Return] ${dpnid} Get NAPT Switch IP From DPID diff --git a/csit/suites/netvirt/snatdnat/snat_dnat.robot b/csit/suites/netvirt/snatdnat/snat_dnat.robot index a811190688..2378c6e80d 100644 --- a/csit/suites/netvirt/snatdnat/snat_dnat.robot +++ b/csit/suites/netvirt/snatdnat/snat_dnat.robot @@ -44,18 +44,18 @@ ${ExtIP} 100.100.100.24 *** Test Cases *** Verify Successful Creation Of External Network With Router External Set To TRUE [Documentation] Create external network,enable snat on router and validate the same. - OpenStackOperations.Add Router Gateway ${ROUTER} @{EXTERNAL_NETWORKS}[0] --enable-snat + OpenStackOperations.Add Router Gateway ${ROUTER} ${EXTERNAL_NETWORKS}[0] --enable-snat ${output} = OpenStackOperations.Show Router ${ROUTER} BuiltIn.Should Contain ${output} ${SNAT_ENABLED} - ${output} = OpenStackOperations.Show Network @{EXTERNAL_NETWORKS}[0] - BuiltIn.Should Contain ${output} @{EXTERNAL_NETWORKS}[0] + ${output} = OpenStackOperations.Show Network ${EXTERNAL_NETWORKS}[0] + BuiltIn.Should Contain ${output} ${EXTERNAL_NETWORKS}[0] Verify Successful Update Of Router With External_gateway_info, Disable SNAT And Enable SNAT [Documentation] Disable snat, enable snat and validate the same. - OpenStackOperations.Add Router Gateway ${ROUTER} @{EXTERNAL_NETWORKS}[0] --disable-snat + OpenStackOperations.Add Router Gateway ${ROUTER} ${EXTERNAL_NETWORKS}[0] --disable-snat ${output} = OpenStackOperations.Show Router ${ROUTER} BuiltIn.Should Contain ${output} ${SNAT_DISABLED} - OpenStackOperations.Add Router Gateway ${ROUTER} @{EXTERNAL_NETWORKS}[0] --enable-snat + OpenStackOperations.Add Router Gateway ${ROUTER} ${EXTERNAL_NETWORKS}[0] --enable-snat ${output} = OpenStackOperations.Show Router ${ROUTER} BuiltIn.Should Contain ${output} ${SNAT_ENABLED} @@ -69,15 +69,15 @@ Verify Floating Ip Provision And Reachability From External Network Via Neutron [Documentation] Check floating IP should be present in dump flows after creating the floating IP and associating it to external network ... which is associated to L3VPN VpnOperations.VPN Create L3VPN vpnid=${VPN_INSTANCE_ID} name=${VPN_NAME} rd=["${DCGW_RD}"] exportrt=["${DCGW_RD}"] importrt=["${DCGW_RD}"] - ${ext_net_id} = OpenStackOperations.Get Net Id @{EXTERNAL_NETWORKS}[0] + ${ext_net_id} = OpenStackOperations.Get Net Id ${EXTERNAL_NETWORKS}[0] VpnOperations.Associate L3VPN To Network networkid=${ext_net_id} vpnid=${VPN_INSTANCE_ID} - OpenStackOperations.Add Router Gateway ${ROUTER} @{EXTERNAL_NETWORKS}[0] --disable-snat + OpenStackOperations.Add Router Gateway ${ROUTER} ${EXTERNAL_NETWORKS}[0] --disable-snat ${output} = OpenStackOperations.Show Router ${ROUTER} BuiltIn.Should Contain ${output} ${SNAT_DISABLED} - ${subnetid} = OpenStackOperations.Get Subnet Id @{EXTERNAL_SUB_NETWORKS}[0] - OpenStackOperations.Add Router Gateway ${ROUTER} @{EXTERNAL_NETWORKS}[0] --fixed-ip subnet=${subnetid},ip-address=${ExtIP} - ${float} = OpenStackOperations.Create And Associate Floating IPs @{EXTERNAL_NETWORKS}[0] @{NET_1_VMS}[0] - ${float} = BuiltIn.Set Variable @{float}[0] + ${subnetid} = OpenStackOperations.Get Subnet Id ${EXTERNAL_SUB_NETWORKS}[0] + OpenStackOperations.Add Router Gateway ${ROUTER} ${EXTERNAL_NETWORKS}[0] --fixed-ip subnet=${subnetid},ip-address=${ExtIP} + ${float} = OpenStackOperations.Create And Associate Floating IPs ${EXTERNAL_NETWORKS}[0] ${NET_1_VMS}[0] + ${float} = BuiltIn.Set Variable ${float}[0] @{matching_paras} = BuiltIn.Create List nw_dst=${float} goto_table:${DNAT_TABLE} BuiltIn.Wait Until Keyword Succeeds 10s 5s OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${PDNAT_TABLE} True ... ${EMPTY} @{matching_paras} @@ -99,10 +99,10 @@ Verify Floating Ip De-provision And Reachability From External Network Via Neutr Verify Floating Ip Re-provision And Reachability From External Network Via Neutron Router Through L3vpn [Documentation] Check floating IP should be present in dump flows after creating the floating IP again wnd associating it to external network ... which is associated to L3VPN - ${subnetid} = OpenStackOperations.Get Subnet Id @{EXTERNAL_SUB_NETWORKS}[0] - OpenStackOperations.Add Router Gateway ${ROUTER} @{EXTERNAL_NETWORKS}[0] --fixed-ip subnet=${subnetid},ip-address=${ExtIP} - ${float} = OpenStackOperations.Create And Associate Floating IPs @{EXTERNAL_NETWORKS}[0] @{NET_1_VMS}[0] - ${float} = BuiltIn.Set Variable @{float}[0] + ${subnetid} = OpenStackOperations.Get Subnet Id ${EXTERNAL_SUB_NETWORKS}[0] + OpenStackOperations.Add Router Gateway ${ROUTER} ${EXTERNAL_NETWORKS}[0] --fixed-ip subnet=${subnetid},ip-address=${ExtIP} + ${float} = OpenStackOperations.Create And Associate Floating IPs ${EXTERNAL_NETWORKS}[0] ${NET_1_VMS}[0] + ${float} = BuiltIn.Set Variable ${float}[0] @{matching_paras} = BuiltIn.Create List nw_dst=${float} goto_table:${DNAT_TABLE} BuiltIn.Wait Until Keyword Succeeds 10s 5s OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${PDNAT_TABLE} True ... ${EMPTY} @{matching_paras} @@ -113,11 +113,11 @@ Verify Floating Ip Re-provision And Reachability From External Network Via Neutr Verify Multiple Floating Ip Creation and Association to external network [Documentation] Check Multiple floating IPs should be present in dump flows after creating multiple floating IPs and associating it to external network ... which is associated to L3VPN - ${subnetid} = OpenStackOperations.Get Subnet Id @{EXTERNAL_SUB_NETWORKS}[0] - OpenStackOperations.Add Router Gateway ${ROUTER} @{EXTERNAL_NETWORKS}[0] --fixed-ip subnet=${subnetid},ip-address=${ExtIP} - ${FloatIp1} = OpenStackOperations.Create And Associate Floating IPs @{EXTERNAL_NETWORKS}[0] @{NET_1_VMS}[1] - ${FloatIp2} = OpenStackOperations.Create And Associate Floating IPs @{EXTERNAL_NETWORKS}[0] @{NET_1_VMS}[2] - ${FloatIp3} = OpenStackOperations.Create And Associate Floating IPs @{EXTERNAL_NETWORKS}[0] @{NET_1_VMS}[3] + ${subnetid} = OpenStackOperations.Get Subnet Id ${EXTERNAL_SUB_NETWORKS}[0] + OpenStackOperations.Add Router Gateway ${ROUTER} ${EXTERNAL_NETWORKS}[0] --fixed-ip subnet=${subnetid},ip-address=${ExtIP} + ${FloatIp1} = OpenStackOperations.Create And Associate Floating IPs ${EXTERNAL_NETWORKS}[0] ${NET_1_VMS}[1] + ${FloatIp2} = OpenStackOperations.Create And Associate Floating IPs ${EXTERNAL_NETWORKS}[0] ${NET_1_VMS}[2] + ${FloatIp3} = OpenStackOperations.Create And Associate Floating IPs ${EXTERNAL_NETWORKS}[0] ${NET_1_VMS}[3] ${output} = OVSDB.Get Flow Entries On Node ${OS_CMP2_CONN_ID} BuiltIn.Should Match Regexp ${output} ${ExtIP} BuiltIn.Should Match Regexp ${output} .*${FloatIp1}.* @@ -137,46 +137,46 @@ Suite Setup Create Setup Create Neutron Networks Create Neutron Subnets - OpenStackOperations.Create SubNet @{EXTERNAL_NETWORKS}[0] @{EXTERNAL_SUB_NETWORKS}[0] @{EXT_SUBNET_CIDRS}[0] + OpenStackOperations.Create SubNet ${EXTERNAL_NETWORKS}[0] ${EXTERNAL_SUB_NETWORKS}[0] ${EXT_SUBNET_CIDRS}[0] OpenStackOperations.Create Allow All SecurityGroup ${SECURITY_GROUP} Create Neutron Ports Create Nova VMs BgpOperations.Setup BGP Peering On ODL ${ODL_SYSTEM_IP} ${AS_ID} ${DCGW_SYSTEM_IP} BgpOperations.Setup BGP Peering On DCGW ${DCGW_SYSTEM_IP} ${AS_ID} ${ODL_SYSTEM_IP} ${VPN_NAME} ${DCGW_RD} ${LOOPBACK_IP} OpenStackOperations.Create Router ${ROUTER} - OpenStackOperations.Add Router Interface ${ROUTER} @{SUBNETS}[0] - OpenStackOperations.Add Router Interface ${ROUTER} @{SUBNETS}[1] + OpenStackOperations.Add Router Interface ${ROUTER} ${SUBNETS}[0] + OpenStackOperations.Add Router Interface ${ROUTER} ${SUBNETS}[1] Create Neutron Networks [Documentation] Create required number of networks FOR ${NET} IN @{NETWORKS} OpenStackOperations.Create Network ${NET} END - OpenStackOperations.Create Network @{EXTERNAL_NETWORKS}[0] --external --provider-network-type ${NETWORK_TYPE} + OpenStackOperations.Create Network ${EXTERNAL_NETWORKS}[0] --external --provider-network-type ${NETWORK_TYPE} BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${NETWORK_URL} ${NETWORKS} Create Neutron Subnets [Documentation] Create required number of subnets for previously created networks ${num_of_networks} = BuiltIn.Get Length ${NETWORKS} FOR ${index} IN RANGE 0 ${num_of_networks} - OpenStackOperations.Create SubNet @{NETWORKS}[${index}] @{SUBNETS}[${index}] @{SUBNET_CIDRS}[${index}] + OpenStackOperations.Create SubNet ${NETWORKS}[${index}] ${SUBNETS}[${index}] ${SUBNET_CIDRS}[${index}] END BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${SUBNETWORK_URL} ${SUBNETS} Create Neutron Ports [Documentation] Create required number of ports under previously created subnets - OpenStackOperations.Create Port @{NETWORKS}[0] @{PORTS}[0] sg=${SECURITY_GROUP} - OpenStackOperations.Create Port @{NETWORKS}[0] @{PORTS}[1] sg=${SECURITY_GROUP} - OpenStackOperations.Create Port @{NETWORKS}[1] @{PORTS}[2] sg=${SECURITY_GROUP} - OpenStackOperations.Create Port @{NETWORKS}[1] @{PORTS}[3] sg=${SECURITY_GROUP} + OpenStackOperations.Create Port ${NETWORKS}[0] ${PORTS}[0] sg=${SECURITY_GROUP} + OpenStackOperations.Create Port ${NETWORKS}[0] ${PORTS}[1] sg=${SECURITY_GROUP} + OpenStackOperations.Create Port ${NETWORKS}[1] ${PORTS}[2] sg=${SECURITY_GROUP} + OpenStackOperations.Create Port ${NETWORKS}[1] ${PORTS}[3] sg=${SECURITY_GROUP} BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${CONFIG_API}/neutron:neutron/ports/ ${PORTS} Create Nova VMs [Documentation] Create Vm instances on compute nodes - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[0] @{NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[1] @{NET_1_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[2] @{NET_1_VMS}[2] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[3] @{NET_1_VMS}[3] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[0] ${NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[1] ${NET_1_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[2] ${NET_1_VMS}[2] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[3] ${NET_1_VMS}[3] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} @{NET_1_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS} BuiltIn.Set Suite Variable @{NET_1_VM_IPS} BuiltIn.Should Not Contain ${NET_1_VM_IPS} None diff --git a/csit/suites/netvirt/subnet_routing/subnet_routing_and_multicast.robot b/csit/suites/netvirt/subnet_routing/subnet_routing_and_multicast.robot index 7d3befff83..18e110636f 100644 --- a/csit/suites/netvirt/subnet_routing/subnet_routing_and_multicast.robot +++ b/csit/suites/netvirt/subnet_routing/subnet_routing_and_multicast.robot @@ -25,9 +25,9 @@ ${VPN_NAME} mc_vpn1 ${LOOPBACK_IP} 5.5.5.2 ${L3VPN_RD} 2200:2 ${DCGW_SYSTEM_IP} ${TOOLS_SYSTEM_1_IP} -${RPING_MIP_IP} sudo arping -I eth0:1 -c 5 -b -s @{EXTRA_NW_SUBNET}[0] @{EXTRA_NW_SUBNET}[0] -${RPING_MIP_IP1} sudo arping -I eth0:1 -c 5 -b -s @{EXTRA_NW_SUBNET}[1] @{EXTRA_NW_SUBNET}[1] -${RPING_MIP_IP2} sudo arping -I eth0:1 -c 5 -b -s @{EXTRA_NW_SUBNET}[2] @{EXTRA_NW_SUBNET}[2] +${RPING_MIP_IP} sudo arping -I eth0:1 -c 5 -b -s ${EXTRA_NW_SUBNET}[0] ${EXTRA_NW_SUBNET}[0] +${RPING_MIP_IP1} sudo arping -I eth0:1 -c 5 -b -s ${EXTRA_NW_SUBNET}[1] ${EXTRA_NW_SUBNET}[1] +${RPING_MIP_IP2} sudo arping -I eth0:1 -c 5 -b -s ${EXTRA_NW_SUBNET}[2] ${EXTRA_NW_SUBNET}[2] ${RPING_MIP_IP3} sudo arping -I eth0:1 -c 5 -b -s ${NEW_EXTRA_NW_SUBNET} ${NEW_EXTRA_NW_SUBNET} @{INTERFACE_STATE} up down @{NETWORKS} mc_net_1 mc_net_2 mc_net_3 @@ -46,13 +46,13 @@ ${MASK} 255.255.255.0 *** Test Cases *** Verify The Subnet Route When Neutron Port Hosting Subnet Route Is Down/up On Single VSwitch Topology [Documentation] Verify the subnet route when enterprise host is down and up. - BuiltIn.Wait Until Keyword Succeeds 30s 5s OpenStackOperations.Configure_IP_On_Sub_Interface @{NETWORKS}[0] @{EXTRA_NW_SUBNET}[0] @{NET_1_VM_IPS}[0] - ... ${MASK} @{INTERFACE_STATE}[1] - ${allowed_ip_list} = BuiltIn.Create List @{EXTRA_NW_SUBNET}[0] + BuiltIn.Wait Until Keyword Succeeds 30s 5s OpenStackOperations.Configure_IP_On_Sub_Interface ${NETWORKS}[0] ${EXTRA_NW_SUBNET}[0] ${NET_1_VM_IPS}[0] + ... ${MASK} ${INTERFACE_STATE}[1] + ${allowed_ip_list} = BuiltIn.Create List ${EXTRA_NW_SUBNET}[0] BuiltIn.Wait Until Keyword Succeeds 30s 10s Utils.Check For Elements At URI ${FIB_ENTRY_URL} ${allowed_ip_list} - BuiltIn.Wait Until Keyword Succeeds 30s 5s OpenStackOperations.Configure_IP_On_Sub_Interface @{NETWORKS}[0] @{EXTRA_NW_SUBNET}[0] @{NET_1_VM_IPS}[0] - ... ${MASK} @{INTERFACE_STATE}[0] - BuiltIn.Wait Until Keyword Succeeds 30s 5s OpenStackOperations.Verify_IP_Configured_On_Sub_Interface @{NETWORKS}[0] @{EXTRA_NW_SUBNET}[0] @{NET_1_VM_IPS}[0] + BuiltIn.Wait Until Keyword Succeeds 30s 5s OpenStackOperations.Configure_IP_On_Sub_Interface ${NETWORKS}[0] ${EXTRA_NW_SUBNET}[0] ${NET_1_VM_IPS}[0] + ... ${MASK} ${INTERFACE_STATE}[0] + BuiltIn.Wait Until Keyword Succeeds 30s 5s OpenStackOperations.Verify_IP_Configured_On_Sub_Interface ${NETWORKS}[0] ${EXTRA_NW_SUBNET}[0] ${NET_1_VM_IPS}[0] BuiltIn.Wait Until Keyword Succeeds 30s 10s Utils.Check For Elements At URI ${FIB_ENTRY_URL} ${allowed_ip_list} Verify Ping between Inter Intra And Enterprise host @@ -60,11 +60,11 @@ Verify Enterprise Hosts Reachability After VM Reboot [Documentation] Restart the VSwitch1 which is hosting the enterprise host and check the subnet route OpenStackOperations.Get ControlNode Connection @{NET_1_VM_IPS} ${NET1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS} - OpenStackOperations.Reboot Nova VM @{NET_1_VMS}[0] + OpenStackOperations.Reboot Nova VM ${NET_1_VMS}[0] @{NET_1_VM_IPS} ${NET1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS} - BuiltIn.Wait Until Keyword Succeeds 30s 5s OpenStackOperations.Configure_IP_On_Sub_Interface @{NETWORKS}[0] @{EXTRA_NW_SUBNET}[0] @{NET_1_VM_IPS}[0] - ... ${MASK} @{INTERFACE_STATE}[0] - BuiltIn.Wait Until Keyword Succeeds 30s 5s OpenStackOperations.Verify_IP_Configured_On_Sub_Interface @{NETWORKS}[0] @{EXTRA_NW_SUBNET}[0] @{NET_1_VM_IPS}[0] + BuiltIn.Wait Until Keyword Succeeds 30s 5s OpenStackOperations.Configure_IP_On_Sub_Interface ${NETWORKS}[0] ${EXTRA_NW_SUBNET}[0] ${NET_1_VM_IPS}[0] + ... ${MASK} ${INTERFACE_STATE}[0] + BuiltIn.Wait Until Keyword Succeeds 30s 5s OpenStackOperations.Verify_IP_Configured_On_Sub_Interface ${NETWORKS}[0] ${EXTRA_NW_SUBNET}[0] ${NET_1_VM_IPS}[0] Verify Ping between Inter Intra And Enterprise host Verify The Subnet Route For Multiple Subnets On Multi VSwitch Topology When DC-GW Is Restarted @@ -96,7 +96,7 @@ Verify The Subnet Route When Vswitch Hosting Subnet Enterprise Host Is Restarted Verify The Subnet Route For One Subnet On Single Vswitch [Documentation] Verify the subnet route for one subnet on a single VSwitch - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[2] @{NET_2_VM_IPS}[1] ping -c 3 @{EXTRA_NW_SUBNET}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[2] ${NET_2_VM_IPS}[1] ping -c 3 ${EXTRA_NW_SUBNET}[1] BuiltIn.Should Contain ${output} 64 bytes Utils.Check For Elements At URI ${FIB_ENTRY_URL} ${EXTRA_NW_SUBNET} Verify Ping between Inter Intra And Enterprise host @@ -104,12 +104,12 @@ Verify The Subnet Route For One Subnet On Single Vswitch Verify The Subnet Route For Multiple Subnets On Multi Vswitch Topology [Documentation] Configure one more IP on sub interface and verify the subnet route for multiple subnets on multi VSwitch topology BuiltIn.Log Bring up enterprise host in another vswitch - Configure_IP_On_Sub_Interface @{NETWORKS}[0] ${NEW_EXTRA_NW_SUBNET} @{NET_1_VM_IPS}[2] ${MASK} - Verify_IP_Configured_On_Sub_Interface @{NETWORKS}[0] ${NEW_EXTRA_NW_SUBNET} @{NET_1_VM_IPS}[2] - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[2] ${RPING_MIP_IP3} + Configure_IP_On_Sub_Interface ${NETWORKS}[0] ${NEW_EXTRA_NW_SUBNET} ${NET_1_VM_IPS}[2] ${MASK} + Verify_IP_Configured_On_Sub_Interface ${NETWORKS}[0] ${NEW_EXTRA_NW_SUBNET} ${NET_1_VM_IPS}[2] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[2] ${RPING_MIP_IP3} BuiltIn.Should Contain ${output} broadcast BuiltIn.Should Contain ${output} Received 0 reply - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[2] @{NET_1_VM_IPS}[2] ping -c 3 ${NEW_EXTRA_NW_SUBNET} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[2] ${NET_1_VM_IPS}[2] ping -c 3 ${NEW_EXTRA_NW_SUBNET} BuiltIn.Should Contain ${output} 64 bytes Verify Ping between Inter Intra And Enterprise host @@ -163,11 +163,11 @@ Create Setup Create BGP Config On ODL Create BGP Config On DCGW BuiltIn.Wait Until Keyword Succeeds 60s 10s VpnOperations.Verify Tunnel Status as UP - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${RPING_MIP_IP} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ${RPING_MIP_IP} BuiltIn.Should Contain ${output} broadcast Received 0 reply - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[0] ${RPING_MIP_IP1} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${NET_2_VM_IPS}[0] ${RPING_MIP_IP1} BuiltIn.Should Contain ${output} broadcast Received 0 reply - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[2] @{NET_3_VM_IPS}[0] ${RPING_MIP_IP2} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[2] ${NET_3_VM_IPS}[0] ${RPING_MIP_IP2} BuiltIn.Should Contain ${output} broadcast Received 0 reply Create Neutron Networks @@ -181,34 +181,34 @@ Create Neutron Subnets [Arguments] ${num_of_network} ${additional_args}=${EMPTY} ${verbose}=TRUE [Documentation] Create required number of subnets for previously created networks FOR ${index} IN RANGE 0 ${num_of_network} - OpenStackOperations.Create SubNet @{NETWORKS}[${index}] @{SUBNETS}[${index}] @{SUBNET_CIDR}[${index}] + OpenStackOperations.Create SubNet ${NETWORKS}[${index}] ${SUBNETS}[${index}] ${SUBNET_CIDR}[${index}] END BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${SUBNETWORK_URL} ${SUBNETS} Create Neutron Ports [Documentation] Create required number of ports under previously created subnets - ${allowed_address_pairs_args1} = BuiltIn.Set Variable --allowed-address ip-address=@{EXTRA_NW_SUBNET}[0] --allowed-address ip-address=@{EXTRA_NW_SUBNET}[1] - ${allowed_address_pairs_args2} = BuiltIn.Set Variable --allowed-address ip-address=@{EXTRA_NW_SUBNET}[1] --allowed-address ip-address=@{EXTRA_NW_SUBNET}[2] - ${allowed_address_pairs_args3} = BuiltIn.Set Variable --allowed-address ip-address=@{EXTRA_NW_SUBNET}[2] --allowed-address ip-address=@{EXTRA_NW_SUBNET}[0] + ${allowed_address_pairs_args1} = BuiltIn.Set Variable --allowed-address ip-address=${EXTRA_NW_SUBNET}[0] --allowed-address ip-address=${EXTRA_NW_SUBNET}[1] + ${allowed_address_pairs_args2} = BuiltIn.Set Variable --allowed-address ip-address=${EXTRA_NW_SUBNET}[1] --allowed-address ip-address=${EXTRA_NW_SUBNET}[2] + ${allowed_address_pairs_args3} = BuiltIn.Set Variable --allowed-address ip-address=${EXTRA_NW_SUBNET}[2] --allowed-address ip-address=${EXTRA_NW_SUBNET}[0] FOR ${index} IN RANGE 0 ${NUM_OF_PORTS_PER_NETWORK} - OpenStackOperations.Create Port @{NETWORKS}[0] @{NET_1_PORTS}[${index}] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args1} + OpenStackOperations.Create Port ${NETWORKS}[0] ${NET_1_PORTS}[${index}] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args1} END FOR ${index} IN RANGE 0 ${NUM_OF_PORTS_PER_NETWORK} - OpenStackOperations.Create Port @{NETWORKS}[1] @{NET_2_PORTS}[${index}] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args2} + OpenStackOperations.Create Port ${NETWORKS}[1] ${NET_2_PORTS}[${index}] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args2} END FOR ${index} IN RANGE 0 ${NUM_OF_PORTS_PER_NETWORK} - OpenStackOperations.Create Port @{NETWORKS}[2] @{NET_3_PORTS}[${index}] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args3} + OpenStackOperations.Create Port ${NETWORKS}[2] ${NET_3_PORTS}[${index}] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args3} END Create Nova VMs [Documentation] Create Vm instances on compute nodes FOR ${index} IN RANGE 0 2 - OpenStackOperations.Create Vm Instance With Port On Compute Node @{NET_1_PORTS}[${index}] @{NET_1_VMS}[${index}] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{NET_1_PORTS}[${index+2}] @{NET_1_VMS}[${index+2}] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{NET_2_PORTS}[${index}] @{NET_2_VMS}[${index}] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{NET_2_PORTS}[${index+2}] @{NET_2_VMS}[${index+2}] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{NET_3_PORTS}[${index}] @{NET_3_VMS}[${index}] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{NET_3_PORTS}[${index+2}] @{NET_3_VMS}[${index+2}] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${NET_1_PORTS}[${index}] ${NET_1_VMS}[${index}] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${NET_1_PORTS}[${index+2}] ${NET_1_VMS}[${index+2}] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${NET_2_PORTS}[${index}] ${NET_2_VMS}[${index}] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${NET_2_PORTS}[${index+2}] ${NET_2_VMS}[${index+2}] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${NET_3_PORTS}[${index}] ${NET_3_VMS}[${index}] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${NET_3_PORTS}[${index+2}] ${NET_3_VMS}[${index+2}] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} END @{NET_1_VM_IPS} ${NET1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS} @{NET_2_VM_IPS} ${NET2_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_2_VMS} @@ -223,19 +223,19 @@ Create Nova VMs Create Sub Interfaces And Verify [Documentation] Create Sub Interface and verify for all VMs - BuiltIn.Wait Until Keyword Succeeds 30s 5s OpenStackOperations.Configure_IP_On_Sub_Interface @{NETWORKS}[0] @{EXTRA_NW_SUBNET}[0] @{NET_1_VM_IPS}[0] - ... ${MASK} @{INTERFACE_STATE}[0] - BuiltIn.Wait Until Keyword Succeeds 30s 5s OpenStackOperations.Verify_IP_Configured_On_Sub_Interface @{NETWORKS}[0] @{EXTRA_NW_SUBNET}[0] @{NET_1_VM_IPS}[0] - BuiltIn.Wait Until Keyword Succeeds 30s 5s OpenStackOperations.Configure_IP_On_Sub_Interface @{NETWORKS}[1] @{EXTRA_NW_SUBNET}[1] @{NET_2_VM_IPS}[0] - ... ${MASK} @{INTERFACE_STATE}[0] - BuiltIn.Wait Until Keyword Succeeds 30s 5s OpenStackOperations.Verify_IP_Configured_On_Sub_Interface @{NETWORKS}[1] @{EXTRA_NW_SUBNET}[1] @{NET_2_VM_IPS}[0] - BuiltIn.Wait Until Keyword Succeeds 30s 5s OpenStackOperations.Configure_IP_On_Sub_Interface @{NETWORKS}[2] @{EXTRA_NW_SUBNET}[2] @{NET_3_VM_IPS}[0] - ... ${MASK} @{INTERFACE_STATE}[0] - BuiltIn.Wait Until Keyword Succeeds 30s 5s OpenStackOperations.Verify_IP_Configured_On_Sub_Interface @{NETWORKS}[2] @{EXTRA_NW_SUBNET}[2] @{NET_3_VM_IPS}[0] + BuiltIn.Wait Until Keyword Succeeds 30s 5s OpenStackOperations.Configure_IP_On_Sub_Interface ${NETWORKS}[0] ${EXTRA_NW_SUBNET}[0] ${NET_1_VM_IPS}[0] + ... ${MASK} ${INTERFACE_STATE}[0] + BuiltIn.Wait Until Keyword Succeeds 30s 5s OpenStackOperations.Verify_IP_Configured_On_Sub_Interface ${NETWORKS}[0] ${EXTRA_NW_SUBNET}[0] ${NET_1_VM_IPS}[0] + BuiltIn.Wait Until Keyword Succeeds 30s 5s OpenStackOperations.Configure_IP_On_Sub_Interface ${NETWORKS}[1] ${EXTRA_NW_SUBNET}[1] ${NET_2_VM_IPS}[0] + ... ${MASK} ${INTERFACE_STATE}[0] + BuiltIn.Wait Until Keyword Succeeds 30s 5s OpenStackOperations.Verify_IP_Configured_On_Sub_Interface ${NETWORKS}[1] ${EXTRA_NW_SUBNET}[1] ${NET_2_VM_IPS}[0] + BuiltIn.Wait Until Keyword Succeeds 30s 5s OpenStackOperations.Configure_IP_On_Sub_Interface ${NETWORKS}[2] ${EXTRA_NW_SUBNET}[2] ${NET_3_VM_IPS}[0] + ... ${MASK} ${INTERFACE_STATE}[0] + BuiltIn.Wait Until Keyword Succeeds 30s 5s OpenStackOperations.Verify_IP_Configured_On_Sub_Interface ${NETWORKS}[2] ${EXTRA_NW_SUBNET}[2] ${NET_3_VM_IPS}[0] Create L3VPN [Documentation] Create L3VPN and verify the same - ${net_id} = OpenStackOperations.Get Net Id @{NETWORKS}[0] + ${net_id} = OpenStackOperations.Get Net Id ${NETWORKS}[0] ${tenant_id} = OpenStackOperations.Get Tenant ID From Network ${net_id} VpnOperations.VPN Create L3VPN vpnid=${VPN_INSTANCE_ID} name=${VPN_NAME} rd=["${L3VPN_RD}"] exportrt=["${L3VPN_RD}"] importrt=["${L3VPN_RD}"] tenantid=${tenant_id} VpnOperations.Verify L3VPN On ODL ${VPN_INSTANCE_ID} @@ -259,7 +259,7 @@ Create BGP Config On DCGW Verify Ping between Inter Intra And Enterprise host [Documentation] Ping Enterprise Host for Intra, Inter from different and same network ${dst_ip_list} = BuiltIn.Create List @{NET_1_VM_IPS} @{NET_2_VM_IPS} @{EXTRA_NW_SUBNET} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${dst_ip_list} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[0] ${dst_ip_list} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[2] ${dst_ip_list} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[2] ${dst_ip_list} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ${dst_ip_list} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_VM_IPS}[0] ${dst_ip_list} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[2] ${dst_ip_list} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_VM_IPS}[2] ${dst_ip_list} diff --git a/csit/suites/netvirt/upgrade/upgrade.robot b/csit/suites/netvirt/upgrade/upgrade.robot index df375089fe..1cb3f3133d 100644 --- a/csit/suites/netvirt/upgrade/upgrade.robot +++ b/csit/suites/netvirt/upgrade/upgrade.robot @@ -108,15 +108,15 @@ Create Resources FOR ${net} IN @{NETWORKS} OpenStackOperations.Create Network ${net} END - OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS}[0] @{SUBNETS_RANGE}[0] - OpenStackOperations.Create SubNet @{NETWORKS}[1] @{SUBNETS}[1] @{SUBNETS_RANGE}[1] + OpenStackOperations.Create SubNet ${NETWORKS}[0] ${SUBNETS}[0] ${SUBNETS_RANGE}[0] + OpenStackOperations.Create SubNet ${NETWORKS}[1] ${SUBNETS}[1] ${SUBNETS_RANGE}[1] OpenStackOperations.Create Allow All SecurityGroup ${SECURITY_GROUP} OpenStackOperations.Create Nano Flavor FOR ${vm} IN @{NET_1_VMS} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[0] ${vm} ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[0] ${vm} ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} END FOR ${vm} IN @{NET_2_VMS} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[1] ${vm} ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[1] ${vm} ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} END OpenStackOperations.Create Router ${ROUTER} FOR ${interface} IN @{SUBNETS} @@ -133,12 +133,12 @@ Create Resources Check Resource Connectivity [Documentation] Ping 2 VMs in the same net and 1 from another net. - OpenStackOperations.Ping Vm From DHCP Namespace upgrade_net_1 @{NET1_VM_IPS}[0] - OpenStackOperations.Ping Vm From DHCP Namespace upgrade_net_1 @{NET1_VM_IPS}[1] - OpenStackOperations.Ping Vm From DHCP Namespace upgrade_net_1 @{NET2_VM_IPS}[0] - OpenStackOperations.Ping Vm From DHCP Namespace upgrade_net_2 @{NET2_VM_IPS}[0] - OpenStackOperations.Ping Vm From DHCP Namespace upgrade_net_2 @{NET2_VM_IPS}[1] - OpenStackOperations.Ping Vm From DHCP Namespace upgrade_net_2 @{NET1_VM_IPS}[0] + OpenStackOperations.Ping Vm From DHCP Namespace upgrade_net_1 ${NET1_VM_IPS}[0] + OpenStackOperations.Ping Vm From DHCP Namespace upgrade_net_1 ${NET1_VM_IPS}[1] + OpenStackOperations.Ping Vm From DHCP Namespace upgrade_net_1 ${NET2_VM_IPS}[0] + OpenStackOperations.Ping Vm From DHCP Namespace upgrade_net_2 ${NET2_VM_IPS}[0] + OpenStackOperations.Ping Vm From DHCP Namespace upgrade_net_2 ${NET2_VM_IPS}[1] + OpenStackOperations.Ping Vm From DHCP Namespace upgrade_net_2 ${NET1_VM_IPS}[0] Check OVS Nodes Have Egress Flows [Documentation] Loop over all openstack nodes to ensure they have the proper flows installed. diff --git a/csit/suites/netvirt/vnibasedIpv6forwarding/vnibasedIpv6forwarding.robot b/csit/suites/netvirt/vnibasedIpv6forwarding/vnibasedIpv6forwarding.robot index 079b98852b..208b5cd6ba 100644 --- a/csit/suites/netvirt/vnibasedIpv6forwarding/vnibasedIpv6forwarding.robot +++ b/csit/suites/netvirt/vnibasedIpv6forwarding/vnibasedIpv6forwarding.robot @@ -55,79 +55,79 @@ ${NET3_ADDITIONAL_ARGS} --ip-version=6 --ipv6-address-mode=slaac --ipv6-ra-mo VNI Based IPv6 Forwarding [Documentation] verify VNI id for IPv6 Unicast frames exchanged over OVS datapaths that are on different hypervisors BuiltIn.Pass Execution If "${OPENSTACK_TOPO}" == "1cmb-0ctl-0cmp" "Test is not supported for combo node" - BuiltIn.Wait Until Keyword Succeeds 60s 5s OVSDB.Verify Vni Segmentation Id and Tunnel Id @{VNI6_NET_0_PORTS}[0] @{VNI6_NET_1_PORTS}[0] @{VNI6_NETWORKS}[0] - ... @{VNI6_NETWORKS}[1] @{VM_IP_NET0}[0] @{VM_IP_NET1}[0] ${IP} + BuiltIn.Wait Until Keyword Succeeds 60s 5s OVSDB.Verify Vni Segmentation Id and Tunnel Id ${VNI6_NET_0_PORTS}[0] ${VNI6_NET_1_PORTS}[0] ${VNI6_NETWORKS}[0] + ... ${VNI6_NETWORKS}[1] ${VM_IP_NET0}[0] ${VM_IP_NET1}[0] ${IP} VNI Based IPv6 Forwarding With BGPVPN Router Association [Documentation] verify VNI id for IPv6 Unicast frames exchanged over OVS datapaths that are on different hypervisors ... With Router associated to a BGPVPN. BuiltIn.Pass Execution If "${OPENSTACK_TOPO}" == "1cmb-0ctl-0cmp" "Test is not supported for combo node" - ${net_id} = OpenStackOperations.Get Net Id @{VNI6_NETWORKS}[0] + ${net_id} = OpenStackOperations.Get Net Id ${VNI6_NETWORKS}[0] ${tenant_id} = OpenStackOperations.Get Tenant ID From Network ${net_id} - VpnOperations.VPN Create L3VPN vpnid=@{VNI6_VPN_INSTANCE_IDS}[0] name=@{VNI6_VPN_NAMES}[0] rd=@{VNI6_RDS}[0] exportrt=@{VNI6_RDS}[0] importrt=@{VNI6_RDS}[0] tenantid=${tenant_id} - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VNI6_VPN_INSTANCE_IDS}[0] - BuiltIn.Should Contain ${resp} @{VNI6_VPN_INSTANCE_IDS}[0] - ${router_id} = OpenStackOperations.Get Router Id @{VNI6_ROUTER}[0] - VpnOperations.Associate VPN to Router routerid=${router_id} vpnid=@{VNI6_VPN_INSTANCE_IDS}[0] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VNI6_VPN_INSTANCE_IDS}[0] + VpnOperations.VPN Create L3VPN vpnid=${VNI6_VPN_INSTANCE_IDS}[0] name=${VNI6_VPN_NAMES}[0] rd=${VNI6_RDS}[0] exportrt=${VNI6_RDS}[0] importrt=${VNI6_RDS}[0] tenantid=${tenant_id} + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VNI6_VPN_INSTANCE_IDS}[0] + BuiltIn.Should Contain ${resp} ${VNI6_VPN_INSTANCE_IDS}[0] + ${router_id} = OpenStackOperations.Get Router Id ${VNI6_ROUTER}[0] + VpnOperations.Associate VPN to Router routerid=${router_id} vpnid=${VNI6_VPN_INSTANCE_IDS}[0] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VNI6_VPN_INSTANCE_IDS}[0] BuiltIn.Should Contain ${resp} ${router_id} - BuiltIn.Wait Until Keyword Succeeds 60s 5s OVSDB.Verify Vni Segmentation Id and Tunnel Id @{VNI6_NET_0_PORTS}[0] @{VNI6_NET_1_PORTS}[0] @{VNI6_NETWORKS}[0] - ... @{VNI6_NETWORKS}[1] @{VM_IP_NET0}[0] @{VM_IP_NET1}[0] ${IP} + BuiltIn.Wait Until Keyword Succeeds 60s 5s OVSDB.Verify Vni Segmentation Id and Tunnel Id ${VNI6_NET_0_PORTS}[0] ${VNI6_NET_1_PORTS}[0] ${VNI6_NETWORKS}[0] + ... ${VNI6_NETWORKS}[1] ${VM_IP_NET0}[0] ${VM_IP_NET1}[0] ${IP} VNI Based IPv6 Forwarding With Two Routers And BGPVPN With Irt Ert [Documentation] verify VNI id for IPv6 Unicast frames exchanged over OVS datapaths that are on different hypervisors ... With Two Routers each associated to a BGPVPN and The Two BGPVPN is connected with irt and ert. BuiltIn.Pass Execution If "${OPENSTACK_TOPO}" == "1cmb-0ctl-0cmp" "Test is not supported for combo node" - OpenStackOperations.Create Network @{VNI6_NETWORKS}[2] - OpenStackOperations.Create Network @{VNI6_NETWORKS}[3] - OpenStackOperations.Create SubNet @{VNI6_NETWORKS}[2] @{VNI6_SUBNETS}[2] @{VNI6_SUBNET_CIDRS}[2] ${NET2_ADDITIONAL_ARGS} - OpenStackOperations.Create SubNet @{VNI6_NETWORKS}[3] @{VNI6_SUBNETS}[3] @{VNI6_SUBNET_CIDRS}[3] ${NET3_ADDITIONAL_ARGS} - OpenStackOperations.Create Port @{VNI6_NETWORKS}[2] @{VNI6_NET_2_PORTS}[0] sg=${VNI6_SECURITY_GROUP} - OpenStackOperations.Create Port @{VNI6_NETWORKS}[3] @{VNI6_NET_3_PORTS}[0] sg=${VNI6_SECURITY_GROUP} - OpenStackOperations.Create Router @{VNI6_ROUTER}[1] - OpenStackOperations.Add Router Interface @{VNI6_ROUTER}[1] @{VNI6_SUBNETS}[2] - OpenStackOperations.Create Router @{VNI6_ROUTER}[2] - OpenStackOperations.Add Router Interface @{VNI6_ROUTER}[2] @{VNI6_SUBNETS}[3] - ${net_id} = OpenStackOperations.Get Net Id @{VNI6_NETWORKS}[2] + OpenStackOperations.Create Network ${VNI6_NETWORKS}[2] + OpenStackOperations.Create Network ${VNI6_NETWORKS}[3] + OpenStackOperations.Create SubNet ${VNI6_NETWORKS}[2] ${VNI6_SUBNETS}[2] ${VNI6_SUBNET_CIDRS}[2] ${NET2_ADDITIONAL_ARGS} + OpenStackOperations.Create SubNet ${VNI6_NETWORKS}[3] ${VNI6_SUBNETS}[3] ${VNI6_SUBNET_CIDRS}[3] ${NET3_ADDITIONAL_ARGS} + OpenStackOperations.Create Port ${VNI6_NETWORKS}[2] ${VNI6_NET_2_PORTS}[0] sg=${VNI6_SECURITY_GROUP} + OpenStackOperations.Create Port ${VNI6_NETWORKS}[3] ${VNI6_NET_3_PORTS}[0] sg=${VNI6_SECURITY_GROUP} + OpenStackOperations.Create Router ${VNI6_ROUTER}[1] + OpenStackOperations.Add Router Interface ${VNI6_ROUTER}[1] ${VNI6_SUBNETS}[2] + OpenStackOperations.Create Router ${VNI6_ROUTER}[2] + OpenStackOperations.Add Router Interface ${VNI6_ROUTER}[2] ${VNI6_SUBNETS}[3] + ${net_id} = OpenStackOperations.Get Net Id ${VNI6_NETWORKS}[2] ${tenant_id} = OpenStackOperations.Get Tenant ID From Network ${net_id} - VpnOperations.VPN Create L3VPN vpnid=@{VNI6_VPN_INSTANCE_IDS}[1] name=@{VNI6_VPN_NAMES}[1] rd=@{VNI6_RDS}[1] exportrt=@{VNI6_RDS}[1] importrt=@{VNI6_RDS}[2] tenantid=${tenant_id} - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VNI6_VPN_INSTANCE_IDS}[1] - BuiltIn.Should Contain ${resp} @{VNI6_VPN_INSTANCE_IDS}[1] - ${router_id} = OpenStackOperations.Get Router Id @{VNI6_ROUTER}[1] - VpnOperations.Associate VPN to Router routerid=${router_id} vpnid=@{VNI6_VPN_INSTANCE_IDS}[1] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VNI6_VPN_INSTANCE_IDS}[1] + VpnOperations.VPN Create L3VPN vpnid=${VNI6_VPN_INSTANCE_IDS}[1] name=${VNI6_VPN_NAMES}[1] rd=${VNI6_RDS}[1] exportrt=${VNI6_RDS}[1] importrt=${VNI6_RDS}[2] tenantid=${tenant_id} + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VNI6_VPN_INSTANCE_IDS}[1] + BuiltIn.Should Contain ${resp} ${VNI6_VPN_INSTANCE_IDS}[1] + ${router_id} = OpenStackOperations.Get Router Id ${VNI6_ROUTER}[1] + VpnOperations.Associate VPN to Router routerid=${router_id} vpnid=${VNI6_VPN_INSTANCE_IDS}[1] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VNI6_VPN_INSTANCE_IDS}[1] BuiltIn.Should Contain ${resp} ${router_id} - VpnOperations.VPN Create L3VPN vpnid=@{VNI6_VPN_INSTANCE_IDS}[2] name=@{VNI6_VPN_NAMES}[2] rd=@{VNI6_RDS}[2] exportrt=@{VNI6_RDS}[2] importrt=@{VNI6_RDS}[1] tenantid=${tenant_id} - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VNI6_VPN_INSTANCE_IDS}[2] - BuiltIn.Should Contain ${resp} @{VNI6_VPN_INSTANCE_IDS}[2] - ${router_id} = OpenStackOperations.Get Router Id @{VNI6_ROUTER}[2] - VpnOperations.Associate VPN to Router routerid=${router_id} vpnid=@{VNI6_VPN_INSTANCE_IDS}[2] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VNI6_VPN_INSTANCE_IDS}[2] + VpnOperations.VPN Create L3VPN vpnid=${VNI6_VPN_INSTANCE_IDS}[2] name=${VNI6_VPN_NAMES}[2] rd=${VNI6_RDS}[2] exportrt=${VNI6_RDS}[2] importrt=${VNI6_RDS}[1] tenantid=${tenant_id} + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VNI6_VPN_INSTANCE_IDS}[2] + BuiltIn.Should Contain ${resp} ${VNI6_VPN_INSTANCE_IDS}[2] + ${router_id} = OpenStackOperations.Get Router Id ${VNI6_ROUTER}[2] + VpnOperations.Associate VPN to Router routerid=${router_id} vpnid=${VNI6_VPN_INSTANCE_IDS}[2] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VNI6_VPN_INSTANCE_IDS}[2] BuiltIn.Should Contain ${resp} ${router_id} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{VNI6_NET_2_PORTS}[0] @{VNI6_NET_2_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${VNI6_SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{VNI6_NET_3_PORTS}[0] @{VNI6_NET_3_VMS}[0] ${OS_CMP2_HOSTNAME} sg=${VNI6_SECURITY_GROUP} - OpenStackOperations.Poll VM Is ACTIVE @{VNI6_NET_2_VMS}[0] - OpenStackOperations.Poll VM Is ACTIVE @{VNI6_NET_3_VMS}[0] - @{networks} = BuiltIn.Create List @{VNI6_NETWORKS}[2] @{VNI6_NETWORKS}[3] - @{subnet_cidrs} = BuiltIn.Create List @{VNI6_SUBNET_CIDRS}[2] @{VNI6_SUBNET_CIDRS}[3] + OpenStackOperations.Create Vm Instance With Port On Compute Node ${VNI6_NET_2_PORTS}[0] ${VNI6_NET_2_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${VNI6_SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${VNI6_NET_3_PORTS}[0] ${VNI6_NET_3_VMS}[0] ${OS_CMP2_HOSTNAME} sg=${VNI6_SECURITY_GROUP} + OpenStackOperations.Poll VM Is ACTIVE ${VNI6_NET_2_VMS}[0] + OpenStackOperations.Poll VM Is ACTIVE ${VNI6_NET_3_VMS}[0] + ${networks} = BuiltIn.Create List ${VNI6_NETWORKS}[2] ${VNI6_NETWORKS}[3] + ${subnet_cidrs} = BuiltIn.Create List ${VNI6_SUBNET_CIDRS}[2] ${VNI6_SUBNET_CIDRS}[3] BuiltIn.Wait Until Keyword Succeeds 30s 10s OpenStackOperations.Wait For Routes To Propogate ${networks} ${subnet_cidrs} - ${prefix_net2} = String.Replace String @{VNI6_SUBNET_CIDRS}[2] ::/64 (:[a-f0-9]{,4}){,4} + ${prefix_net2} = String.Replace String ${VNI6_SUBNET_CIDRS}[2] ::/64 (:[a-f0-9]{,4}){,4} ${status} ${message} Run Keyword And Ignore Error BuiltIn.Wait Until Keyword Succeeds 3x 60s OpenStackOperations.Collect VM IPv6 SLAAC Addresses - ... fail_on_none=true vm_list=${VNI6_NET_2_VMS} network=@{VNI6_NETWORKS}[2] subnet=${prefix_net2} - ${prefix_net3} = String.Replace String @{VNI6_SUBNET_CIDRS}[3] ::/64 (:[a-f0-9]{,4}){,4} + ... fail_on_none=true vm_list=${VNI6_NET_2_VMS} network=${VNI6_NETWORKS}[2] subnet=${prefix_net2} + ${prefix_net3} = String.Replace String ${VNI6_SUBNET_CIDRS}[3] ::/64 (:[a-f0-9]{,4}){,4} ${status} ${message} Run Keyword And Ignore Error BuiltIn.Wait Until Keyword Succeeds 3x 60s OpenStackOperations.Collect VM IPv6 SLAAC Addresses - ... fail_on_none=true vm_list=${VNI6_NET_3_VMS} network=@{VNI6_NETWORKS}[3] subnet=${prefix_net3} - ${VM_IP_NET2} = OpenStackOperations.Collect VM IPv6 SLAAC Addresses fail_on_none=false vm_list=${VNI6_NET_2_VMS} network=@{VNI6_NETWORKS}[2] subnet=${prefix_net2} - ${VM_IP_NET3} = OpenStackOperations.Collect VM IPv6 SLAAC Addresses fail_on_none=false vm_list=${VNI6_NET_3_VMS} network=@{VNI6_NETWORKS}[3] subnet=${prefix_net3} + ... fail_on_none=true vm_list=${VNI6_NET_3_VMS} network=${VNI6_NETWORKS}[3] subnet=${prefix_net3} + ${VM_IP_NET2} = OpenStackOperations.Collect VM IPv6 SLAAC Addresses fail_on_none=false vm_list=${VNI6_NET_2_VMS} network=${VNI6_NETWORKS}[2] subnet=${prefix_net2} + ${VM_IP_NET3} = OpenStackOperations.Collect VM IPv6 SLAAC Addresses fail_on_none=false vm_list=${VNI6_NET_3_VMS} network=${VNI6_NETWORKS}[3] subnet=${prefix_net3} ${status} ${message} Run Keyword And Ignore Error BuiltIn.Should Not Contain ${VM_IP_NET2} None - Run Keyword If '${status}' == 'FAIL' OpenStack CLI openstack console log show @{VNI6_NET_2_VMS}[0] 30s + Run Keyword If '${status}' == 'FAIL' OpenStack CLI openstack console log show ${VNI6_NET_2_VMS}[0] 30s ${status} ${message} Run Keyword And Ignore Error BuiltIn.Should Not Contain ${VM_IP_NET3} None - Run Keyword If '${status}' == 'FAIL' OpenStack CLI openstack console log show @{VNI6_NET_3_VMS}[0] 30s + Run Keyword If '${status}' == 'FAIL' OpenStack CLI openstack console log show ${VNI6_NET_3_VMS}[0] 30s OpenStackOperations.Copy DHCP Files From Control Node BuiltIn.Should Not Contain ${VM_IP_NET2} None BuiltIn.Should Not Contain ${VM_IP_NET3} None - BuiltIn.Wait Until Keyword Succeeds 60s 5s OVSDB.Verify Vni Segmentation Id and Tunnel Id @{VNI6_NET_2_PORTS}[0] @{VNI6_NET_3_PORTS}[0] @{VNI6_NETWORKS}[2] - ... @{VNI6_NETWORKS}[3] @{VM_IP_NET2}[0] @{VM_IP_NET3}[0] ${IP} + BuiltIn.Wait Until Keyword Succeeds 60s 5s OVSDB.Verify Vni Segmentation Id and Tunnel Id ${VNI6_NET_2_PORTS}[0] ${VNI6_NET_3_PORTS}[0] ${VNI6_NETWORKS}[2] + ... ${VNI6_NETWORKS}[3] ${VM_IP_NET2}[0] ${VM_IP_NET3}[0] ${IP} *** Keywords *** Suite Setup @@ -136,39 +136,39 @@ Suite Setup BuiltIn.Return From Keyword If "${OPENSTACK_TOPO}" == "1cmb-0ctl-0cmp" VpnOperations.Basic Suite Setup OpenStackOperations.Create Allow All SecurityGroup ${VNI6_SECURITY_GROUP} IPv6 - OpenStackOperations.Create Network @{VNI6_NETWORKS}[0] - OpenStackOperations.Create Network @{VNI6_NETWORKS}[1] - OpenStackOperations.Create SubNet @{VNI6_NETWORKS}[0] @{VNI6_SUBNETS}[0] @{VNI6_SUBNET_CIDRS}[0] ${NET0_ADDITIONAL_ARGS} - OpenStackOperations.Create SubNet @{VNI6_NETWORKS}[1] @{VNI6_SUBNETS}[1] @{VNI6_SUBNET_CIDRS}[1] ${NET1_ADDITIONAL_ARGS} - OpenStackOperations.Create Port @{VNI6_NETWORKS}[0] @{VNI6_NET_0_PORTS}[0] sg=${VNI6_SECURITY_GROUP} - OpenStackOperations.Create Port @{VNI6_NETWORKS}[1] @{VNI6_NET_1_PORTS}[0] sg=${VNI6_SECURITY_GROUP} - OpenStackOperations.Create Router @{VNI6_ROUTER}[0] - OpenStackOperations.Add Router Interface @{VNI6_ROUTER}[0] @{VNI6_SUBNETS}[0] - OpenStackOperations.Add Router Interface @{VNI6_ROUTER}[0] @{VNI6_SUBNETS}[1] - ${interface_output} = OpenStackOperations.Show Router Interface @{VNI6_ROUTER}[0] - ${GWMAC_ADDRS} ${GWIP_ADDRS} = VpnOperations.Get Gateway MAC And IP Address @{VNI6_ROUTER}[0] + OpenStackOperations.Create Network ${VNI6_NETWORKS}[0] + OpenStackOperations.Create Network ${VNI6_NETWORKS}[1] + OpenStackOperations.Create SubNet ${VNI6_NETWORKS}[0] ${VNI6_SUBNETS}[0] ${VNI6_SUBNET_CIDRS}[0] ${NET0_ADDITIONAL_ARGS} + OpenStackOperations.Create SubNet ${VNI6_NETWORKS}[1] ${VNI6_SUBNETS}[1] ${VNI6_SUBNET_CIDRS}[1] ${NET1_ADDITIONAL_ARGS} + OpenStackOperations.Create Port ${VNI6_NETWORKS}[0] ${VNI6_NET_0_PORTS}[0] sg=${VNI6_SECURITY_GROUP} + OpenStackOperations.Create Port ${VNI6_NETWORKS}[1] ${VNI6_NET_1_PORTS}[0] sg=${VNI6_SECURITY_GROUP} + OpenStackOperations.Create Router ${VNI6_ROUTER}[0] + OpenStackOperations.Add Router Interface ${VNI6_ROUTER}[0] ${VNI6_SUBNETS}[0] + OpenStackOperations.Add Router Interface ${VNI6_ROUTER}[0] ${VNI6_SUBNETS}[1] + ${interface_output} = OpenStackOperations.Show Router Interface ${VNI6_ROUTER}[0] + ${GWMAC_ADDRS} ${GWIP_ADDRS} = VpnOperations.Get Gateway MAC And IP Address ${VNI6_ROUTER}[0] BuiltIn.Set Suite Variable ${GWMAC_ADDRS} BuiltIn.Set Suite Variable ${GWIP_ADDRS} - ${router_list} = BuiltIn.Create List @{VNI6_ROUTER}[0] - OpenStackOperations.Create Vm Instance With Port On Compute Node @{VNI6_NET_0_PORTS}[0] @{VNI6_NET_0_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${VNI6_SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{VNI6_NET_1_PORTS}[0] @{VNI6_NET_1_VMS}[0] ${OS_CMP2_HOSTNAME} sg=${VNI6_SECURITY_GROUP} - OpenStackOperations.Poll VM Is ACTIVE @{VNI6_NET_0_VMS}[0] - OpenStackOperations.Poll VM Is ACTIVE @{VNI6_NET_1_VMS}[0] - @{networks} = BuiltIn.Create List @{VNI6_NETWORKS}[0] @{VNI6_NETWORKS}[1] - @{subnet_cidrs} = BuiltIn.Create List @{VNI6_SUBNET_CIDRS}[0] @{VNI6_SUBNET_CIDRS}[1] + ${router_list} = BuiltIn.Create List ${VNI6_ROUTER}[0] + OpenStackOperations.Create Vm Instance With Port On Compute Node ${VNI6_NET_0_PORTS}[0] ${VNI6_NET_0_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${VNI6_SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${VNI6_NET_1_PORTS}[0] ${VNI6_NET_1_VMS}[0] ${OS_CMP2_HOSTNAME} sg=${VNI6_SECURITY_GROUP} + OpenStackOperations.Poll VM Is ACTIVE ${VNI6_NET_0_VMS}[0] + OpenStackOperations.Poll VM Is ACTIVE ${VNI6_NET_1_VMS}[0] + ${networks} = BuiltIn.Create List ${VNI6_NETWORKS}[0] ${VNI6_NETWORKS}[1] + ${subnet_cidrs} = BuiltIn.Create List ${VNI6_SUBNET_CIDRS}[0] ${VNI6_SUBNET_CIDRS}[1] BuiltIn.Wait Until Keyword Succeeds 30s 10s OpenStackOperations.Wait For Routes To Propogate ${networks} ${subnet_cidrs} - ${prefix_net0} = Replace String @{VNI6_SUBNET_CIDRS}[0] ::/64 (:[a-f0-9]{,4}){,4} + ${prefix_net0} = Replace String ${VNI6_SUBNET_CIDRS}[0] ::/64 (:[a-f0-9]{,4}){,4} ${status} ${message} Run Keyword And Ignore Error BuiltIn.Wait Until Keyword Succeeds 3x 60s OpenStackOperations.Collect VM IPv6 SLAAC Addresses - ... fail_on_none=true vm_list=${VNI6_NET_0_VMS} network=@{VNI6_NETWORKS}[0] subnet=${prefix_net0} - ${prefix_net1} = Replace String @{VNI6_SUBNET_CIDRS}[1] ::/64 (:[a-f0-9]{,4}){,4} + ... fail_on_none=true vm_list=${VNI6_NET_0_VMS} network=${VNI6_NETWORKS}[0] subnet=${prefix_net0} + ${prefix_net1} = Replace String ${VNI6_SUBNET_CIDRS}[1] ::/64 (:[a-f0-9]{,4}){,4} ${status} ${message} Run Keyword And Ignore Error BuiltIn.Wait Until Keyword Succeeds 3x 60s OpenStackOperations.Collect VM IPv6 SLAAC Addresses - ... fail_on_none=true vm_list=${VNI6_NET_1_VMS} network=@{VNI6_NETWORKS}[1] subnet=${prefix_net1} - ${VM_IP_NET0} = OpenStackOperations.Collect VM IPv6 SLAAC Addresses fail_on_none=false vm_list=${VNI6_NET_0_VMS} network=@{VNI6_NETWORKS}[0] subnet=${prefix_net0} - ${VM_IP_NET1} = OpenStackOperations.Collect VM IPv6 SLAAC Addresses fail_on_none=false vm_list=${VNI6_NET_1_VMS} network=@{VNI6_NETWORKS}[1] subnet=${prefix_net1} + ... fail_on_none=true vm_list=${VNI6_NET_1_VMS} network=${VNI6_NETWORKS}[1] subnet=${prefix_net1} + ${VM_IP_NET0} = OpenStackOperations.Collect VM IPv6 SLAAC Addresses fail_on_none=false vm_list=${VNI6_NET_0_VMS} network=${VNI6_NETWORKS}[0] subnet=${prefix_net0} + ${VM_IP_NET1} = OpenStackOperations.Collect VM IPv6 SLAAC Addresses fail_on_none=false vm_list=${VNI6_NET_1_VMS} network=${VNI6_NETWORKS}[1] subnet=${prefix_net1} ${status} ${message} Run Keyword And Ignore Error BuiltIn.Should Not Contain ${VM_IP_NET0} None - Run Keyword If '${status}' == 'FAIL' OpenStack CLI openstack console log show @{VNI6_NET_0_VMS}[0] 30s + Run Keyword If '${status}' == 'FAIL' OpenStack CLI openstack console log show ${VNI6_NET_0_VMS}[0] 30s ${status} ${message} Run Keyword And Ignore Error BuiltIn.Should Not Contain ${VM_IP_NET1} None - Run Keyword If '${status}' == 'FAIL' OpenStack CLI openstack console log show @{VNI6_NET_1_VMS}[0] 30s + Run Keyword If '${status}' == 'FAIL' OpenStack CLI openstack console log show ${VNI6_NET_1_VMS}[0] 30s OpenStackOperations.Copy DHCP Files From Control Node BuiltIn.Set Suite Variable ${VM_IP_NET0} BuiltIn.Set Suite Variable ${VM_IP_NET1} diff --git a/csit/suites/netvirt/vnibasedl2switching/vnibasedl2switching.robot b/csit/suites/netvirt/vnibasedl2switching/vnibasedl2switching.robot index e00a35b499..0e9edd8529 100644 --- a/csit/suites/netvirt/vnibasedl2switching/vnibasedl2switching.robot +++ b/csit/suites/netvirt/vnibasedl2switching/vnibasedl2switching.robot @@ -38,10 +38,10 @@ ${VNI_SECURITY_GROUP} vni_l2_sg VNI Based L2 Switching [Documentation] verify VNI id for L2 Unicast frames exchanged over OVS datapaths that are on different hypervisors BuiltIn.Pass Execution If "${OPENSTACK_TOPO}" == "1cmb-0ctl-0cmp" "Test is not supported for combo node" - ${port_mac1} = OpenStackOperations.Get Port Mac @{VNI_NET_1_PORTS}[0] - ${port_mac2} = OpenStackOperations.Get Port Mac @{VNI_NET_1_PORTS}[1] - ${segmentation_id} = OpenStackOperations.Get Network Segmentation Id @{VNI_NETWORKS}[0] - ${output} = OpenStackOperations.Execute Command on VM Instance @{VNI_NETWORKS}[0] @{VNI_NET_1_VM_IPS}[0] ping -c ${DEFAULT_PING_COUNT} @{VNI_NET_1_VM_IPS}[1] + ${port_mac1} = OpenStackOperations.Get Port Mac ${VNI_NET_1_PORTS}[0] + ${port_mac2} = OpenStackOperations.Get Port Mac ${VNI_NET_1_PORTS}[1] + ${segmentation_id} = OpenStackOperations.Get Network Segmentation Id ${VNI_NETWORKS}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${VNI_NETWORKS}[0] ${VNI_NET_1_VM_IPS}[0] ping -c ${DEFAULT_PING_COUNT} ${VNI_NET_1_VM_IPS}[1] ${egress_tun_id} ${before_count_egress_port1} = OVSDB.Get Tunnel Id And Packet Count ${OS_CMP1_CONN_ID} ${ELAN_DMACTABLE} tun_id=${segmentation_id} mac=${port_mac2} BuiltIn.Should Be Equal As Numbers ${segmentation_id} ${egress_tun_id} ${egress_tun_id} ${before_count_egress_port2} = OVSDB.Get Tunnel Id And Packet Count ${OS_CMP2_CONN_ID} ${ELAN_DMACTABLE} tun_id=${segmentation_id} mac=${port_mac1} @@ -50,7 +50,7 @@ VNI Based L2 Switching BuiltIn.Should Be Equal As Numbers ${segmentation_id} ${ingress_tun_id} ${ingress_tun_id} ${before_count_ingress_port2} = OVSDB.Get Tunnel Id And Packet Count ${OS_CMP2_CONN_ID} ${INTERNAL_TUNNEL_TABLE} tun_id=${segmentation_id} mac="" BuiltIn.Should Be Equal As Numbers ${segmentation_id} ${ingress_tun_id} - ${output} = OpenStackOperations.Execute Command on VM Instance @{VNI_NETWORKS}[0] @{VNI_NET_1_VM_IPS}[0] ping -c ${DEFAULT_PING_COUNT} @{VNI_NET_1_VM_IPS}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${VNI_NETWORKS}[0] ${VNI_NET_1_VM_IPS}[0] ping -c ${DEFAULT_PING_COUNT} ${VNI_NET_1_VM_IPS}[1] BuiltIn.Should Contain ${output} 64 bytes ${tun_id} ${after_count_egress_port1} = OVSDB.Get Tunnel Id And Packet Count ${OS_CMP1_CONN_ID} ${ELAN_DMACTABLE} tun_id=${segmentation_id} mac=${port_mac2} ${tun_id} ${after_count_ingress_port1} = OVSDB.Get Tunnel Id And Packet Count ${OS_CMP1_CONN_ID} ${INTERNAL_TUNNEL_TABLE} tun_id=${segmentation_id} mac="" @@ -71,13 +71,13 @@ Suite Setup BuiltIn.Return From Keyword If "${OPENSTACK_TOPO}" == "1cmb-0ctl-0cmp" VpnOperations.Basic Suite Setup OpenStackOperations.Create Allow All SecurityGroup ${VNI_SECURITY_GROUP} - OpenStackOperations.Create Network @{VNI_NETWORKS}[0] - OpenStackOperations.Create SubNet @{VNI_NETWORKS}[0] @{VNI_SUBNETS}[0] @{VNI_SUBNET_CIDRS}[0] - OpenStackOperations.Create Port @{VNI_NETWORKS}[0] @{VNI_NET_1_PORTS}[0] sg=${VNI_SECURITY_GROUP} - OpenStackOperations.Create Port @{VNI_NETWORKS}[0] @{VNI_NET_1_PORTS}[1] sg=${VNI_SECURITY_GROUP} + OpenStackOperations.Create Network ${VNI_NETWORKS}[0] + OpenStackOperations.Create SubNet ${VNI_NETWORKS}[0] ${VNI_SUBNETS}[0] ${VNI_SUBNET_CIDRS}[0] + OpenStackOperations.Create Port ${VNI_NETWORKS}[0] ${VNI_NET_1_PORTS}[0] sg=${VNI_SECURITY_GROUP} + OpenStackOperations.Create Port ${VNI_NETWORKS}[0] ${VNI_NET_1_PORTS}[1] sg=${VNI_SECURITY_GROUP} BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${PORT_URL} ${VNI_NET_1_PORTS} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{VNI_NET_1_PORTS}[0] @{VNI_NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${VNI_SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{VNI_NET_1_PORTS}[1] @{VNI_NET_1_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${VNI_SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${VNI_NET_1_PORTS}[0] ${VNI_NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${VNI_SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${VNI_NET_1_PORTS}[1] ${VNI_NET_1_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${VNI_SECURITY_GROUP} @{VNI_NET_1_VM_IPS} ${vni_net_1_dhcp_ip} = OpenStackOperations.Get VM IPs @{VNI_NET_1_VMS} BuiltIn.Set Suite Variable @{VNI_NET_1_VM_IPS} BuiltIn.Should Not Contain ${VNI_NET_1_VM_IPS} None diff --git a/csit/suites/netvirt/vnibasedl3forwarding/vnibasedl3forwarding.robot b/csit/suites/netvirt/vnibasedl3forwarding/vnibasedl3forwarding.robot index 4e4da8df04..8b938f978d 100644 --- a/csit/suites/netvirt/vnibasedl3forwarding/vnibasedl3forwarding.robot +++ b/csit/suites/netvirt/vnibasedl3forwarding/vnibasedl3forwarding.robot @@ -56,51 +56,51 @@ ${VNI_SECURITY_GROUP} vni_sg VNI Based L3 Forwarding [Documentation] verify VNI id for L3 Unicast frames exchanged over OVS datapaths that are on different hypervisors BuiltIn.Pass Execution If "${OPENSTACK_TOPO}" == "1cmb-0ctl-0cmp" "Test is not supported for combo node" - Wait Until Keyword Succeeds 60s 5s OVSDB.Verify Vni Segmentation Id and Tunnel Id @{VNI_NET_0_PORTS}[0] @{VNI_NET_1_PORTS}[0] @{VNI_NETWORKS}[0] - ... @{VNI_NETWORKS}[1] @{NET_0_VM_IPS}[0] @{NET_1_VM_IPS}[0] ${IP} + Wait Until Keyword Succeeds 60s 5s OVSDB.Verify Vni Segmentation Id and Tunnel Id ${VNI_NET_0_PORTS}[0] ${VNI_NET_1_PORTS}[0] ${VNI_NETWORKS}[0] + ... ${VNI_NETWORKS}[1] ${NET_0_VM_IPS}[0] ${NET_1_VM_IPS}[0] ${IP} VNI Based L3 Forwarding With BGPVPN Router Association [Documentation] verify VNI id for L3 Unicast frames exchanged over OVS datapaths that are on different hypervisors ... With Router associated to a BGPVPN. BuiltIn.Pass Execution If "${OPENSTACK_TOPO}" == "1cmb-0ctl-0cmp" "Test is not supported for combo node" - ${net_id} = OpenStackOperations.Get Net Id @{VNI_NETWORKS}[0] + ${net_id} = OpenStackOperations.Get Net Id ${VNI_NETWORKS}[0] ${tenant_id} = OpenStackOperations.Get Tenant ID From Network ${net_id} - VpnOperations.VPN Create L3VPN vpnid=@{VNI_VPN_INSTANCE_IDS}[0] name=@{VNI_VPN_NAMES}[0] rd=@{VNI_RDS}[0] exportrt=@{VNI_RDS}[0] importrt=@{VNI_RDS}[0] tenantid=${tenant_id} - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VNI_VPN_INSTANCE_IDS}[0] - BuiltIn.Should Contain ${resp} @{VNI_VPN_INSTANCE_IDS}[0] - ${router_id} = OpenStackOperations.Get Router Id @{VNI_ROUTER}[0] - VpnOperations.Associate VPN to Router routerid=${router_id} vpnid=@{VNI_VPN_INSTANCE_IDS}[0] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VNI_VPN_INSTANCE_IDS}[0] + VpnOperations.VPN Create L3VPN vpnid=${VNI_VPN_INSTANCE_IDS}[0] name=${VNI_VPN_NAMES}[0] rd=${VNI_RDS}[0] exportrt=${VNI_RDS}[0] importrt=${VNI_RDS}[0] tenantid=${tenant_id} + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VNI_VPN_INSTANCE_IDS}[0] + BuiltIn.Should Contain ${resp} ${VNI_VPN_INSTANCE_IDS}[0] + ${router_id} = OpenStackOperations.Get Router Id ${VNI_ROUTER}[0] + VpnOperations.Associate VPN to Router routerid=${router_id} vpnid=${VNI_VPN_INSTANCE_IDS}[0] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VNI_VPN_INSTANCE_IDS}[0] BuiltIn.Should Contain ${resp} ${router_id} - BuiltIn.Wait Until Keyword Succeeds 60s 5s OVSDB.Verify Vni Segmentation Id and Tunnel Id @{VNI_NET_0_PORTS}[0] @{VNI_NET_1_PORTS}[0] @{VNI_NETWORKS}[0] - ... @{VNI_NETWORKS}[1] @{NET_0_VM_IPS}[0] @{NET_1_VM_IPS}[0] ${IP} + BuiltIn.Wait Until Keyword Succeeds 60s 5s OVSDB.Verify Vni Segmentation Id and Tunnel Id ${VNI_NET_0_PORTS}[0] ${VNI_NET_1_PORTS}[0] ${VNI_NETWORKS}[0] + ... ${VNI_NETWORKS}[1] ${NET_0_VM_IPS}[0] ${NET_1_VM_IPS}[0] ${IP} VNI Based L3 Forwarding With BGPVPN Network Association [Documentation] verify VNI id for L3 Unicast frames exchanged over OVS datapaths that are on different hypervisors ... With Networks associated to a BGPVPN. BuiltIn.Pass Execution If "${OPENSTACK_TOPO}" == "1cmb-0ctl-0cmp" "Test is not supported for combo node" - OpenStackOperations.Create Network @{VNI_NETWORKS}[2] - OpenStackOperations.Create Network @{VNI_NETWORKS}[3] - OpenStackOperations.Create SubNet @{VNI_NETWORKS}[2] @{VNI_SUBNETS}[2] @{VNI_SUBNET_CIDRS}[2] - OpenStackOperations.Create SubNet @{VNI_NETWORKS}[3] @{VNI_SUBNETS}[3] @{VNI_SUBNET_CIDRS}[3] - OpenStackOperations.Create Port @{VNI_NETWORKS}[2] @{VNI_NET_2_PORTS}[0] sg=${VNI_SECURITY_GROUP} - OpenStackOperations.Create Port @{VNI_NETWORKS}[3] @{VNI_NET_3_PORTS}[0] sg=${VNI_SECURITY_GROUP} - ${net_id} = OpenStackOperations.Get Net Id @{VNI_NETWORKS}[2] + OpenStackOperations.Create Network ${VNI_NETWORKS}[2] + OpenStackOperations.Create Network ${VNI_NETWORKS}[3] + OpenStackOperations.Create SubNet ${VNI_NETWORKS}[2] ${VNI_SUBNETS}[2] ${VNI_SUBNET_CIDRS}[2] + OpenStackOperations.Create SubNet ${VNI_NETWORKS}[3] ${VNI_SUBNETS}[3] ${VNI_SUBNET_CIDRS}[3] + OpenStackOperations.Create Port ${VNI_NETWORKS}[2] ${VNI_NET_2_PORTS}[0] sg=${VNI_SECURITY_GROUP} + OpenStackOperations.Create Port ${VNI_NETWORKS}[3] ${VNI_NET_3_PORTS}[0] sg=${VNI_SECURITY_GROUP} + ${net_id} = OpenStackOperations.Get Net Id ${VNI_NETWORKS}[2] ${tenant_id} = OpenStackOperations.Get Tenant ID From Network ${net_id} - BuiltIn.Log @{VNI_RDS}[1] - VpnOperations.VPN Create L3VPN vpnid=@{VNI_VPN_INSTANCE_IDS}[1] name=@{VNI_VPN_NAMES}[1] rd=@{VNI_RDS}[1] exportrt=@{VNI_RDS}[1] importrt=@{VNI_RDS}[1] tenantid=${tenant_id} - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VNI_VPN_INSTANCE_IDS}[1] - BuiltIn.Should Contain ${resp} @{VNI_VPN_INSTANCE_IDS}[1] - ${network2_id} = OpenStackOperations.Get Net Id @{VNI_NETWORKS}[2] - ${network3_id} = OpenStackOperations.Get Net Id @{VNI_NETWORKS}[3] - VpnOperations.Associate L3VPN To Network networkid=${network2_id} vpnid=@{VNI_VPN_INSTANCE_IDS}[1] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VNI_VPN_INSTANCE_IDS}[1] + BuiltIn.Log ${VNI_RDS}[1] + VpnOperations.VPN Create L3VPN vpnid=${VNI_VPN_INSTANCE_IDS}[1] name=${VNI_VPN_NAMES}[1] rd=${VNI_RDS}[1] exportrt=${VNI_RDS}[1] importrt=${VNI_RDS}[1] tenantid=${tenant_id} + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VNI_VPN_INSTANCE_IDS}[1] + BuiltIn.Should Contain ${resp} ${VNI_VPN_INSTANCE_IDS}[1] + ${network2_id} = OpenStackOperations.Get Net Id ${VNI_NETWORKS}[2] + ${network3_id} = OpenStackOperations.Get Net Id ${VNI_NETWORKS}[3] + VpnOperations.Associate L3VPN To Network networkid=${network2_id} vpnid=${VNI_VPN_INSTANCE_IDS}[1] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VNI_VPN_INSTANCE_IDS}[1] BuiltIn.Should Contain ${resp} ${network2_id} - VpnOperations.Associate L3VPN To Network networkid=${network3_id} vpnid=@{VNI_VPN_INSTANCE_IDS}[1] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VNI_VPN_INSTANCE_IDS}[1] + VpnOperations.Associate L3VPN To Network networkid=${network3_id} vpnid=${VNI_VPN_INSTANCE_IDS}[1] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VNI_VPN_INSTANCE_IDS}[1] BuiltIn.Should Contain ${resp} ${network3_id} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{VNI_NET_2_PORTS}[0] @{VNI_NET_2_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${VNI_SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{VNI_NET_3_PORTS}[0] @{VNI_NET_3_VMS}[0] ${OS_CMP2_HOSTNAME} sg=${VNI_SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${VNI_NET_2_PORTS}[0] ${VNI_NET_2_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${VNI_SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${VNI_NET_3_PORTS}[0] ${VNI_NET_3_VMS}[0] ${OS_CMP2_HOSTNAME} sg=${VNI_SECURITY_GROUP} @{NET_2_VM_IPS} ${NET_2_DHCP_IP} = OpenStackOperations.Get VM IPs @{VNI_NET_2_VMS} @{NET_3_VM_IPS} ${NET_3_DHCP_IP} = OpenStackOperations.Get VM IPs @{VNI_NET_3_VMS} BuiltIn.Set Suite Variable @{NET_2_VM_IPS} @@ -109,39 +109,39 @@ VNI Based L3 Forwarding With BGPVPN Network Association BuiltIn.Should Not Contain ${NET_3_VM_IPS} None BuiltIn.Should Not Contain ${NET_2_DHCP_IP} None BuiltIn.Should Not Contain ${NET_3_DHCP_IP} None - BuiltIn.Wait Until Keyword Succeeds 60s 5s OVSDB.Verify Vni Segmentation Id and Tunnel Id @{VNI_NET_2_PORTS}[0] @{VNI_NET_3_PORTS}[0] @{VNI_NETWORKS}[2] - ... @{VNI_NETWORKS}[3] @{NET_2_VM_IPS}[0] @{NET_3_VM_IPS}[0] ${IP} + BuiltIn.Wait Until Keyword Succeeds 60s 5s OVSDB.Verify Vni Segmentation Id and Tunnel Id ${VNI_NET_2_PORTS}[0] ${VNI_NET_3_PORTS}[0] ${VNI_NETWORKS}[2] + ... ${VNI_NETWORKS}[3] ${NET_2_VM_IPS}[0] ${NET_3_VM_IPS}[0] ${IP} VNI Based L3 Forwarding With BGPVPN With Irt Ert [Documentation] verify VNI id for L3 Unicast frames exchanged over OVS datapaths that are on different hypervisors ... With two Networks associated to two BGPVPN. BuiltIn.Pass Execution If "${OPENSTACK_TOPO}" == "1cmb-0ctl-0cmp" "Test is not supported for combo node" - OpenStackOperations.Create Network @{VNI_NETWORKS}[4] - OpenStackOperations.Create Network @{VNI_NETWORKS}[5] - OpenStackOperations.Create SubNet @{VNI_NETWORKS}[4] @{VNI_SUBNETS}[4] @{VNI_SUBNET_CIDRS}[4] - OpenStackOperations.Create SubNet @{VNI_NETWORKS}[5] @{VNI_SUBNETS}[5] @{VNI_SUBNET_CIDRS}[5] - OpenStackOperations.Create Port @{VNI_NETWORKS}[4] @{VNI_NET_4_PORTS}[0] sg=${VNI_SECURITY_GROUP} - OpenStackOperations.Create Port @{VNI_NETWORKS}[5] @{VNI_NET_5_PORTS}[0] sg=${VNI_SECURITY_GROUP} - ${net_id} = OpenStackOperations.Get Net Id @{VNI_NETWORKS}[4] + OpenStackOperations.Create Network ${VNI_NETWORKS}[4] + OpenStackOperations.Create Network ${VNI_NETWORKS}[5] + OpenStackOperations.Create SubNet ${VNI_NETWORKS}[4] ${VNI_SUBNETS}[4] ${VNI_SUBNET_CIDRS}[4] + OpenStackOperations.Create SubNet ${VNI_NETWORKS}[5] ${VNI_SUBNETS}[5] ${VNI_SUBNET_CIDRS}[5] + OpenStackOperations.Create Port ${VNI_NETWORKS}[4] ${VNI_NET_4_PORTS}[0] sg=${VNI_SECURITY_GROUP} + OpenStackOperations.Create Port ${VNI_NETWORKS}[5] ${VNI_NET_5_PORTS}[0] sg=${VNI_SECURITY_GROUP} + ${net_id} = OpenStackOperations.Get Net Id ${VNI_NETWORKS}[4] ${tenant_id} = OpenStackOperations.Get Tenant ID From Network ${net_id} - BuiltIn.Log @{VNI_RDS}[2] - VpnOperations.VPN Create L3VPN vpnid=@{VNI_VPN_INSTANCE_IDS}[2] name=@{VNI_VPN_NAMES}[2] rd=@{VNI_RDS}[2] exportrt=@{VNI_RDS}[2] importrt=@{VNI_RDS}[3] tenantid=${tenant_id} - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VNI_VPN_INSTANCE_IDS}[2] - BuiltIn.Should Contain ${resp} @{VNI_VPN_INSTANCE_IDS}[2] - ${network4_id} = OpenStackOperations.Get Net Id @{VNI_NETWORKS}[4] - VpnOperations.Associate L3VPN To Network networkid=${network4_id} vpnid=@{VNI_VPN_INSTANCE_IDS}[2] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VNI_VPN_INSTANCE_IDS}[2] + BuiltIn.Log ${VNI_RDS}[2] + VpnOperations.VPN Create L3VPN vpnid=${VNI_VPN_INSTANCE_IDS}[2] name=${VNI_VPN_NAMES}[2] rd=${VNI_RDS}[2] exportrt=${VNI_RDS}[2] importrt=${VNI_RDS}[3] tenantid=${tenant_id} + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VNI_VPN_INSTANCE_IDS}[2] + BuiltIn.Should Contain ${resp} ${VNI_VPN_INSTANCE_IDS}[2] + ${network4_id} = OpenStackOperations.Get Net Id ${VNI_NETWORKS}[4] + VpnOperations.Associate L3VPN To Network networkid=${network4_id} vpnid=${VNI_VPN_INSTANCE_IDS}[2] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VNI_VPN_INSTANCE_IDS}[2] BuiltIn.Should Contain ${resp} ${network4_id} - BuiltIn.Log @{VNI_RDS}[3] - VpnOperations.VPN Create L3VPN vpnid=@{VNI_VPN_INSTANCE_IDS}[3] name=@{VNI_VPN_NAMES}[3] rd=@{VNI_RDS}[3] exportrt=@{VNI_RDS}[3] importrt=@{VNI_RDS}[2] tenantid=${tenant_id} - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VNI_VPN_INSTANCE_IDS}[3] - BuiltIn.Should Contain ${resp} @{VNI_VPN_INSTANCE_IDS}[3] - ${network5_id} = OpenStackOperations.Get Net Id @{VNI_NETWORKS}[5] - VpnOperations.Associate L3VPN To Network networkid=${network5_id} vpnid=@{VNI_VPN_INSTANCE_IDS}[3] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VNI_VPN_INSTANCE_IDS}[3] + BuiltIn.Log ${VNI_RDS}[3] + VpnOperations.VPN Create L3VPN vpnid=${VNI_VPN_INSTANCE_IDS}[3] name=${VNI_VPN_NAMES}[3] rd=${VNI_RDS}[3] exportrt=${VNI_RDS}[3] importrt=${VNI_RDS}[2] tenantid=${tenant_id} + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VNI_VPN_INSTANCE_IDS}[3] + BuiltIn.Should Contain ${resp} ${VNI_VPN_INSTANCE_IDS}[3] + ${network5_id} = OpenStackOperations.Get Net Id ${VNI_NETWORKS}[5] + VpnOperations.Associate L3VPN To Network networkid=${network5_id} vpnid=${VNI_VPN_INSTANCE_IDS}[3] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VNI_VPN_INSTANCE_IDS}[3] BuiltIn.Should Contain ${resp} ${network5_id} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{VNI_NET_4_PORTS}[0] @{VNI_NET_4_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${VNI_SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{VNI_NET_5_PORTS}[0] @{VNI_NET_5_VMS}[0] ${OS_CMP2_HOSTNAME} sg=${VNI_SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${VNI_NET_4_PORTS}[0] ${VNI_NET_4_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${VNI_SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${VNI_NET_5_PORTS}[0] ${VNI_NET_5_VMS}[0] ${OS_CMP2_HOSTNAME} sg=${VNI_SECURITY_GROUP} @{NET_4_VM_IPS} ${NET_4_DHCP_IP} = OpenStackOperations.Get VM IPs @{VNI_NET_4_VMS} @{NET_5_VM_IPS} ${NET_5_DHCP_IP} = OpenStackOperations.Get VM IPs @{VNI_NET_5_VMS} BuiltIn.Set Suite Variable @{NET_4_VM_IPS} @@ -150,8 +150,8 @@ VNI Based L3 Forwarding With BGPVPN With Irt Ert BuiltIn.Should Not Contain ${NET_5_VM_IPS} None BuiltIn.Should Not Contain ${NET_4_DHCP_IP} None BuiltIn.Should Not Contain ${NET_5_DHCP_IP} None - BuiltIn.Wait Until Keyword Succeeds 60s 5s OVSDB.Verify Vni Segmentation Id and Tunnel Id @{VNI_NET_4_PORTS}[0] @{VNI_NET_5_PORTS}[0] @{VNI_NETWORKS}[4] - ... @{VNI_NETWORKS}[5] @{NET_4_VM_IPS}[0] @{NET_5_VM_IPS}[0] ${IP} + BuiltIn.Wait Until Keyword Succeeds 60s 5s OVSDB.Verify Vni Segmentation Id and Tunnel Id ${VNI_NET_4_PORTS}[0] ${VNI_NET_5_PORTS}[0] ${VNI_NETWORKS}[4] + ... ${VNI_NETWORKS}[5] ${NET_4_VM_IPS}[0] ${NET_5_VM_IPS}[0] ${IP} *** Keywords *** Suite Setup @@ -160,22 +160,22 @@ Suite Setup BuiltIn.Return From Keyword If "${OPENSTACK_TOPO}" == "1cmb-0ctl-0cmp" VpnOperations.Basic Suite Setup OpenStackOperations.Create Allow All SecurityGroup ${VNI_SECURITY_GROUP} - OpenStackOperations.Create Network @{VNI_NETWORKS}[0] - OpenStackOperations.Create Network @{VNI_NETWORKS}[1] - OpenStackOperations.Create SubNet @{VNI_NETWORKS}[0] @{VNI_SUBNETS}[0] @{VNI_SUBNET_CIDRS}[0] - OpenStackOperations.Create SubNet @{VNI_NETWORKS}[1] @{VNI_SUBNETS}[1] @{VNI_SUBNET_CIDRS}[1] - OpenStackOperations.Create Port @{VNI_NETWORKS}[0] @{VNI_NET_0_PORTS}[0] sg=${VNI_SECURITY_GROUP} - OpenStackOperations.Create Port @{VNI_NETWORKS}[1] @{VNI_NET_1_PORTS}[0] sg=${VNI_SECURITY_GROUP} - OpenStackOperations.Create Router @{VNI_ROUTER}[0] - OpenStackOperations.Add Router Interface @{VNI_ROUTER}[0] @{VNI_SUBNETS}[0] - OpenStackOperations.Add Router Interface @{VNI_ROUTER}[0] @{VNI_SUBNETS}[1] - ${interface_output} = OpenStackOperations.Show Router Interface @{VNI_ROUTER}[0] - ${GWMAC_ADDRS} ${GWIP_ADDRS} = VpnOperations.Get Gateway MAC And IP Address @{VNI_ROUTER}[0] + OpenStackOperations.Create Network ${VNI_NETWORKS}[0] + OpenStackOperations.Create Network ${VNI_NETWORKS}[1] + OpenStackOperations.Create SubNet ${VNI_NETWORKS}[0] ${VNI_SUBNETS}[0] ${VNI_SUBNET_CIDRS}[0] + OpenStackOperations.Create SubNet ${VNI_NETWORKS}[1] ${VNI_SUBNETS}[1] ${VNI_SUBNET_CIDRS}[1] + OpenStackOperations.Create Port ${VNI_NETWORKS}[0] ${VNI_NET_0_PORTS}[0] sg=${VNI_SECURITY_GROUP} + OpenStackOperations.Create Port ${VNI_NETWORKS}[1] ${VNI_NET_1_PORTS}[0] sg=${VNI_SECURITY_GROUP} + OpenStackOperations.Create Router ${VNI_ROUTER}[0] + OpenStackOperations.Add Router Interface ${VNI_ROUTER}[0] ${VNI_SUBNETS}[0] + OpenStackOperations.Add Router Interface ${VNI_ROUTER}[0] ${VNI_SUBNETS}[1] + ${interface_output} = OpenStackOperations.Show Router Interface ${VNI_ROUTER}[0] + ${GWMAC_ADDRS} ${GWIP_ADDRS} = VpnOperations.Get Gateway MAC And IP Address ${VNI_ROUTER}[0] BuiltIn.Set Suite Variable ${GWMAC_ADDRS} BuiltIn.Set Suite Variable ${GWIP_ADDRS} - ${router_list} = BuiltIn.Create List @{VNI_ROUTER}[0] - OpenStackOperations.Create Vm Instance With Port On Compute Node @{VNI_NET_0_PORTS}[0] @{VNI_NET_0_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${VNI_SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{VNI_NET_1_PORTS}[0] @{VNI_NET_1_VMS}[0] ${OS_CMP2_HOSTNAME} sg=${VNI_SECURITY_GROUP} + ${router_list} = BuiltIn.Create List ${VNI_ROUTER}[0] + OpenStackOperations.Create Vm Instance With Port On Compute Node ${VNI_NET_0_PORTS}[0] ${VNI_NET_0_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${VNI_SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${VNI_NET_1_PORTS}[0] ${VNI_NET_1_VMS}[0] ${OS_CMP2_HOSTNAME} sg=${VNI_SECURITY_GROUP} @{NET_0_VM_IPS} ${NET_0_DHCP_IP} = OpenStackOperations.Get VM IPs @{VNI_NET_0_VMS} @{NET_1_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{VNI_NET_1_VMS} BuiltIn.Set Suite Variable @{NET_0_VM_IPS} diff --git a/csit/suites/netvirt/vpnservice/arp_learning.robot b/csit/suites/netvirt/vpnservice/arp_learning.robot index 4981533fae..c45b6a972a 100644 --- a/csit/suites/netvirt/vpnservice/arp_learning.robot +++ b/csit/suites/netvirt/vpnservice/arp_learning.robot @@ -57,23 +57,23 @@ Verify GARP Requests ... hostIP. Finally, we verify ping reachability to the extra_route_ip from other VMs on ... the network. BuiltIn.Pass Execution If "${OPENSTACK_TOPO}" == "1cmb-0ctl-0cmp" "Test is not supported for combo node" - BuiltIn.Set Test Variable ${fib_entry_1} @{NET_1_VM_IPS}[0] - BuiltIn.Set Test Variable ${fib_entry_3} @{NET_1_VM_IPS}[1] + BuiltIn.Set Test Variable ${fib_entry_1} ${NET_1_VM_IPS}[0] + BuiltIn.Set Test Variable ${fib_entry_3} ${NET_1_VM_IPS}[1] Verify Flows Are Present On All Compute Nodes ${output} = VpnOperations.Get Fib Entries session ${resp} = BuiltIn.Should Match Regexp ${output} destPrefix\\":\\"${fib_entry_3}\/32".*"${OS_CMP2_IP}\\" ${resp} = BuiltIn.Should Match Regexp ${output} destPrefix\\":\\"${fib_entry_1}\/32".*"${OS_CMP1_IP}\\" - ${rx_packet1_before} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ifconfig eth0 - ${rx_packet0_before} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ifconfig eth0 - ${config_extra_route_ip1} = BuiltIn.Catenate sudo ifconfig ${SUB_IF} @{EXTRA_NW_IP}[0] netmask 255.255.255.0 up - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ${config_extra_route_ip1} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ifconfig + ${rx_packet1_before} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[1] ifconfig eth0 + ${rx_packet0_before} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ifconfig eth0 + ${config_extra_route_ip1} = BuiltIn.Catenate sudo ifconfig ${SUB_IF} ${EXTRA_NW_IP}[0] netmask 255.255.255.0 up + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[1] ${config_extra_route_ip1} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[1] ifconfig BuiltIn.Should Contain ${output} ${SUB_IF} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ${RPING_MIP_IP} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[1] ${RPING_MIP_IP} BuiltIn.Should Contain ${output} broadcast BuiltIn.Should Contain ${output} Received 0 reply - ${rx_packet1_after} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ifconfig eth0 - ${rx_packet0_after} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ifconfig eth0 + ${rx_packet1_after} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[1] ifconfig eth0 + ${rx_packet0_after} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ifconfig eth0 BuiltIn.Should Not Be Equal ${rx_packet0_before} ${rx_packet0_after} BuiltIn.Should Not Be Equal ${rx_packet1_before} ${rx_packet1_after} Verify Flows Are Present On All Compute Nodes @@ -91,24 +91,24 @@ Verify MIP Migration ... the extra_route_ip info with nexthop in the FIB entry pointing to Compute-0 hostip. BuiltIn.Pass Execution If "${OPENSTACK_TOPO}" == "1cmb-0ctl-0cmp" "Test is not supported for combo node" ${unconfig_extra_route_ip1} = BuiltIn.Catenate sudo ifconfig ${SUB_IF} down - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ${unconfig_extra_route_ip1} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ifconfig + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[1] ${unconfig_extra_route_ip1} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[1] ifconfig BuiltIn.Should Not Contain ${output} ${SUB_IF} - ${config_extra_route_ip1} = BuiltIn.Catenate sudo ifconfig ${SUB_IF} @{EXTRA_NW_IP}[0] netmask 255.255.255.0 up - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${config_extra_route_ip1} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ifconfig + ${config_extra_route_ip1} = BuiltIn.Catenate sudo ifconfig ${SUB_IF} ${EXTRA_NW_IP}[0] netmask 255.255.255.0 up + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ${config_extra_route_ip1} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ifconfig BuiltIn.Should Contain ${output} ${SUB_IF} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ifconfig ${SUB_IF} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${RPING_MIP_IP} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ifconfig ${SUB_IF} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ${RPING_MIP_IP} BuiltIn.Should Contain ${output} Received 0 reply BuiltIn.Should Contain ${output} broadcast BuiltIn.Wait Until Keyword Succeeds 5s 1s Verify Learnt IP ${FIB_ENTRY_2} session - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${RPING_MIP_IP} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ${RPING_MIP_IP} ${output} VpnOperations.Get Fib Entries session ${resp}= BuiltIn.Should Match Regexp ${output} destPrefix\\":\\"${FIB_ENTRY_2}\\/32".*"${OS_CMP1_IP}\\" Verify Ping To Sub Interface ${FIB_ENTRY_2} ${unconfig_extra_route_ip1} = BuiltIn.Catenate sudo ifconfig ${SUB_IF} down - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${unconfig_extra_route_ip1} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ${unconfig_extra_route_ip1} Verify ping to subnet gateway [Documentation] Verify ping happens to subnet gateway. To be submitted in next patch @@ -146,29 +146,29 @@ Suite Setup FOR ${network} IN @{NETWORKS} BuiltIn.Should Contain ${neutron_networks} ${network} END - ${NET_ID} = OpenStackOperations.Get Net Id @{NETWORKS}[0] + ${NET_ID} = OpenStackOperations.Get Net Id ${NETWORKS}[0] BuiltIn.Set Suite Variable ${NET_ID} FOR ${i} IN RANGE 0 3 - OpenStackOperations.Create SubNet @{NETWORKS}[${i}] @{SUBNETS}[${i}] @{SUBNET_CIDRS}[${i}] + OpenStackOperations.Create SubNet ${NETWORKS}[${i}] ${SUBNETS}[${i}] ${SUBNET_CIDRS}[${i}] END ${neutron_subnets} = OpenStackOperations.List Subnets FOR ${subnet} IN @{SUBNETS} BuiltIn.Should Contain ${neutron_subnets} ${subnet} END OpenStackOperations.Create Allow All SecurityGroup ${SECURITY_GROUP} - OpenStackOperations.Create Port @{NETWORKS}[0] @{PORTS}[0] sg=${SECURITY_GROUP} allowed_address_pairs=@{EXTRA_NW_IP} - OpenStackOperations.Create Port @{NETWORKS}[0] @{PORTS}[1] sg=${SECURITY_GROUP} allowed_address_pairs=@{EXTRA_NW_IP} - OpenStackOperations.Create Port @{NETWORKS}[1] @{PORTS}[2] sg=${SECURITY_GROUP} allowed_address_pairs=@{EXTRA_NW_IP} - OpenStackOperations.Create Port @{NETWORKS}[1] @{PORTS}[3] sg=${SECURITY_GROUP} allowed_address_pairs=@{EXTRA_NW_IP} - OpenStackOperations.Create Port @{NETWORKS}[2] @{PORTS}[4] sg=${SECURITY_GROUP} allowed_address_pairs=@{EXTRA_NW_IP} - OpenStackOperations.Create Port @{NETWORKS}[2] @{PORTS}[5] sg=${SECURITY_GROUP} allowed_address_pairs=@{EXTRA_NW_IP} + OpenStackOperations.Create Port ${NETWORKS}[0] ${PORTS}[0] sg=${SECURITY_GROUP} allowed_address_pairs=@{EXTRA_NW_IP} + OpenStackOperations.Create Port ${NETWORKS}[0] ${PORTS}[1] sg=${SECURITY_GROUP} allowed_address_pairs=@{EXTRA_NW_IP} + OpenStackOperations.Create Port ${NETWORKS}[1] ${PORTS}[2] sg=${SECURITY_GROUP} allowed_address_pairs=@{EXTRA_NW_IP} + OpenStackOperations.Create Port ${NETWORKS}[1] ${PORTS}[3] sg=${SECURITY_GROUP} allowed_address_pairs=@{EXTRA_NW_IP} + OpenStackOperations.Create Port ${NETWORKS}[2] ${PORTS}[4] sg=${SECURITY_GROUP} allowed_address_pairs=@{EXTRA_NW_IP} + OpenStackOperations.Create Port ${NETWORKS}[2] ${PORTS}[5] sg=${SECURITY_GROUP} allowed_address_pairs=@{EXTRA_NW_IP} Wait Until Keyword Succeeds 3s 1s Check For Elements At URI ${CONFIG_API}/neutron:neutron/ports/ ${PORTS} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[0] @{NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[1] @{NET_1_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[2] @{NET_2_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[3] @{NET_2_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[4] @{NET_3_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[5] @{NET_3_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[0] ${NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[1] ${NET_1_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[2] ${NET_2_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[3] ${NET_2_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[4] ${NET_3_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[5] ${NET_3_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} @{NET_1_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS} @{NET_2_VM_IPS} ${NET_2_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_2_VMS} @{NET_3_VM_IPS} ${NET_3_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_3_VMS} @@ -182,57 +182,57 @@ Suite Setup BuiltIn.Should Not Contain ${NET_2_DHCP_IP} None BuiltIn.Should Not Contain ${NET_3_DHCP_IP} None OpenStackOperations.Create Router ${ROUTER} - OpenStackOperations.Add Router Interface ${ROUTER} @{SUBNETS}[1] - OpenStackOperations.Add Router Interface ${ROUTER} @{SUBNETS}[2] + OpenStackOperations.Add Router Interface ${ROUTER} ${SUBNETS}[1] + OpenStackOperations.Add Router Interface ${ROUTER} ${SUBNETS}[2] ${tenant_id} = OpenStackOperations.Get Tenant ID From Network ${NET_ID} - VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] name=${VPN_NAMES[0]} rd=${RD1} exportrt=${EXPORT_RT} importrt=${IMPORT_RT} tenantid=${tenant_id} - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] - BuiltIn.Should Contain ${resp} @{VPN_INSTANCE_IDS}[0] + VpnOperations.VPN Create L3VPN vpnid=${VPN_INSTANCE_IDS}[0] name=${VPN_NAMES[0]} rd=${RD1} exportrt=${EXPORT_RT} importrt=${IMPORT_RT} tenantid=${tenant_id} + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_IDS}[0] + BuiltIn.Should Contain ${resp} ${VPN_INSTANCE_IDS}[0] Associate L3VPN To ROUTER OpenStackOperations.Show Debugs @{NET_1_VMS} @{NET_2_VMS} @{NET_3_VMS} OpenStackOperations.Get Suite Debugs Suite Teardown [Documentation] Delete the setup - BuiltIn.Run Keyword And Ignore Error VpnOperations.Dissociate L3VPN From Networks networkid=${NET_ID} vpnid=@{VPN_INSTANCE_IDS}[0] - BuiltIn.Run Keyword And Ignore Error VpnOperations.Dissociate VPN to Router routerid=${ROUTER_ID} vpnid=@{VPN_INSTANCE_IDS}[0] - BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] + BuiltIn.Run Keyword And Ignore Error VpnOperations.Dissociate L3VPN From Networks networkid=${NET_ID} vpnid=${VPN_INSTANCE_IDS}[0] + BuiltIn.Run Keyword And Ignore Error VpnOperations.Dissociate VPN to Router routerid=${ROUTER_ID} vpnid=${VPN_INSTANCE_IDS}[0] + BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=${VPN_INSTANCE_IDS}[0] OpenStackOperations.OpenStack Suite Teardown Associate L3VPN To ROUTER - VpnOperations.Associate L3VPN To Network networkid=${NET_ID} vpnid=@{VPN_INSTANCE_IDS}[0] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] + VpnOperations.Associate L3VPN To Network networkid=${NET_ID} vpnid=${VPN_INSTANCE_IDS}[0] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_IDS}[0] BuiltIn.Should Contain ${resp} ${NET_ID} ${ROUTER_ID} = OpenStackOperations.Get Router Id ${ROUTER} BuiltIn.Set Suite Variable ${ROUTER_ID} - VpnOperations.Associate VPN to Router routerid=${ROUTER_ID} vpnid=@{VPN_INSTANCE_IDS}[0] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] + VpnOperations.Associate VPN to Router routerid=${ROUTER_ID} vpnid=${VPN_INSTANCE_IDS}[0] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_IDS}[0] BuiltIn.Should Contain ${resp} ${ROUTER_ID} Verify Ping On Same Networks [Documentation] Verify ping among VM of same network - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ping -c 3 @{NET_1_VM_IPS}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ping -c 3 ${NET_1_VM_IPS}[1] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[0] ping -c 3 @{NET_2_VM_IPS}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${NET_2_VM_IPS}[0] ping -c 3 ${NET_2_VM_IPS}[1] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ping -c 3 @{NET_1_VM_IPS}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[1] ping -c 3 ${NET_1_VM_IPS}[0] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[1] ping -c 3 @{NET_2_VM_IPS}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${NET_2_VM_IPS}[1] ping -c 3 ${NET_2_VM_IPS}[0] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[2] @{NET_3_VM_IPS}[0] ping -c 3 @{NET_3_VM_IPS}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[2] ${NET_3_VM_IPS}[0] ping -c 3 ${NET_3_VM_IPS}[1] BuiltIn.Should Contain ${output} ${PING_REGEXP} Verify Ping On Different Networks [Documentation] Verify ping among VMs of different network - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ping -c 3 @{NET_2_VM_IPS}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ping -c 3 ${NET_2_VM_IPS}[0] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[0] ping -c 3 @{NET_3_VM_IPS}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${NET_2_VM_IPS}[0] ping -c 3 ${NET_3_VM_IPS}[0] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ping -c 3 @{NET_2_VM_IPS}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[1] ping -c 3 ${NET_2_VM_IPS}[1] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[1] ping -c 3 @{NET_3_VM_IPS}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${NET_2_VM_IPS}[1] ping -c 3 ${NET_3_VM_IPS}[1] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[2] @{NET_3_VM_IPS}[0] ping -c 3 @{NET_1_VM_IPS}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[2] ${NET_3_VM_IPS}[0] ping -c 3 ${NET_1_VM_IPS}[1] BuiltIn.Should Contain ${output} ${PING_REGEXP} Verify Flows Are Present @@ -260,11 +260,11 @@ Verify Flows Are Present On All Compute Nodes Verify Ping To Sub Interface [Arguments] ${sub_interface_ip} [Documentation] Verify ping to the sub-interface - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ping -c 3 ${sub_interface_ip} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ping -c 3 ${sub_interface_ip} BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[0] ping -c 3 ${sub_interface_ip} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${NET_2_VM_IPS}[0] ping -c 3 ${sub_interface_ip} BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[2] @{NET_3_VM_IPS}[0] ping -c 3 ${sub_interface_ip} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[2] ${NET_3_VM_IPS}[0] ping -c 3 ${sub_interface_ip} BuiltIn.Should Contain ${output} ${PING_REGEXP} Verify Learnt IP diff --git a/csit/suites/netvirt/vpnservice/vpn_basic.robot b/csit/suites/netvirt/vpnservice/vpn_basic.robot index a58b19c446..76b044d615 100644 --- a/csit/suites/netvirt/vpnservice/vpn_basic.robot +++ b/csit/suites/netvirt/vpnservice/vpn_basic.robot @@ -43,9 +43,9 @@ ${INVALID_VPN_INSTANCE_ID} AAAAAAAAAA-4848-4949-9494-666666666666 *** Test Cases *** Check ELAN Datapath Traffic Within The Networks [Documentation] Checks datapath within the same network with different vlans. - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ping -c 3 @{NET_1_VM_IPS}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ping -c 3 ${NET_1_VM_IPS}[1] BuiltIn.Should Contain ${output} 64 bytes - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[0] ping -c 3 @{NET_2_VM_IPS}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${NET_2_VM_IPS}[0] ping -c 3 ${NET_2_VM_IPS}[1] BuiltIn.Should Contain ${output} 64 bytes Create Router @@ -69,30 +69,30 @@ Check L3_Datapath Traffic Across Networks With Router Verify Flows Are Present For L3VPN On All Compute Nodes ${vm_ips} BuiltIn.Wait Until Keyword Succeeds 30s 10s VpnOperations.Verify GWMAC Entry On ODL ${GWMAC_ADDRS} Verify GWMAC Flow Entry On Flow Table On All Compute Nodes - ${dst_ip_list} = BuiltIn.Create List @{NET_1_VM_IPS}[1] @{NET_2_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${dst_ip_list} - ${dst_ip_list} = BuiltIn.Create List @{NET_2_VM_IPS}[1] @{NET_1_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[0] ${dst_ip_list} + ${dst_ip_list} = BuiltIn.Create List ${NET_1_VM_IPS}[1] @{NET_2_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ${dst_ip_list} + ${dst_ip_list} = BuiltIn.Create List ${NET_2_VM_IPS}[1] @{NET_1_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_VM_IPS}[0] ${dst_ip_list} [Teardown] VpnOperations.Test Teardown With Tcpdump Stop ${tcpdump_conn_ids} Add Multiple Extra Routes And Check Datapath Before L3VPN Creation - ${CONFIG_EXTRA_ROUTE_IP1} = BuiltIn.Catenate sudo ifconfig eth0:1 @{EXTRA_NW_IP}[0] netmask 255.255.255.0 up - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${CONFIG_EXTRA_ROUTE_IP1} - ${CONFIG_EXTRA_ROUTE_IP2} = BuiltIn.Catenate sudo ifconfig eth0:2 @{EXTRA_NW_IP}[1] netmask 255.255.255.0 up - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${CONFIG_EXTRA_ROUTE_IP2} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ifconfig - ${ext_rt1} = BuiltIn.Set Variable destination=@{EXTRA_NW_SUBNET}[0],gateway=@{NET_1_VM_IPS}[0] - ${ext_rt2} = BuiltIn.Set Variable destination=@{EXTRA_NW_SUBNET}[1],gateway=@{NET_1_VM_IPS}[0] + ${CONFIG_EXTRA_ROUTE_IP1} = BuiltIn.Catenate sudo ifconfig eth0:1 ${EXTRA_NW_IP}[0] netmask 255.255.255.0 up + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ${CONFIG_EXTRA_ROUTE_IP1} + ${CONFIG_EXTRA_ROUTE_IP2} = BuiltIn.Catenate sudo ifconfig eth0:2 ${EXTRA_NW_IP}[1] netmask 255.255.255.0 up + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ${CONFIG_EXTRA_ROUTE_IP2} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ifconfig + ${ext_rt1} = BuiltIn.Set Variable destination=${EXTRA_NW_SUBNET}[0],gateway=${NET_1_VM_IPS}[0] + ${ext_rt2} = BuiltIn.Set Variable destination=${EXTRA_NW_SUBNET}[1],gateway=${NET_1_VM_IPS}[0] ${cmd} = BuiltIn.Catenate ${RT_OPTIONS} ${ext_rt1} ${RT_OPTIONS} ${ext_rt2} OpenStackOperations.Update Router ${ROUTER} ${cmd} OpenStackOperations.Show Router ${ROUTER} ${vm_ips} = BuiltIn.Create List @{EXTRA_NW_SUBNET} BuiltIn.Wait Until Keyword Succeeds 30s 10s Utils.Check For Elements At URI ${FIB_ENTRY_URL} ${vm_ips} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ping -c 3 @{EXTRA_NW_IP}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[1] ping -c 3 ${EXTRA_NW_IP}[1] BuiltIn.Should Contain ${output} 64 bytes - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[1] ping -c 3 @{EXTRA_NW_IP}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${NET_2_VM_IPS}[1] ping -c 3 ${EXTRA_NW_IP}[1] BuiltIn.Should Contain ${output} 64 bytes - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ping -c 3 @{EXTRA_NW_IP}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[1] ping -c 3 ${EXTRA_NW_IP}[0] BuiltIn.Should Contain ${output} 64 bytes Delete Extra Route @@ -101,13 +101,13 @@ Delete Extra Route Delete And Recreate Extra Route [Documentation] Recreate multiple extra route and check data path before L3VPN creation - ${CONFIG_EXTRA_ROUTE_IP1} = BuiltIn.Catenate sudo ifconfig eth0:1 @{EXTRA_NW_IP}[0] netmask 255.255.255.0 up - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${CONFIG_EXTRA_ROUTE_IP1} - ${ext_rt1} = BuiltIn.Set Variable destination=@{EXTRA_NW_SUBNET}[0],gateway=@{NET_1_VM_IPS}[0] + ${CONFIG_EXTRA_ROUTE_IP1} = BuiltIn.Catenate sudo ifconfig eth0:1 ${EXTRA_NW_IP}[0] netmask 255.255.255.0 up + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ${CONFIG_EXTRA_ROUTE_IP1} + ${ext_rt1} = BuiltIn.Set Variable destination=${EXTRA_NW_SUBNET}[0],gateway=${NET_1_VM_IPS}[0] ${cmd} = BuiltIn.Catenate ${RT_OPTIONS} ${ext_rt1} OpenStackOperations.Update Router ${ROUTER} ${cmd} OpenStackOperations.Show Router ${ROUTER} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ping -c 3 @{EXTRA_NW_IP}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[1] ping -c 3 ${EXTRA_NW_IP}[0] BuiltIn.Should Contain ${output} 64 bytes # clear off extra-routes before the next set of tests [Teardown] BuiltIn.Run Keywords OpenStackOperations.Update Router ${ROUTER} ${RT_CLEAR} @@ -115,34 +115,34 @@ Delete And Recreate Extra Route ... AND OpenStackOperations.Get Test Teardown Debugs Create L3VPN - ${net_id} = OpenStackOperations.Get Net Id @{NETWORKS}[0] + ${net_id} = OpenStackOperations.Get Net Id ${NETWORKS}[0] ${tenant_id} = OpenStackOperations.Get Tenant ID From Network ${net_id} - BuiltIn.Log @{RDS}[0] - VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] name=@{VPN_NAMES}[0] rd=@{RDS}[0] exportrt=@{RDS}[0] importrt=@{RDS}[0] tenantid=${tenant_id} - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] - BuiltIn.Should Contain ${resp} @{VPN_INSTANCE_IDS}[0] + BuiltIn.Log ${RDS}[0] + VpnOperations.VPN Create L3VPN vpnid=${VPN_INSTANCE_IDS}[0] name=${VPN_NAMES}[0] rd=${RDS}[0] exportrt=${RDS}[0] importrt=${RDS}[0] tenantid=${tenant_id} + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_IDS}[0] + BuiltIn.Should Contain ${resp} ${VPN_INSTANCE_IDS}[0] Associate L3VPN To Routers ${router_id} = OpenStackOperations.Get Router Id ${ROUTER} - VpnOperations.Associate VPN to Router routerid=${router_id} vpnid=@{VPN_INSTANCE_IDS}[0] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] + VpnOperations.Associate VPN to Router routerid=${router_id} vpnid=${VPN_INSTANCE_IDS}[0] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_IDS}[0] BuiltIn.Should Contain ${resp} ${router_id} Verify L3VPN Datapath With Router Association ${vm_ips} = BuiltIn.Create List @{NET_1_VM_IPS} @{NET_2_VM_IPS} CompareStream.Run_Keyword_If_Less_Than_Magnesium BuiltIn.Wait Until Keyword Succeeds 30s 10s Utils.Check For Elements At URI ${VPN_IFACES_URL} ${vm_ips} CompareStream.Run_Keyword_If_At_Least_Magnesium BuiltIn.Wait Until Keyword Succeeds 30s 10s Utils.Check For Elements At URI ${VPN_INST_IFACES_URL} ${vm_ips} - ${RD} = Strip String @{RDS}[0] characters="[] + ${RD} = Strip String ${RDS}[0] characters="[] BuiltIn.Wait Until Keyword Succeeds 60s 15s Utils.Check For Elements At URI ${CONFIG_API}/odl-fib:fibEntries/vrfTables/${RD}/ ${vm_ips} Verify Flows Are Present For L3VPN On All Compute Nodes ${vm_ips} BuiltIn.Wait Until Keyword Succeeds 30s 15s VpnOperations.Verify GWMAC Entry On ODL ${GWMAC_ADDRS} Verify GWMAC Flow Entry On Flow Table On All Compute Nodes BuiltIn.Log Check datapath from network1 to network2 - ${dst_ip_list} = BuiltIn.Create List @{NET_1_VM_IPS}[1] @{NET_2_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${dst_ip_list} + ${dst_ip_list} = BuiltIn.Create List ${NET_1_VM_IPS}[1] @{NET_2_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ${dst_ip_list} BuiltIn.Log Check datapath from network2 to network1 - ${dst_ip_list} = BuiltIn.Create List @{NET_2_VM_IPS}[1] @{NET_1_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[0] ${dst_ip_list} + ${dst_ip_list} = BuiltIn.Create List ${NET_2_VM_IPS}[1] @{NET_1_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_VM_IPS}[0] ${dst_ip_list} Delete Router Failure When Associated With L3VPN ${router_id} = OpenStackOperations.Get Router Id ${ROUTER} @@ -153,35 +153,35 @@ Delete Router Failure When Associated With L3VPN BuiltIn.Should Contain ${router_output} ${ROUTER} @{router_list} = BuiltIn.Create List ${ROUTER} BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${ROUTER_URL} ${router_list} - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_IDS}[0] BuiltIn.Should Contain ${resp} ${router_id} Verify GWMAC Flow Entry On Flow Table On All Compute Nodes Verify Remove Interface From Router When Associated With L3VPN - OpenStackOperations.Remove Interface ${ROUTER} @{SUBNETS}[0] - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${NET_1_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${NET_2_VM_IPS} ping_should_succeed=False + OpenStackOperations.Remove Interface ${ROUTER} ${SUBNETS}[0] + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ${NET_1_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ${NET_2_VM_IPS} ping_should_succeed=False Verify L3VPN Datapath With Router Dissociation When Interfaces are Added To Router - OpenStackOperations.Add Router Interface ${ROUTER} @{SUBNETS}[0] + OpenStackOperations.Add Router Interface ${ROUTER} ${SUBNETS}[0] ${vm_ips} = BuiltIn.Create List @{NET_1_VM_IPS} @{NET_2_VM_IPS} ${router_id} = OpenStackOperations.Get Router Id ${ROUTER} - VpnOperations.Dissociate VPN to Router routerid=${router_id} vpnid=@{VPN_INSTANCE_IDS}[0] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] + VpnOperations.Dissociate VPN to Router routerid=${router_id} vpnid=${VPN_INSTANCE_IDS}[0] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_IDS}[0] BuiltIn.Should Not Contain ${resp} ${router_id} Verify Flows Are Present For L3VPN On All Compute Nodes ${vm_ips} - ${dst_ip_list} = BuiltIn.Create List @{NET_1_VM_IPS}[1] @{NET_2_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${dst_ip_list} + ${dst_ip_list} = BuiltIn.Create List ${NET_1_VM_IPS}[1] @{NET_2_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ${dst_ip_list} BuiltIn.Log Check datapath from network2 to network1 - ${dst_ip_list} = BuiltIn.Create List @{NET_2_VM_IPS}[1] @{NET_1_VM_IPS} - BuiltIn.Wait Until Keyword Succeeds 60s 10s OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[0] ${dst_ip_list} + ${dst_ip_list} = BuiltIn.Create List ${NET_2_VM_IPS}[1] @{NET_1_VM_IPS} + BuiltIn.Wait Until Keyword Succeeds 60s 10s OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_VM_IPS}[0] ${dst_ip_list} Remove Router Interfaces And Check L3_Datapath Traffic Across Networks ${router_id} = OpenStackOperations.Get Router Id ${ROUTER} FOR ${INTERFACE} IN @{SUBNETS} OpenStackOperations.Remove Interface ${ROUTER} ${INTERFACE} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${NET_1_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${NET_2_VM_IPS} ping_should_succeed=False + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ${NET_1_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ${NET_2_VM_IPS} ping_should_succeed=False END ${interface_output} = OpenStackOperations.Show Router Interface ${ROUTER} FOR ${INTERFACE} IN @{SUBNETS} @@ -195,7 +195,7 @@ Delete Router BuiltIn.Should Not Contain ${router_output} ${ROUTER} @{router_list} = BuiltIn.Create List ${ROUTER} BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements Not At URI ${ROUTER_URL} ${router_list} check_for_null=True - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_IDS}[0] BuiltIn.Should Not Contain ${resp} ${ROUTER} Verify GWMAC Flow Entry Removed From Flow Table On All Compute Nodes @@ -209,47 +209,47 @@ Delete Router With NonExistentRouter Name Associate Networks To L3VPN [Documentation] Associates L3VPN to networks and verify - ${network1_id} = OpenStackOperations.Get Net Id @{NETWORKS}[0] - ${network2_id} = OpenStackOperations.Get Net Id @{NETWORKS}[1] - VpnOperations.Associate L3VPN To Network networkid=${network1_id} vpnid=@{VPN_INSTANCE_IDS}[0] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] + ${network1_id} = OpenStackOperations.Get Net Id ${NETWORKS}[0] + ${network2_id} = OpenStackOperations.Get Net Id ${NETWORKS}[1] + VpnOperations.Associate L3VPN To Network networkid=${network1_id} vpnid=${VPN_INSTANCE_IDS}[0] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_IDS}[0] BuiltIn.Should Contain ${resp} ${network1_id} - VpnOperations.Associate L3VPN To Network networkid=${network2_id} vpnid=@{VPN_INSTANCE_IDS}[0] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] + VpnOperations.Associate L3VPN To Network networkid=${network2_id} vpnid=${VPN_INSTANCE_IDS}[0] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_IDS}[0] BuiltIn.Should Contain ${resp} ${network2_id} Check Datapath Traffic Across Networks With L3VPN [Documentation] Datapath Test Across the networks with VPN. - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ping -c 20 @{NET_1_VM_IPS}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ping -c 20 ${NET_1_VM_IPS}[1] BuiltIn.Should Contain ${output} 64 bytes - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ping -c 20 @{NET_2_VM_IPS}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ping -c 20 ${NET_2_VM_IPS}[1] BuiltIn.Should Contain ${output} 64 bytes - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ping -c 20 @{NET_2_VM_IPS}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ping -c 20 ${NET_2_VM_IPS}[0] BuiltIn.Should Contain ${output} 64 bytes Verification of route update after VM port removed and re added to VPN [Documentation] Verify route update after VM port removed and re added to VPN - OpenStackOperations.Delete Port @{PORTS}[0] + OpenStackOperations.Delete Port ${PORTS}[0] ${net_list} = BuiltIn.Create List ${NET_1_VM_IPS[0]} BuiltIn.Wait Until Keyword Succeeds 30s 10s Utils.Check For Elements Not At URI ${FIB_ENTRY_URL} ${net_list} - OpenStackOperations.Delete Vm Instance @{NET_1_VMS}[0] - OpenStackOperations.Create Port @{NETWORKS}[0] @{PORTS}[0] sg=${SECURITY_GROUP} + OpenStackOperations.Delete Vm Instance ${NET_1_VMS}[0] + OpenStackOperations.Create Port ${NETWORKS}[0] ${PORTS}[0] sg=${SECURITY_GROUP} BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${PORT_URL} ${PORTS} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[0] @{NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Poll VM Is ACTIVE @{NET_1_VMS}[0] + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[0] ${NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Poll VM Is ACTIVE ${NET_1_VMS}[0] ${status} ${ips_and_console_log} = BuiltIn.Run Keyword And Ignore Error BuiltIn.Wait Until Keyword Succeeds 360s 15s OpenStackOperations.Get VM IP - ... true @{NET_1_VMS}[0] + ... true ${NET_1_VMS}[0] @{NET_1_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS} BuiltIn.Set Suite Variable @{NET_1_VM_IPS} BuiltIn.Wait Until Keyword Succeeds 30s 10s Utils.Check For Elements At URI ${FIB_ENTRY_URL} ${NET_1_VM_IPS} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ping -c 10 @{NET_1_VM_IPS}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ping -c 10 ${NET_1_VM_IPS}[1] BuiltIn.Should Contain ${output} 64 bytes - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ping -c 10 @{NET_2_VM_IPS}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ping -c 10 ${NET_2_VM_IPS}[0] BuiltIn.Should Contain ${output} 64 bytes Verification of route update after reconfiguring vpn by adding new ports [Documentation] Verify route update after reconfiguring vpn by creating new VM with new port on openvswitch1 - OpenStackOperations.Create Port @{NETWORKS}[0] ${PORT_NEW} sg=${SECURITY_GROUP} + OpenStackOperations.Create Port ${NETWORKS}[0] ${PORT_NEW} sg=${SECURITY_GROUP} OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORT_NEW} ${VM_NAME_NEW} ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} OpenStackOperations.Poll VM Is ACTIVE ${VM_NAME_NEW} ${status} ${ips_and_console_log} = BuiltIn.Run Keyword And Ignore Error BuiltIn.Wait Until Keyword Succeeds 360s 15s OpenStackOperations.Get VM IP @@ -261,13 +261,13 @@ Verification of route update after reconfiguring vpn by adding new ports Dissociate L3VPN From Networks [Documentation] Dissociate L3VPN from networks - ${network1_id} = OpenStackOperations.Get Net Id @{NETWORKS}[0] - ${network2_id} = OpenStackOperations.Get Net Id @{NETWORKS}[1] - VpnOperations.Dissociate L3VPN From Networks networkid=${network1_id} vpnid=@{VPN_INSTANCE_IDS}[0] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] + ${network1_id} = OpenStackOperations.Get Net Id ${NETWORKS}[0] + ${network2_id} = OpenStackOperations.Get Net Id ${NETWORKS}[1] + VpnOperations.Dissociate L3VPN From Networks networkid=${network1_id} vpnid=${VPN_INSTANCE_IDS}[0] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_IDS}[0] BuiltIn.Should Not Contain ${resp} ${network1_id} - VpnOperations.Dissociate L3VPN From Networks networkid=${network2_id} vpnid=@{VPN_INSTANCE_IDS}[0] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] + VpnOperations.Dissociate L3VPN From Networks networkid=${network2_id} vpnid=${VPN_INSTANCE_IDS}[0] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_IDS}[0] BuiltIn.Should Not Contain ${resp} ${network2_id} Delete Unknown L3VPN @@ -277,53 +277,53 @@ Delete Unknown L3VPN Delete L3VPN [Documentation] Delete L3VPN - VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] + VpnOperations.VPN Delete L3VPN vpnid=${VPN_INSTANCE_IDS}[0] Create Multiple L3VPN [Documentation] Creates three L3VPNs and then verify the same - ${net_id} = OpenStackOperations.Get Net Id @{NETWORKS}[0] + ${net_id} = OpenStackOperations.Get Net Id ${NETWORKS}[0] ${tenant_id} = OpenStackOperations.Get Tenant ID From Network ${net_id} - VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] name=@{VPN_NAMES}[0] rd=@{RDS}[0] exportrt=@{RDS}[0] importrt=@{RDS}[0] tenantid=${tenant_id} - VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[1] name=@{VPN_NAMES}[1] rd=@{RDS}[1] exportrt=@{RDS}[1] importrt=@{RDS}[1] tenantid=${tenant_id} - VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[2] name=@{VPN_NAMES}[2] rd=@{RDS}[2] exportrt=@{RDS}[2] importrt=@{RDS}[2] tenantid=${tenant_id} - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] - BuiltIn.Should Contain ${resp} @{VPN_INSTANCE_IDS}[0] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[1] - BuiltIn.Should Contain ${resp} @{VPN_INSTANCE_IDS}[1] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[2] - BuiltIn.Should Contain ${resp} @{VPN_INSTANCE_IDS}[2] + VpnOperations.VPN Create L3VPN vpnid=${VPN_INSTANCE_IDS}[0] name=${VPN_NAMES}[0] rd=${RDS}[0] exportrt=${RDS}[0] importrt=${RDS}[0] tenantid=${tenant_id} + VpnOperations.VPN Create L3VPN vpnid=${VPN_INSTANCE_IDS}[1] name=${VPN_NAMES}[1] rd=${RDS}[1] exportrt=${RDS}[1] importrt=${RDS}[1] tenantid=${tenant_id} + VpnOperations.VPN Create L3VPN vpnid=${VPN_INSTANCE_IDS}[2] name=${VPN_NAMES}[2] rd=${RDS}[2] exportrt=${RDS}[2] importrt=${RDS}[2] tenantid=${tenant_id} + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_IDS}[0] + BuiltIn.Should Contain ${resp} ${VPN_INSTANCE_IDS}[0] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_IDS}[1] + BuiltIn.Should Contain ${resp} ${VPN_INSTANCE_IDS}[1] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_IDS}[2] + BuiltIn.Should Contain ${resp} ${VPN_INSTANCE_IDS}[2] *** Keywords *** Suite Setup VpnOperations.Basic Suite Setup - OpenStackOperations.Create Network @{NETWORKS}[0] - OpenStackOperations.Create Network @{NETWORKS}[1] + OpenStackOperations.Create Network ${NETWORKS}[0] + OpenStackOperations.Create Network ${NETWORKS}[1] BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${NETWORK_URL} ${NETWORKS} - OpenStackOperations.Update Network @{NETWORKS}[0] additional_args=--description ${UPDATE_NETWORK} - ${output} = OpenStackOperations.Show Network @{NETWORKS}[0] + OpenStackOperations.Update Network ${NETWORKS}[0] additional_args=--description ${UPDATE_NETWORK} + ${output} = OpenStackOperations.Show Network ${NETWORKS}[0] BuiltIn.Should Contain ${output} ${UPDATE_NETWORK} - OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS}[0] @{SUBNET_CIDRS}[0] - OpenStackOperations.Create SubNet @{NETWORKS}[1] @{SUBNETS}[1] @{SUBNET_CIDRS}[1] + OpenStackOperations.Create SubNet ${NETWORKS}[0] ${SUBNETS}[0] ${SUBNET_CIDRS}[0] + OpenStackOperations.Create SubNet ${NETWORKS}[1] ${SUBNETS}[1] ${SUBNET_CIDRS}[1] BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${SUBNETWORK_URL} ${SUBNETS} - OpenStackOperations.Update SubNet @{SUBNETS}[0] additional_args=--description ${UPDATE_SUBNET} - ${output} = OpenStackOperations.Show SubNet @{SUBNETS}[0] + OpenStackOperations.Update SubNet ${SUBNETS}[0] additional_args=--description ${UPDATE_SUBNET} + ${output} = OpenStackOperations.Show SubNet ${SUBNETS}[0] BuiltIn.Should Contain ${output} ${UPDATE_SUBNET} OpenStackOperations.Create Allow All SecurityGroup ${SECURITY_GROUP} - ${allowed_address_pairs_args} = BuiltIn.Set Variable --allowed-address ip-address=@{EXTRA_NW_SUBNET}[0] --allowed-address ip-address=@{EXTRA_NW_SUBNET}[1] - Create Port @{NETWORKS}[0] @{PORTS}[0] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args} - Create Port @{NETWORKS}[0] @{PORTS}[1] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args} - Create Port @{NETWORKS}[1] @{PORTS}[2] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args} - Create Port @{NETWORKS}[1] @{PORTS}[3] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args} + ${allowed_address_pairs_args} = BuiltIn.Set Variable --allowed-address ip-address=${EXTRA_NW_SUBNET}[0] --allowed-address ip-address=${EXTRA_NW_SUBNET}[1] + Create Port ${NETWORKS}[0] ${PORTS}[0] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args} + Create Port ${NETWORKS}[0] ${PORTS}[1] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args} + Create Port ${NETWORKS}[1] ${PORTS}[2] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args} + Create Port ${NETWORKS}[1] ${PORTS}[3] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args} Wait Until Keyword Succeeds 3s 1s Check For Elements At URI ${PORT_URL} ${PORTS} ${PORTS_MACADDR} = Get Ports MacAddr ${PORTS} Set Suite Variable ${PORTS_MACADDR} - Update Port @{PORTS}[0] additional_args=--description ${UPDATE_PORT} - ${output} = Show Port @{PORTS}[0] + Update Port ${PORTS}[0] additional_args=--description ${UPDATE_PORT} + ${output} = Show Port ${PORTS}[0] Should Contain ${output} ${UPDATE_PORT} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[0] @{NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[1] @{NET_1_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[2] @{NET_2_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[3] @{NET_2_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[0] ${NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[1] ${NET_1_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[2] ${NET_2_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[3] ${NET_2_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} @{NET_1_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS} @{NET_2_VM_IPS} ${NET_2_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_2_VMS} BuiltIn.Set Suite Variable @{NET_1_VM_IPS} @@ -338,7 +338,7 @@ Suite Setup Suite Teardown [Documentation] Delete the setup - BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] - BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_IDS}[1] - BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_IDS}[2] + BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=${VPN_INSTANCE_IDS}[0] + BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=${VPN_INSTANCE_IDS}[1] + BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=${VPN_INSTANCE_IDS}[2] OpenStackOperations.OpenStack Suite Teardown diff --git a/csit/suites/netvirt/vpnservice/vpn_basic_dualstack_one_router.robot b/csit/suites/netvirt/vpnservice/vpn_basic_dualstack_one_router.robot index 5d4962018f..2fd9d4c60a 100644 --- a/csit/suites/netvirt/vpnservice/vpn_basic_dualstack_one_router.robot +++ b/csit/suites/netvirt/vpnservice/vpn_basic_dualstack_one_router.robot @@ -46,13 +46,13 @@ ${UPDATE_PORT} UpdatePort_dualstack *** Test Cases *** Check ELAN Datapath Traffic Within The Networks [Documentation] Checks datapath within the same network with different vlans. - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] ${NET_1_VM_IPV4[0]} ping -I ${NET_1_VM_IPV4[0]} -c 3 ${NET_1_VM_IPV4[1]} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPV4[0]} ping -I ${NET_1_VM_IPV4[0]} -c 3 ${NET_1_VM_IPV4[1]} BuiltIn.Should Contain ${output} 64 bytes - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] ${NET_1_VM_IPV6[0]} ping6 -I ${NET_1_VM_IPV6[0]} -c 3 ${NET_1_VM_IPV6[1]} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPV6[0]} ping6 -I ${NET_1_VM_IPV6[0]} -c 3 ${NET_1_VM_IPV6[1]} BuiltIn.Should Contain ${output} 64 bytes - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] ${NET_2_VM_IPV4[0]} ping -I ${NET_2_VM_IPV4[0]} -c 3 ${NET_2_VM_IPV4[1]} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${NET_2_VM_IPV4[0]} ping -I ${NET_2_VM_IPV4[0]} -c 3 ${NET_2_VM_IPV4[1]} BuiltIn.Should Contain ${output} 64 bytes - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] ${NET_2_VM_IPV6[0]} ping6 -I ${NET_2_VM_IPV6[0]} -c 3 ${NET_2_VM_IPV6[1]} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${NET_2_VM_IPV6[0]} ping6 -I ${NET_2_VM_IPV6[0]} -c 3 ${NET_2_VM_IPV6[1]} BuiltIn.Should Contain ${output} 64 bytes Create Router @@ -93,13 +93,13 @@ Check L3_Datapath Traffic Across Networks With Router Verify GWMAC Flow Entry On Flow Table On All Compute Nodes BuiltIn.Log L3 Datapath test across the networks using router ${dst_ipv4_list1} = BuiltIn.Create List ${NET_1_VM_IPV4[1]} @{NET_2_VM_IPV4} - Test Operations From Vm Instance @{NETWORKS}[0] ${NET_1_VM_IPV4[0]} ${dst_ipv4_list1} + Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPV4[0]} ${dst_ipv4_list1} ${dst_ipv4_list2} = BuiltIn.Create List ${NET_2_VM_IPV4[1]} @{NET_1_VM_IPV4} - Test Operations From Vm Instance @{NETWORKS}[1] ${NET_2_VM_IPV4[0]} ${dst_ipv4_list2} + Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_VM_IPV4[0]} ${dst_ipv4_list2} ${dst_ipv6_list1} = BuiltIn.Create List ${NET_1_VM_IPV6[1]} @{NET_2_VM_IPV6} - Test Operations From Vm Instance @{NETWORKS}[0] ${NET_1_VM_IPV6[0]} ${dst_ipv6_list1} + Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPV6[0]} ${dst_ipv6_list1} ${dst_ipv6_list2} = BuiltIn.Create List ${NET_2_VM_IPV6[1]} @{NET_1_VM_IPV6} - Test Operations From Vm Instance @{NETWORKS}[1] ${NET_2_VM_IPV6[0]} ${dst_ipv6_list2} + Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_VM_IPV6[0]} ${dst_ipv6_list2} [Teardown] VpnOperations.Test Teardown With Tcpdump Stop ${tcpdump_conn_ids} Add Multiple Extra Routes And Check Datapath Before L3VPN Creation @@ -107,23 +107,23 @@ Add Multiple Extra Routes And Check Datapath Before L3VPN Creation BuiltIn.Log Add extraroutes to VM FOR ${extra_ip} IN @{EXTRA_NW_IPV4} ${cmd} = BuiltIn.Catenate sudo ip addr add ${extra_ip}/24 dev eth0 - OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPV4}[0] ${cmd} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPV4}[0] ip a + OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPV4}[0] ${cmd} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPV4}[0] ip a BuiltIn.Should Contain ${output} ${extra_ip}/24 END - ${ext_rt1} = BuiltIn.Set Variable destination=@{EXTRA_NW_SUBNET_IPV4}[0],gateway=@{NET_1_VM_IPV4}[0] - ${ext_rt2} = BuiltIn.Set Variable destination=@{EXTRA_NW_SUBNET_IPV4}[1],gateway=@{NET_1_VM_IPV4}[0] + ${ext_rt1} = BuiltIn.Set Variable destination=${EXTRA_NW_SUBNET_IPV4}[0],gateway=${NET_1_VM_IPV4}[0] + ${ext_rt2} = BuiltIn.Set Variable destination=${EXTRA_NW_SUBNET_IPV4}[1],gateway=${NET_1_VM_IPV4}[0] ${cmd} = BuiltIn.Catenate ${RT_OPTIONS} ${ext_rt1} ${RT_OPTIONS} ${ext_rt2} OpenStackOperations.Update Router ${ROUTER} ${cmd} OpenStackOperations.Show Router ${ROUTER} FOR ${extra_ip} IN @{EXTRA_NW_IPV6} ${cmd} = BuiltIn.Catenate sudo ip -6 addr add ${extra_ip}/64 dev eth0 - OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPV6}[0] ${cmd} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPV6}[0] ip -6 a + OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPV6}[0] ${cmd} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPV6}[0] ip -6 a BuiltIn.Should Contain ${output} ${extra_ip}/64 END - ${ext_rt3} = BuiltIn.Set Variable destination=@{EXTRA_NW_SUBNET_IPV6}[0],gateway=@{NET_1_VM_IPV6}[0] - ${ext_rt4} = BuiltIn.Set Variable destination=@{EXTRA_NW_SUBNET_IPV6}[1],gateway=@{NET_1_VM_IPV6}[0] + ${ext_rt3} = BuiltIn.Set Variable destination=${EXTRA_NW_SUBNET_IPV6}[0],gateway=${NET_1_VM_IPV6}[0] + ${ext_rt4} = BuiltIn.Set Variable destination=${EXTRA_NW_SUBNET_IPV6}[1],gateway=${NET_1_VM_IPV6}[0] ${cmd} = BuiltIn.Catenate ${RT_OPTIONS} ${ext_rt3} ${RT_OPTIONS} ${ext_rt4} OpenStackOperations.Update Router ${ROUTER} ${cmd} OpenStackOperations.Show Router ${ROUTER} @@ -131,19 +131,19 @@ Add Multiple Extra Routes And Check Datapath Before L3VPN Creation ${vm_ips} = BuiltIn.Create List @{EXTRA_NW_SUBNET_IPV4} @{EXTRA_NW_SUBNET_IPV6} BuiltIn.Wait Until Keyword Succeeds 30s 5s Utils.Check For Elements At URI ${FIB_ENTRY_URL} ${vm_ips} FOR ${extra_ip} IN @{EXTRA_NW_IPV4} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] ${NET_1_VM_IPV4[1]} ping -c 3 ${extra_ip} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPV4[1]} ping -c 3 ${extra_ip} BuiltIn.Should Contain ${output} 64 bytes - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] ${NET_2_VM_IPV4[0]} ping -c 3 ${extra_ip} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${NET_2_VM_IPV4[0]} ping -c 3 ${extra_ip} BuiltIn.Should Contain ${output} 64 bytes - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] ${NET_2_VM_IPV4[1]} ping -c 3 ${extra_ip} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${NET_2_VM_IPV4[1]} ping -c 3 ${extra_ip} BuiltIn.Should Contain ${output} 64 bytes END FOR ${extra_ip} IN @{EXTRA_NW_IPV6} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] ${NET_1_VM_IPV6[1]} ping6 -c 3 ${extra_ip} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPV6[1]} ping6 -c 3 ${extra_ip} BuiltIn.Should Contain ${output} 64 bytes - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] ${NET_2_VM_IPV6[0]} ping6 -c 3 ${extra_ip} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${NET_2_VM_IPV6[0]} ping6 -c 3 ${extra_ip} BuiltIn.Should Contain ${output} 64 bytes - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] ${NET_2_VM_IPV6[1]} ping6 -c 3 ${extra_ip} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${NET_2_VM_IPV6[1]} ping6 -c 3 ${extra_ip} BuiltIn.Should Contain ${output} 64 bytes END @@ -153,25 +153,25 @@ Delete And Recreate Extra Route BuiltIn.Log Delete all extra routes OpenStackOperations.Update Router ${ROUTER} ${RT_CLEAR} OpenStackOperations.Show Router ${ROUTER} - ${cmd}= BuiltIn.Catenate sudo ip addr add @{EXTRA_NW_IPV4}[0]/24 dev eth0 - OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPV4}[0] ${cmd} - ${ext_rt_ipv4} = BuiltIn.Set Variable destination=@{EXTRA_NW_SUBNET_IPV4}[0],gateway=@{NET_1_VM_IPV4}[0] + ${cmd}= BuiltIn.Catenate sudo ip addr add ${EXTRA_NW_IPV4}[0]/24 dev eth0 + OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPV4}[0] ${cmd} + ${ext_rt_ipv4} = BuiltIn.Set Variable destination=${EXTRA_NW_SUBNET_IPV4}[0],gateway=${NET_1_VM_IPV4}[0] ${cmd} = BuiltIn.Catenate ${RT_OPTIONS} ${ext_rt_ipv4} OpenStackOperations.Update Router ${ROUTER} ${cmd} OpenStackOperations.Show Router ${ROUTER} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPV4}[1] ping -c 3 @{EXTRA_NW_IPV4}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPV4}[1] ping -c 3 ${EXTRA_NW_IPV4}[0] BuiltIn.Should Contain ${output} 64 bytes - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{NET_2_VM_IPV4}[0] ping -c 3 @{EXTRA_NW_IPV4}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${NET_2_VM_IPV4}[0] ping -c 3 ${EXTRA_NW_IPV4}[0] BuiltIn.Should Contain ${output} 64 bytes - ${cmd} = BuiltIn.Catenate sudo ip -6 addr add @{EXTRA_NW_IPV6}[0]/64 dev eth0 - OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPV6}[0] ${cmd} - ${ext_rt2} = BuiltIn.Set Variable destination=@{EXTRA_NW_SUBNET_IPV6}[0],gateway=@{NET_1_VM_IPV6}[0] + ${cmd} = BuiltIn.Catenate sudo ip -6 addr add ${EXTRA_NW_IPV6}[0]/64 dev eth0 + OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPV6}[0] ${cmd} + ${ext_rt2} = BuiltIn.Set Variable destination=${EXTRA_NW_SUBNET_IPV6}[0],gateway=${NET_1_VM_IPV6}[0] ${cmd} = BuiltIn.Catenate ${RT_OPTIONS} ${ext_rt2} OpenStackOperations.Update Router ${ROUTER} ${cmd} OpenStackOperations.Show Router ${ROUTER} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPV6}[1] ping6 -c 3 @{EXTRA_NW_IPV6}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPV6}[1] ping6 -c 3 ${EXTRA_NW_IPV6}[0] BuiltIn.Should Contain ${output} 64 bytes - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{NET_2_VM_IPV6}[0] ping6 -c 3 @{EXTRA_NW_IPV6}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${NET_2_VM_IPV6}[0] ping6 -c 3 ${EXTRA_NW_IPV6}[0] BuiltIn.Should Contain ${output} 64 bytes # clear off extra-routes before the next set of tests OpenStackOperations.Update Router ${ROUTER} ${RT_CLEAR} @@ -180,9 +180,9 @@ Delete And Recreate Extra Route ... AND OpenStackOperations.Get Test Teardown Debugs Create L3VPN - ${net_id} = OpenStackOperations.Get Net Id @{NETWORKS}[0] + ${net_id} = OpenStackOperations.Get Net Id ${NETWORKS}[0] ${tenant_id} = OpenStackOperations.Get Tenant ID From Network ${net_id} - VpnOperations.VPN Create L3VPN vpnid=${VPN_INSTANCE_ID[0]} name=${VPN_NAME[0]} rd=@{RDS}[0] exportrt=@{RDS}[0] importrt=@{RDS}[0] tenantid=${tenant_id} + VpnOperations.VPN Create L3VPN vpnid=${VPN_INSTANCE_ID[0]} name=${VPN_NAME[0]} rd=${RDS}[0] exportrt=${RDS}[0] importrt=${RDS}[0] tenantid=${tenant_id} ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_ID[0]} BuiltIn.Should Contain ${resp} ${VPN_INSTANCE_ID[0]} @@ -204,13 +204,13 @@ Verify L3VPN Datapath With Router Association Verify GWMAC Flow Entry On Flow Table On All Compute Nodes BuiltIn.Log L3 Datapath test across the networks using L3VPN ${dst_ipv4_list1} = BuiltIn.Create List ${NET_1_VM_IPV4[1]} @{NET_2_VM_IPV4} - Test Operations From Vm Instance @{NETWORKS}[0] ${NET_1_VM_IPV4[0]} ${dst_ipv4_list1} + Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPV4[0]} ${dst_ipv4_list1} ${dst_ipv4_list2} = BuiltIn.Create List ${NET_2_VM_IPV4[1]} @{NET_1_VM_IPV4} - Test Operations From Vm Instance @{NETWORKS}[1] ${NET_2_VM_IPV4[0]} ${dst_ipv4_list2} + Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_VM_IPV4[0]} ${dst_ipv4_list2} ${dst_ipv6_list1} = BuiltIn.Create List ${NET_1_VM_IPV6[1]} @{NET_2_VM_IPV6} - Test Operations From Vm Instance @{NETWORKS}[0] ${NET_1_VM_IPV6[0]} ${dst_ipv6_list1} + Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPV6[0]} ${dst_ipv6_list1} ${dst_ipv6_list2} = BuiltIn.Create List ${NET_2_VM_IPV6[1]} @{NET_1_VM_IPV6} - Test Operations From Vm Instance @{NETWORKS}[1] ${NET_2_VM_IPV6[0]} ${dst_ipv6_list2} + Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_VM_IPV6[0]} ${dst_ipv6_list2} Delete IPv6 Subnet And Check IPv4 datapath [Documentation] Delete IPv6 subnet from router and check IPv4 datapath before L3VPN creation. @@ -223,15 +223,15 @@ Delete IPv6 Subnet And Check IPv4 datapath Remove Interface ${ROUTER} ${PORT} END BuiltIn.Log Test L2 datapath - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] ${NET_1_VM_IPV4[0]} ping -I ${NET_1_VM_IPV4[0]} -c 3 ${NET_1_VM_IPV4[1]} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET_1_VM_IPV4[0]} ping -I ${NET_1_VM_IPV4[0]} -c 3 ${NET_1_VM_IPV4[1]} BuiltIn.Should Contain ${output} 64 bytes - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] ${NET_2_VM_IPV4[0]} ping -I ${NET_2_VM_IPV4[0]} -c 3 ${NET_2_VM_IPV4[1]} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${NET_2_VM_IPV4[0]} ping -I ${NET_2_VM_IPV4[0]} -c 3 ${NET_2_VM_IPV4[1]} BuiltIn.Should Contain ${output} 64 bytes BuiltIn.Log Test L3 datapath ${dst_ipv4_list1} = BuiltIn.Create List ${NET_1_VM_IPV4[1]} @{NET_2_VM_IPV4} - Test Operations From Vm Instance @{NETWORKS}[0] ${NET_1_VM_IPV4[0]} ${dst_ipv4_list1} + Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPV4[0]} ${dst_ipv4_list1} ${dst_ipv4_list2} = BuiltIn.Create List ${NET_2_VM_IPV4[1]} @{NET_1_VM_IPV4} - Test Operations From Vm Instance @{NETWORKS}[1] ${NET_2_VM_IPV4[0]} ${dst_ipv4_list2} + Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_VM_IPV4[0]} ${dst_ipv4_list2} Dissociate L3VPN From Routers [Documentation] Dissociating router from L3VPN. @@ -272,8 +272,8 @@ Delete Router With NonExistentRouter Name Associate L3VPN To Networks [Documentation] Associates L3VPN to networks. - ${network1_id} = OpenStackOperations.Get Net Id @{NETWORKS}[0] - ${network2_id} = OpenStackOperations.Get Net Id @{NETWORKS}[1] + ${network1_id} = OpenStackOperations.Get Net Id ${NETWORKS}[0] + ${network2_id} = OpenStackOperations.Get Net Id ${NETWORKS}[1] VpnOperations.Associate L3VPN To Network networkid=${network1_id} vpnid=${VPN_INSTANCE_ID[0]} ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_ID[0]} BuiltIn.Should Contain ${resp} ${network1_id} @@ -283,8 +283,8 @@ Associate L3VPN To Networks Dissociate L3VPN From Networks [Documentation] Dissociate L3VPN from networks. - ${network1_id} = OpenStackOperations.Get Net Id @{NETWORKS}[0] - ${network2_id} = OpenStackOperations.Get Net Id @{NETWORKS}[1] + ${network1_id} = OpenStackOperations.Get Net Id ${NETWORKS}[0] + ${network2_id} = OpenStackOperations.Get Net Id ${NETWORKS}[1] VpnOperations.Dissociate L3VPN From Networks networkid=${network1_id} vpnid=${VPN_INSTANCE_ID[0]} ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_ID[0]} BuiltIn.Should Not Contain ${resp} ${network1_id} @@ -298,7 +298,7 @@ Delete L3VPN Create Multiple L3VPN [Documentation] Creates three L3VPNs and then check the same. - ${net_id} = OpenStackOperations.Get Net Id @{NETWORKS}[0] + ${net_id} = OpenStackOperations.Get Net Id ${NETWORKS}[0] ${tenant_id} = OpenStackOperations.Get Tenant ID From Network ${net_id} VpnOperations.VPN Create L3VPN vpnid=${VPN_INSTANCE_ID[0]} name=${VPN_NAME[0]} rd=${RDS[0]} exportrt=${RDS[0]} importrt=${RDS[0]} tenantid=${tenant_id} VpnOperations.VPN Create L3VPN vpnid=${VPN_INSTANCE_ID[1]} name=${VPN_NAME[1]} rd=${RDS[1]} exportrt=${RDS[1]} importrt=${RDS[1]} tenantid=${tenant_id} @@ -313,22 +313,22 @@ Create Multiple L3VPN *** Keywords *** Suite Setup VpnOperations.Basic Suite Setup - OpenStackOperations.Create Network @{NETWORKS}[0] - OpenStackOperations.Create Network @{NETWORKS}[1] + OpenStackOperations.Create Network ${NETWORKS}[0] + OpenStackOperations.Create Network ${NETWORKS}[1] ${NET_LIST} = OpenStackOperations.List Networks BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${NETWORK_URL} ${NETWORKS} - OpenStackOperations.Update Network @{NETWORKS}[0] additional_args=--description ${UPDATE_NETWORK} - ${output} = OpenStackOperations.Show Network @{NETWORKS}[0] + OpenStackOperations.Update Network ${NETWORKS}[0] additional_args=--description ${UPDATE_NETWORK} + ${output} = OpenStackOperations.Show Network ${NETWORKS}[0] BuiltIn.Should Contain ${output} ${UPDATE_NETWORK} - OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS4}[0] @{SUBNETS4_CIDR}[0] - OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS6}[0] @{SUBNETS6_CIDR}[0] ${SUBNET_ADDITIONAL_ARGS} - OpenStackOperations.Create SubNet @{NETWORKS}[1] @{SUBNETS4}[1] @{SUBNETS4_CIDR}[1] - OpenStackOperations.Create SubNet @{NETWORKS}[1] @{SUBNETS6}[1] @{SUBNETS6_CIDR}[1] ${SUBNET_ADDITIONAL_ARGS} + OpenStackOperations.Create SubNet ${NETWORKS}[0] ${SUBNETS4}[0] ${SUBNETS4_CIDR}[0] + OpenStackOperations.Create SubNet ${NETWORKS}[0] ${SUBNETS6}[0] ${SUBNETS6_CIDR}[0] ${SUBNET_ADDITIONAL_ARGS} + OpenStackOperations.Create SubNet ${NETWORKS}[1] ${SUBNETS4}[1] ${SUBNETS4_CIDR}[1] + OpenStackOperations.Create SubNet ${NETWORKS}[1] ${SUBNETS6}[1] ${SUBNETS6_CIDR}[1] ${SUBNET_ADDITIONAL_ARGS} ${SUB_LIST} = OpenStackOperations.List Subnets BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${SUBNETWORK_URL} ${SUBNETS4} BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${SUBNETWORK_URL} ${SUBNETS6} - OpenStackOperations.Update SubNet @{SUBNETS4}[0] additional_args=--description ${UPDATE_SUBNET} - ${output} = OpenStackOperations.Show SubNet @{SUBNETS4}[0] + OpenStackOperations.Update SubNet ${SUBNETS4}[0] additional_args=--description ${UPDATE_SUBNET} + ${output} = OpenStackOperations.Show SubNet ${SUBNETS4}[0] BuiltIn.Should Contain ${output} ${UPDATE_SUBNET} OpenStackOperations.Create Allow All SecurityGroup ${SECURITY_GROUP} IPv4 OpenStackOperations.Neutron Security Group Rule Create ${SECURITY_GROUP} direction=ingress ethertype=IPv6 port_range_max=65535 port_range_min=1 protocol=tcp @@ -337,22 +337,22 @@ Suite Setup OpenStackOperations.Neutron Security Group Rule Create ${SECURITY_GROUP} direction=egress ethertype=IPv6 protocol=icmp OpenStackOperations.Neutron Security Group Rule Create ${SECURITY_GROUP} direction=ingress ethertype=IPv6 port_range_max=65535 port_range_min=1 protocol=udp OpenStackOperations.Neutron Security Group Rule Create ${SECURITY_GROUP} direction=egress ethertype=IPv6 port_range_max=65535 port_range_min=1 protocol=udp - ${allowed_address_pairs_args} = BuiltIn.Set Variable --allowed-address ip-address=@{EXTRA_NW_SUBNET_IPV4}[0] --allowed-address ip-address=@{EXTRA_NW_SUBNET_IPV4}[1] --allowed-address ip-address=@{EXTRA_NW_SUBNET_IPV6}[0] --allowed-address ip-address=@{EXTRA_NW_SUBNET_IPV6}[1] - OpenStackOperations.Create Port @{NETWORKS}[0] @{PORTS}[0] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args} - OpenStackOperations.Create Port @{NETWORKS}[0] @{PORTS}[1] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args} - OpenStackOperations.Create Port @{NETWORKS}[1] @{PORTS}[2] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args} - OpenStackOperations.Create Port @{NETWORKS}[1] @{PORTS}[3] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args} + ${allowed_address_pairs_args} = BuiltIn.Set Variable --allowed-address ip-address=${EXTRA_NW_SUBNET_IPV4}[0] --allowed-address ip-address=${EXTRA_NW_SUBNET_IPV4}[1] --allowed-address ip-address=${EXTRA_NW_SUBNET_IPV6}[0] --allowed-address ip-address=${EXTRA_NW_SUBNET_IPV6}[1] + OpenStackOperations.Create Port ${NETWORKS}[0] ${PORTS}[0] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args} + OpenStackOperations.Create Port ${NETWORKS}[0] ${PORTS}[1] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args} + OpenStackOperations.Create Port ${NETWORKS}[1] ${PORTS}[2] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args} + OpenStackOperations.Create Port ${NETWORKS}[1] ${PORTS}[3] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args} BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${PORT_URL} ${PORTS} ${PORTS_MACADDR} = OpenStackOperations.Get Ports MacAddr ${PORTS} BuiltIn.Set Suite Variable ${PORTS_MACADDR} - OpenStackOperations.Update Port @{PORTS}[0] additional_args=--name ${UPDATE_PORT} + OpenStackOperations.Update Port ${PORTS}[0] additional_args=--name ${UPDATE_PORT} ${output} = Show Port ${UPDATE_PORT} BuiltIn.Should Contain ${output} ${UPDATE_PORT} - OpenStackOperations.Update Port ${UPDATE_PORT} additional_args=--name @{PORTS}[0] - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[0] ${NET_1_VM_INSTANCES[0]} ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[1] ${NET_1_VM_INSTANCES[1]} ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[2] ${NET_2_VM_INSTANCES[0]} ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[3] ${NET_2_VM_INSTANCES[1]} ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Update Port ${UPDATE_PORT} additional_args=--name ${PORTS}[0] + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[0] ${NET_1_VM_INSTANCES[0]} ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[1] ${NET_1_VM_INSTANCES[1]} ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[2] ${NET_2_VM_INSTANCES[0]} ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[3] ${NET_2_VM_INSTANCES[1]} ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} ${VM_INSTANCES} = BuiltIn.Create List @{NET_1_VM_INSTANCES} @{NET_2_VM_INSTANCES} BuiltIn.Set Suite Variable ${VM_INSTANCES} BuiltIn.Wait Until Keyword Succeeds 30s 10s OpenStackOperations.Wait For Routes To Propogate ${NETWORKS} ${SUBNETS4_CIDR} @@ -364,20 +364,20 @@ Suite Setup BuiltIn.Should Not Contain ${NET_1_DHCP_IPV4} None BuiltIn.Should Not Contain ${NET_2_DHCP_IPV4} None BuiltIn.Log Collect VMs IPv6 addresses - ${prefix_net10} = String.Replace String @{SUBNETS6_CIDR}[0] ${IP6_SUBNET_CIDR_SUFFIX} ${IP6_ADDR_SUFFIX} - ${prefix_net20} = String.Replace String @{SUBNETS6_CIDR}[1] ${IP6_SUBNET_CIDR_SUFFIX} ${IP6_ADDR_SUFFIX} + ${prefix_net10} = String.Replace String ${SUBNETS6_CIDR}[0] ${IP6_SUBNET_CIDR_SUFFIX} ${IP6_ADDR_SUFFIX} + ${prefix_net20} = String.Replace String ${SUBNETS6_CIDR}[1] ${IP6_SUBNET_CIDR_SUFFIX} ${IP6_ADDR_SUFFIX} ${status} ${message} Run Keyword And Ignore Error BuiltIn.Wait Until Keyword Succeeds 3x 60s OpenStackOperations.Collect VM IPv6 SLAAC Addresses - ... true ${NET_1_VM_INSTANCES} @{NETWORKS}[0] ${prefix_net10} + ... true ${NET_1_VM_INSTANCES} ${NETWORKS}[0] ${prefix_net10} ${status} ${message} Run Keyword And Ignore Error BuiltIn.Wait Until Keyword Succeeds 3x 60s OpenStackOperations.Collect VM IPv6 SLAAC Addresses - ... true ${NET_2_VM_INSTANCES} @{NETWORKS}[1] ${prefix_net20} - ${NET_1_VM_IPV6} = OpenStackOperations.Collect VM IPv6 SLAAC Addresses false ${NET_1_VM_INSTANCES} @{NETWORKS}[0] ${prefix_net10} - ${NET_2_VM_IPV6} = OpenStackOperations.Collect VM IPv6 SLAAC Addresses false ${NET_2_VM_INSTANCES} @{NETWORKS}[1] ${prefix_net20} + ... true ${NET_2_VM_INSTANCES} ${NETWORKS}[1] ${prefix_net20} + ${NET_1_VM_IPV6} = OpenStackOperations.Collect VM IPv6 SLAAC Addresses false ${NET_1_VM_INSTANCES} ${NETWORKS}[0] ${prefix_net10} + ${NET_2_VM_IPV6} = OpenStackOperations.Collect VM IPv6 SLAAC Addresses false ${NET_2_VM_INSTANCES} ${NETWORKS}[1] ${prefix_net20} ${LOOP_COUNT} Get Length ${NET_1_VM_INSTANCES} FOR ${index} IN RANGE 0 ${LOOP_COUNT} ${status} ${message} Run Keyword And Ignore Error BuiltIn.Should Not Contain ${NET_1_VM_IPV6}[${index}] None - Run Keyword If '${status}' == 'FAIL' Write Commands Until Prompt nova console-log @{NET_1_VM_INSTANCES}[${index}] 30s + Run Keyword If '${status}' == 'FAIL' Write Commands Until Prompt nova console-log ${NET_1_VM_INSTANCES}[${index}] 30s ${status} ${message} Run Keyword And Ignore Error BuiltIn.Should Not Contain ${NET_2_VM_IPV6}[${index}] None - Run Keyword If '${status}' == 'FAIL' Write Commands Until Prompt nova console-log @{NET_2_VM_INSTANCES}[${index}] 30s + Run Keyword If '${status}' == 'FAIL' Write Commands Until Prompt nova console-log ${NET_2_VM_INSTANCES}[${index}] 30s END BuiltIn.Set Suite Variable ${NET_1_VM_IPV4} BuiltIn.Set Suite Variable ${NET_2_VM_IPV4} @@ -390,9 +390,9 @@ Suite Setup Suite Teardown [Documentation] Delete the setup - BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_ID}[0] - BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_ID}[1] - BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_ID}[2] + BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=${VPN_INSTANCE_ID}[0] + BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=${VPN_INSTANCE_ID}[1] + BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=${VPN_INSTANCE_ID}[2] OpenStackOperations.OpenStack Suite Teardown Verify GWMAC Flow Entry On Flow Table diff --git a/csit/suites/netvirt/vpnservice/vpn_basic_dualstack_subnet_routing.robot b/csit/suites/netvirt/vpnservice/vpn_basic_dualstack_subnet_routing.robot index eca25521ad..a17a92ebf4 100644 --- a/csit/suites/netvirt/vpnservice/vpn_basic_dualstack_subnet_routing.robot +++ b/csit/suites/netvirt/vpnservice/vpn_basic_dualstack_subnet_routing.robot @@ -49,39 +49,39 @@ ${DUMP_FLOWS} sudo ovs-ofctl dump-flows br-int -O Openflow13 *** Test Cases *** Check ELAN Datapath Traffic Within The Networks [Documentation] Checks datapath within the same network with different vlans. - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv4}[0] ping -I @{net_1_vm_ipv4}[0] -c 3 @{net_1_vm_ipv4}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${net_1_vm_ipv4}[0] ping -I ${net_1_vm_ipv4}[0] -c 3 ${net_1_vm_ipv4}[1] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv6}[0] ping6 -I @{net_1_vm_ipv6}[0] -c 3 @{net_1_vm_ipv6}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${net_1_vm_ipv6}[0] ping6 -I ${net_1_vm_ipv6}[0] -c 3 ${net_1_vm_ipv6}[1] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv4}[0] ping -I @{net_2_vm_ipv4}[0] -c 3 @{net_2_vm_ipv4}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${net_2_vm_ipv4}[0] ping -I ${net_2_vm_ipv4}[0] -c 3 ${net_2_vm_ipv4}[1] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv6}[0] ping6 -I @{net_2_vm_ipv6}[0] -c 3 @{net_2_vm_ipv6}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${net_2_vm_ipv6}[0] ping6 -I ${net_2_vm_ipv6}[0] -c 3 ${net_2_vm_ipv6}[1] BuiltIn.Should Contain ${output} ${PING_REGEXP} Create L3VPN [Documentation] Create L3VPN - ${net_id} = OpenStackOperations.Get Net Id @{NETWORKS}[0] + ${net_id} = OpenStackOperations.Get Net Id ${NETWORKS}[0] ${tenant_id} = OpenStackOperations.Get Tenant ID From Network ${net_id} - VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_ID}[0] name=@{VPN_NAME}[0] rd=@{RDS}[0] exportrt=@{RDS}[0] importrt=@{RDS}[0] tenantid=${tenant_id} - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0] - BuiltIn.Should Contain ${resp} @{VPN_INSTANCE_ID}[0] + VpnOperations.VPN Create L3VPN vpnid=${VPN_INSTANCE_ID}[0] name=${VPN_NAME}[0] rd=${RDS}[0] exportrt=${RDS}[0] importrt=${RDS}[0] tenantid=${tenant_id} + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_ID}[0] + BuiltIn.Should Contain ${resp} ${VPN_INSTANCE_ID}[0] Associate L3VPN To Routers [Documentation] Associating router to L3VPN. ${router_id} = OpenStackOperations.Get Router Id ${ROUTER} - VpnOperations.Associate VPN to Router routerid=${router_id} vpnid=@{VPN_INSTANCE_ID}[0] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0] + VpnOperations.Associate VPN to Router routerid=${router_id} vpnid=${VPN_INSTANCE_ID}[0] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_ID}[0] BuiltIn.Should Contain ${resp} ${router_id} Configure Extra IPv4/IPv6 Addresss On Interface For Subnet Routing [Documentation] Extra IPv4/IPv6 Address configuration on Interfaces - ${VM_IPV6} = BuiltIn.Create List @{net_1_vm_ipv6}[0] @{net_1_vm_ipv6}[1] @{net_2_vm_ipv6}[0] @{net_2_vm_ipv6}[1] - ${VM_IPV4} = BuiltIn.Create List @{net_1_vm_ipv4}[0] @{net_1_vm_ipv4}[1] @{net_2_vm_ipv4}[0] @{net_2_vm_ipv4}[1] + ${VM_IPV6} = BuiltIn.Create List ${net_1_vm_ipv6}[0] ${net_1_vm_ipv6}[1] ${net_2_vm_ipv6}[0] ${net_2_vm_ipv6}[1] + ${VM_IPV4} = BuiltIn.Create List ${net_1_vm_ipv4}[0] ${net_1_vm_ipv4}[1] ${net_2_vm_ipv4}[0] ${net_2_vm_ipv4}[1] FOR ${index} IN RANGE 0 ${LOOP_COUNT} - OpenStackOperations.Execute Command on VM Instance @{network_list}[${index}] @{VM_IPV6}[${index}] sudo ip -6 addr add @{EXTRA_NW_IPV6}[${index}]/64 dev eth0; sudo ifconfig eth0 allmulti; ip -6 a + OpenStackOperations.Execute Command on VM Instance ${network_list}[${index}] ${VM_IPV6}[${index}] sudo ip -6 addr add ${EXTRA_NW_IPV6}[${index}]/64 dev eth0; sudo ifconfig eth0 allmulti; ip -6 a END FOR ${index} IN RANGE 0 ${LOOP_COUNT} - OpenStackOperations.Execute Command on VM Instance @{network_list}[${index}] @{VM_IPV4}[${index}] sudo ifconfig eth0:1 @{EXTRA_NW_IPV4}[${index}] netmask 255.255.255.0 up; ip a + OpenStackOperations.Execute Command on VM Instance ${network_list}[${index}] ${VM_IPV4}[${index}] sudo ifconfig eth0:1 ${EXTRA_NW_IPV4}[${index}] netmask 255.255.255.0 up; ip a END BuiltIn.Set Suite Variable ${VM_IPV6} BuiltIn.Set Suite Variable ${VM_IPV4} @@ -96,8 +96,8 @@ Verify Data Traffic On Configured Subnet Ipv4/IPv6 Address Dissociate L3VPN From Routers and verify traffic [Documentation] Dissociating router from L3VPN and check data path verification ${router_id} = OpenStackOperations.Get Router Id ${ROUTER} - VpnOperations.Dissociate VPN to Router routerid=${router_id} vpnid=@{VPN_INSTANCE_ID}[0] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0] + VpnOperations.Dissociate VPN to Router routerid=${router_id} vpnid=${VPN_INSTANCE_ID}[0] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_ID}[0] BuiltIn.Should Not Contain ${resp} ${router_id} BuiltIn.Wait Until Keyword Succeeds 10x 30s Verify Ipv4 Data No Traffic BuiltIn.Wait Until Keyword Succeeds 10x 30s Verify Ipv6 Data No Traffic @@ -105,8 +105,8 @@ Dissociate L3VPN From Routers and verify traffic Associate L3VPN Again To Routers and verify traffic [Documentation] Associating router to L3VPN and check data path verification ${router_id} = OpenStackOperations.Get Router Id ${ROUTER} - VpnOperations.Associate VPN to Router routerid=${router_id} vpnid=@{VPN_INSTANCE_ID}[0] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0] + VpnOperations.Associate VPN to Router routerid=${router_id} vpnid=${VPN_INSTANCE_ID}[0] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_ID}[0] BuiltIn.Should Contain ${resp} ${router_id} BuiltIn.Wait Until Keyword Succeeds 10x 30s Verify Ipv4 Data Traffic BuiltIn.Wait Until Keyword Succeeds 10x 30s Verify Ipv6 Data Traffic @@ -114,10 +114,10 @@ Associate L3VPN Again To Routers and verify traffic Delete the configured extra IPv4/IPv6 Addresss and verify traffic [Documentation] Delete IPv4/IPv6 Address configuration on Interfaces and verify traffic FOR ${index} IN RANGE 0 ${LOOP_COUNT} - OpenStackOperations.Execute Command on VM Instance @{network_list}[${index}] @{VM_IPV6}[${index}] sudo ip -6 addr del @{EXTRA_NW_IPV6}[${index}]/64 dev eth0 + OpenStackOperations.Execute Command on VM Instance ${network_list}[${index}] ${VM_IPV6}[${index}] sudo ip -6 addr del ${EXTRA_NW_IPV6}[${index}]/64 dev eth0 END FOR ${index} IN RANGE 0 ${LOOP_COUNT} - OpenStackOperations.Execute Command on VM Instance @{network_list}[${index}] @{VM_IPV4}[${index}] sudo ifconfig eth0:1 down + OpenStackOperations.Execute Command on VM Instance ${network_list}[${index}] ${VM_IPV4}[${index}] sudo ifconfig eth0:1 down END BuiltIn.Wait Until Keyword Succeeds 10x 30s Verify Ipv4 Data No Traffic BuiltIn.Wait Until Keyword Succeeds 10x 30s Verify Ipv6 Data No Traffic @@ -126,10 +126,10 @@ Delete the configured extra IPv4/IPv6 Addresss and verify traffic Configure Again Extra IPv4/IPv6 Addresss On Interface For Subnet Routing [Documentation] Extra IPv4/IPv6 Address configuration on Interfaces FOR ${index} IN RANGE 0 ${LOOP_COUNT} - OpenStackOperations.Execute Command on VM Instance @{network_list}[${index}] @{VM_IPV6}[${index}] sudo ip -6 addr add @{EXTRA_NW_IPV6}[${index}]/64 dev eth0; sudo ifconfig eth0 allmulti; ip -6 a + OpenStackOperations.Execute Command on VM Instance ${network_list}[${index}] ${VM_IPV6}[${index}] sudo ip -6 addr add ${EXTRA_NW_IPV6}[${index}]/64 dev eth0; sudo ifconfig eth0 allmulti; ip -6 a END FOR ${index} IN RANGE 0 ${LOOP_COUNT} - OpenStackOperations.Execute Command on VM Instance @{network_list}[${index}] @{VM_IPV4}[${index}] sudo ifconfig eth0:1 @{EXTRA_NW_IPV4}[${index}] netmask 255.255.255.0 up; ip a + OpenStackOperations.Execute Command on VM Instance ${network_list}[${index}] ${VM_IPV4}[${index}] sudo ifconfig eth0:1 ${EXTRA_NW_IPV4}[${index}] netmask 255.255.255.0 up; ip a END BuiltIn.Wait Until Keyword Succeeds 10x 30s Verify Ipv4 Data Traffic BuiltIn.Wait Until Keyword Succeeds 10x 30s Verify Ipv6 Data Traffic @@ -168,20 +168,20 @@ Add Interface To Router And Verify Traffic Delete L3VPN [Documentation] Delete L3VPN. - VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_ID}[0] + VpnOperations.VPN Delete L3VPN vpnid=${VPN_INSTANCE_ID}[0] BuiltIn.Wait Until Keyword Succeeds 10x 30s Verify Ipv4 Data No Traffic BuiltIn.Wait Until Keyword Succeeds 10x 30s Verify Ipv6 Data No Traffic ReCreate L3VPN and associate L3VPN To Routers and verify traffic [Documentation] Recreate L3VPN and associate L3VPN To Routers and verify ipv4/ipv6 traffic - ${net_id} = OpenStackOperations.Get Net Id @{NETWORKS}[0] + ${net_id} = OpenStackOperations.Get Net Id ${NETWORKS}[0] ${tenant_id} = OpenStackOperations.Get Tenant ID From Network ${net_id} - VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_ID}[0] name=@{VPN_NAME}[0] rd=@{RDS}[0] exportrt=@{RDS}[0] importrt=@{RDS}[0] tenantid=${tenant_id} - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0] - BuiltIn.Should Contain ${resp} @{VPN_INSTANCE_ID}[0] + VpnOperations.VPN Create L3VPN vpnid=${VPN_INSTANCE_ID}[0] name=${VPN_NAME}[0] rd=${RDS}[0] exportrt=${RDS}[0] importrt=${RDS}[0] tenantid=${tenant_id} + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_ID}[0] + BuiltIn.Should Contain ${resp} ${VPN_INSTANCE_ID}[0] ${router_id} = OpenStackOperations.Get Router Id ${ROUTER} - VpnOperations.Associate VPN to Router routerid=${router_id} vpnid=@{VPN_INSTANCE_ID}[0] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0] + VpnOperations.Associate VPN to Router routerid=${router_id} vpnid=${VPN_INSTANCE_ID}[0] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_ID}[0] BuiltIn.Should Contain ${resp} ${router_id} BuiltIn.Wait Until Keyword Succeeds 10x 30s Verify Ipv4 Data Traffic BuiltIn.Wait Until Keyword Succeeds 10x 30s Verify Ipv6 Data Traffic @@ -190,20 +190,20 @@ ReCreate L3VPN and associate L3VPN To Routers and verify traffic Suite Setup [Documentation] Create basic setup for feature.Create two network,subnet,four ports and four VMs VpnOperations.Basic Suite Setup - OpenStackOperations.Create Network @{NETWORKS}[0] - OpenStackOperations.Create Network @{NETWORKS}[1] + OpenStackOperations.Create Network ${NETWORKS}[0] + OpenStackOperations.Create Network ${NETWORKS}[1] BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${NETWORK_URL} ${NETWORKS} - OpenStackOperations.Update Network @{NETWORKS}[0] additional_args=--description ${UPDATE_NETWORK} - ${output} = OpenStackOperations.Show Network @{NETWORKS}[0] + OpenStackOperations.Update Network ${NETWORKS}[0] additional_args=--description ${UPDATE_NETWORK} + ${output} = OpenStackOperations.Show Network ${NETWORKS}[0] BuiltIn.Should Contain ${output} ${UPDATE_NETWORK} - OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS4}[0] @{SUBNETS4_CIDR}[0] - OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS6}[0] @{SUBNETS6_CIDR}[0] ${SUBNET_ADDITIONAL_ARGS} - OpenStackOperations.Create SubNet @{NETWORKS}[1] @{SUBNETS4}[1] @{SUBNETS4_CIDR}[1] - OpenStackOperations.Create SubNet @{NETWORKS}[1] @{SUBNETS6}[1] @{SUBNETS6_CIDR}[1] ${SUBNET_ADDITIONAL_ARGS} + OpenStackOperations.Create SubNet ${NETWORKS}[0] ${SUBNETS4}[0] ${SUBNETS4_CIDR}[0] + OpenStackOperations.Create SubNet ${NETWORKS}[0] ${SUBNETS6}[0] ${SUBNETS6_CIDR}[0] ${SUBNET_ADDITIONAL_ARGS} + OpenStackOperations.Create SubNet ${NETWORKS}[1] ${SUBNETS4}[1] ${SUBNETS4_CIDR}[1] + OpenStackOperations.Create SubNet ${NETWORKS}[1] ${SUBNETS6}[1] ${SUBNETS6_CIDR}[1] ${SUBNET_ADDITIONAL_ARGS} BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${SUBNETWORK_URL} ${SUBNETS4} BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${SUBNETWORK_URL} ${SUBNETS6} - OpenStackOperations.Update SubNet @{SUBNETS4}[0] additional_args=--description ${UPDATE_SUBNET} - ${output} = OpenStackOperations.Show SubNet @{SUBNETS4}[0] + OpenStackOperations.Update SubNet ${SUBNETS4}[0] additional_args=--description ${UPDATE_SUBNET} + ${output} = OpenStackOperations.Show SubNet ${SUBNETS4}[0] BuiltIn.Should Contain ${output} ${UPDATE_SUBNET} OpenStackOperations.Create Router ${ROUTER} @{router_list} = BuiltIn.Create List ${ROUTER} @@ -217,21 +217,21 @@ Suite Setup END ${interface_output} = OpenStackOperations.Show Router Interface ${ROUTER} Create Allow All SecurityGroup ${SECURITY_GROUP} IPv4 True - ${allowed_address_pairs_args} = BuiltIn.Set Variable --allowed-address ip-address=@{EXTRA_NW_SUBNET_IPV4}[0] --allowed-address ip-address=@{EXTRA_NW_SUBNET_IPV4}[1] --allowed-address ip-address=@{EXTRA_NW_SUBNET_IPV6}[0] --allowed-address ip-address=@{EXTRA_NW_SUBNET_IPV6}[1] - ${network_list} = BuiltIn.Create List @{NETWORKS}[0] @{NETWORKS}[0] @{NETWORKS}[1] @{NETWORKS}[1] + ${allowed_address_pairs_args} = BuiltIn.Set Variable --allowed-address ip-address=${EXTRA_NW_SUBNET_IPV4}[0] --allowed-address ip-address=${EXTRA_NW_SUBNET_IPV4}[1] --allowed-address ip-address=${EXTRA_NW_SUBNET_IPV6}[0] --allowed-address ip-address=${EXTRA_NW_SUBNET_IPV6}[1] + ${network_list} = BuiltIn.Create List ${NETWORKS}[0] ${NETWORKS}[0] ${NETWORKS}[1] ${NETWORKS}[1] BuiltIn.Set Suite Variable ${network_list} FOR ${index} IN RANGE 0 ${LOOP_COUNT} - OpenStackOperations.Create Port @{network_list}[${index}] @{PORTS}[${index}] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args} + OpenStackOperations.Create Port ${network_list}[${index}] ${PORTS}[${index}] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args} END BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${PORT_URL} ${PORTS} - OpenStackOperations.Update Port @{PORTS}[0] additional_args=--name ${UPDATE_PORT} + OpenStackOperations.Update Port ${PORTS}[0] additional_args=--name ${UPDATE_PORT} ${output} = Show Port ${UPDATE_PORT} BuiltIn.Should Contain ${output} ${UPDATE_PORT} - OpenStackOperations.Update Port ${UPDATE_PORT} additional_args=--name @{PORTS}[0] - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[0] @{NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[1] @{NET_1_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[2] @{NET_2_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[3] @{NET_2_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Update Port ${UPDATE_PORT} additional_args=--name ${PORTS}[0] + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[0] ${NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[1] ${NET_1_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[2] ${NET_2_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[3] ${NET_2_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} BuiltIn.Wait Until Keyword Succeeds 30s 10s OpenStackOperations.Wait For Routes To Propogate ${NETWORKS} ${SUBNETS4_CIDR} BuiltIn.Wait Until Keyword Succeeds 30s 10s OpenStackOperations.Wait For Routes To Propogate ${NETWORKS} ${SUBNETS6_CIDR} @{net_1_vm_ipv4} ${net_1_dhcp_ipv4} = OpenStackOperations.Get VM IPs @{NET_1_VMS} @@ -241,20 +241,20 @@ Suite Setup BuiltIn.Should Not Contain ${net_1_dhcp_ipv4} None BuiltIn.Should Not Contain ${net_2_dhcp_ipv4} None BuiltIn.Log Collect VMs IPv6 addresses - ${prefix_net10} = String.Replace String @{SUBNETS6_CIDR}[0] ${IP6_SUBNET_CIDR_SUFFIX} ${IP6_ADDR_SUFFIX} - ${prefix_net20} = String.Replace String @{SUBNETS6_CIDR}[1] ${IP6_SUBNET_CIDR_SUFFIX} ${IP6_ADDR_SUFFIX} + ${prefix_net10} = String.Replace String ${SUBNETS6_CIDR}[0] ${IP6_SUBNET_CIDR_SUFFIX} ${IP6_ADDR_SUFFIX} + ${prefix_net20} = String.Replace String ${SUBNETS6_CIDR}[1] ${IP6_SUBNET_CIDR_SUFFIX} ${IP6_ADDR_SUFFIX} ${status} ${message} Run Keyword And Ignore Error BuiltIn.Wait Until Keyword Succeeds 3x 60s OpenStackOperations.Collect VM IPv6 SLAAC Addresses - ... true ${NET_1_VMS} @{NETWORKS}[0] ${prefix_net10} + ... true ${NET_1_VMS} ${NETWORKS}[0] ${prefix_net10} ${status} ${message} Run Keyword And Ignore Error BuiltIn.Wait Until Keyword Succeeds 3x 60s OpenStackOperations.Collect VM IPv6 SLAAC Addresses - ... true ${NET_2_VMS} @{NETWORKS}[1] ${prefix_net20} - ${net_1_vm_ipv6} = OpenStackOperations.Collect VM IPv6 SLAAC Addresses false ${NET_1_VMS} @{NETWORKS}[0] ${prefix_net10} - ${net_2_vm_ipv6} = OpenStackOperations.Collect VM IPv6 SLAAC Addresses false ${NET_2_VMS} @{NETWORKS}[1] ${prefix_net20} + ... true ${NET_2_VMS} ${NETWORKS}[1] ${prefix_net20} + ${net_1_vm_ipv6} = OpenStackOperations.Collect VM IPv6 SLAAC Addresses false ${NET_1_VMS} ${NETWORKS}[0] ${prefix_net10} + ${net_2_vm_ipv6} = OpenStackOperations.Collect VM IPv6 SLAAC Addresses false ${NET_2_VMS} ${NETWORKS}[1] ${prefix_net20} ${loop_count} Get Length ${NET_1_VMS} FOR ${index} IN RANGE 0 ${loop_count} ${status} ${message} Run Keyword And Ignore Error BuiltIn.Should Not Contain ${net_1_vm_ipv6}[${index}] None - Run Keyword If '${status}' == 'FAIL' Write Commands Until Prompt nova console-log @{NET_1_VMS}[${index}] 30s + Run Keyword If '${status}' == 'FAIL' Write Commands Until Prompt nova console-log ${NET_1_VMS}[${index}] 30s ${status} ${message} Run Keyword And Ignore Error BuiltIn.Should Not Contain ${net_2_vm_ipv6}[${index}] None - Run Keyword If '${status}' == 'FAIL' Write Commands Until Prompt nova console-log @{NET_2_VMS}[${index}] 30s + Run Keyword If '${status}' == 'FAIL' Write Commands Until Prompt nova console-log ${NET_2_VMS}[${index}] 30s END BuiltIn.Set Suite Variable ${net_1_vm_ipv4} BuiltIn.Set Suite Variable ${net_2_vm_ipv4} @@ -265,115 +265,115 @@ Suite Setup Verify Ipv4 Data Traffic [Documentation] Check Ipv4 data path verification within and across network - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv4}[0] ping -c 3 @{EXTRA_NW_IPV4}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${net_1_vm_ipv4}[0] ping -c 3 ${EXTRA_NW_IPV4}[1] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv4}[0] ping -c 3 @{EXTRA_NW_IPV4}[3] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${net_1_vm_ipv4}[0] ping -c 3 ${EXTRA_NW_IPV4}[3] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv4}[0] ping -c 3 @{EXTRA_NW_IPV4}[2] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${net_1_vm_ipv4}[0] ping -c 3 ${EXTRA_NW_IPV4}[2] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv4}[1] ping -c 3 @{EXTRA_NW_IPV4}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${net_1_vm_ipv4}[1] ping -c 3 ${EXTRA_NW_IPV4}[0] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv4}[1] ping -c 3 @{EXTRA_NW_IPV4}[3] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${net_1_vm_ipv4}[1] ping -c 3 ${EXTRA_NW_IPV4}[3] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv4}[1] ping -c 3 @{EXTRA_NW_IPV4}[2] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${net_1_vm_ipv4}[1] ping -c 3 ${EXTRA_NW_IPV4}[2] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv4}[0] ping -c 3 @{EXTRA_NW_IPV4}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${net_2_vm_ipv4}[0] ping -c 3 ${EXTRA_NW_IPV4}[0] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv4}[0] ping -c 3 @{EXTRA_NW_IPV4}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${net_2_vm_ipv4}[0] ping -c 3 ${EXTRA_NW_IPV4}[1] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv4}[0] ping -c 3 @{EXTRA_NW_IPV4}[2] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${net_2_vm_ipv4}[0] ping -c 3 ${EXTRA_NW_IPV4}[2] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv4}[1] ping -c 3 @{EXTRA_NW_IPV4}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${net_2_vm_ipv4}[1] ping -c 3 ${EXTRA_NW_IPV4}[0] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv4}[1] ping -c 3 @{EXTRA_NW_IPV4}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${net_2_vm_ipv4}[1] ping -c 3 ${EXTRA_NW_IPV4}[1] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv4}[1] ping -c 3 @{EXTRA_NW_IPV4}[3] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${net_2_vm_ipv4}[1] ping -c 3 ${EXTRA_NW_IPV4}[3] BuiltIn.Should Contain ${output} ${PING_REGEXP} Verify Ipv4 Data No Traffic [Documentation] Check Ipv4 data path verification within and across network - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv4}[0] ping -c 3 @{EXTRA_NW_IPV4}[3] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${net_1_vm_ipv4}[0] ping -c 3 ${EXTRA_NW_IPV4}[3] BuiltIn.Should Contain ${output} ${NO_PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv4}[0] ping -c 3 @{EXTRA_NW_IPV4}[2] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${net_1_vm_ipv4}[0] ping -c 3 ${EXTRA_NW_IPV4}[2] BuiltIn.Should Contain ${output} ${NO_PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv4}[1] ping -c 3 @{EXTRA_NW_IPV4}[3] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${net_1_vm_ipv4}[1] ping -c 3 ${EXTRA_NW_IPV4}[3] BuiltIn.Should Contain ${output} ${NO_PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv4}[1] ping -c 3 @{EXTRA_NW_IPV4}[2] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${net_1_vm_ipv4}[1] ping -c 3 ${EXTRA_NW_IPV4}[2] BuiltIn.Should Contain ${output} ${NO_PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv4}[0] ping -c 3 @{EXTRA_NW_IPV4}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${net_2_vm_ipv4}[0] ping -c 3 ${EXTRA_NW_IPV4}[0] BuiltIn.Should Contain ${output} ${NO_PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv4}[0] ping -c 3 @{EXTRA_NW_IPV4}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${net_2_vm_ipv4}[0] ping -c 3 ${EXTRA_NW_IPV4}[1] BuiltIn.Should Contain ${output} ${NO_PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv4}[1] ping -c 3 @{EXTRA_NW_IPV4}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${net_2_vm_ipv4}[1] ping -c 3 ${EXTRA_NW_IPV4}[0] BuiltIn.Should Contain ${output} ${NO_PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv4}[1] ping -c 3 @{EXTRA_NW_IPV4}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${net_2_vm_ipv4}[1] ping -c 3 ${EXTRA_NW_IPV4}[1] BuiltIn.Should Contain ${output} ${NO_PING_REGEXP} Verify Ipv6 Data Traffic [Documentation] Check Ipv6 data path verification within and across network - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv6}[0] ping6 -c 3 @{EXTRA_NW_IPV6}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${net_1_vm_ipv6}[0] ping6 -c 3 ${EXTRA_NW_IPV6}[1] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv6}[0] ping6 -c 3 @{EXTRA_NW_IPV6}[3] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${net_1_vm_ipv6}[0] ping6 -c 3 ${EXTRA_NW_IPV6}[3] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv6}[0] ping6 -c 3 @{EXTRA_NW_IPV6}[2] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${net_1_vm_ipv6}[0] ping6 -c 3 ${EXTRA_NW_IPV6}[2] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv6}[1] ping6 -c 3 @{EXTRA_NW_IPV6}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${net_1_vm_ipv6}[1] ping6 -c 3 ${EXTRA_NW_IPV6}[0] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv6}[1] ping6 -c 3 @{EXTRA_NW_IPV6}[3] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${net_1_vm_ipv6}[1] ping6 -c 3 ${EXTRA_NW_IPV6}[3] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv6}[1] ping6 -c 3 @{EXTRA_NW_IPV6}[2] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${net_1_vm_ipv6}[1] ping6 -c 3 ${EXTRA_NW_IPV6}[2] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv6}[0] ping6 -c 3 @{EXTRA_NW_IPV6}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${net_2_vm_ipv6}[0] ping6 -c 3 ${EXTRA_NW_IPV6}[0] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv6}[0] ping6 -c 3 @{EXTRA_NW_IPV6}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${net_2_vm_ipv6}[0] ping6 -c 3 ${EXTRA_NW_IPV6}[1] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv6}[0] ping6 -c 3 @{EXTRA_NW_IPV6}[2] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${net_2_vm_ipv6}[0] ping6 -c 3 ${EXTRA_NW_IPV6}[2] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv6}[1] ping6 -c 3 @{EXTRA_NW_IPV6}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${net_2_vm_ipv6}[1] ping6 -c 3 ${EXTRA_NW_IPV6}[0] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv6}[1] ping6 -c 3 @{EXTRA_NW_IPV6}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${net_2_vm_ipv6}[1] ping6 -c 3 ${EXTRA_NW_IPV6}[1] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv6}[1] ping6 -c 3 @{EXTRA_NW_IPV6}[3] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${net_2_vm_ipv6}[1] ping6 -c 3 ${EXTRA_NW_IPV6}[3] BuiltIn.Should Contain ${output} ${PING_REGEXP} Verify Ipv6 Data No Traffic [Documentation] Check Ipv6 data path verification within and across network - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv6}[0] ping6 -c 3 @{EXTRA_NW_IPV6}[3] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${net_1_vm_ipv6}[0] ping6 -c 3 ${EXTRA_NW_IPV6}[3] BuiltIn.Should Contain ${output} ${NO_PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv6}[0] ping6 -c 3 @{EXTRA_NW_IPV6}[2] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${net_1_vm_ipv6}[0] ping6 -c 3 ${EXTRA_NW_IPV6}[2] BuiltIn.Should Contain ${output} ${NO_PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv6}[1] ping6 -c 3 @{EXTRA_NW_IPV6}[3] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${net_1_vm_ipv6}[1] ping6 -c 3 ${EXTRA_NW_IPV6}[3] BuiltIn.Should Contain ${output} ${NO_PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv6}[1] ping6 -c 3 @{EXTRA_NW_IPV6}[2] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${net_1_vm_ipv6}[1] ping6 -c 3 ${EXTRA_NW_IPV6}[2] BuiltIn.Should Contain ${output} ${NO_PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv6}[0] ping6 -c 3 @{EXTRA_NW_IPV6}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${net_2_vm_ipv6}[0] ping6 -c 3 ${EXTRA_NW_IPV6}[0] BuiltIn.Should Contain ${output} ${NO_PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv6}[0] ping6 -c 3 @{EXTRA_NW_IPV6}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${net_2_vm_ipv6}[0] ping6 -c 3 ${EXTRA_NW_IPV6}[1] BuiltIn.Should Contain ${output} ${NO_PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv6}[1] ping6 -c 3 @{EXTRA_NW_IPV6}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${net_2_vm_ipv6}[1] ping6 -c 3 ${EXTRA_NW_IPV6}[0] BuiltIn.Should Contain ${output} ${NO_PING_REGEXP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv6}[1] ping6 -c 3 @{EXTRA_NW_IPV6}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${net_2_vm_ipv6}[1] ping6 -c 3 ${EXTRA_NW_IPV6}[1] BuiltIn.Should Contain ${output} ${NO_PING_REGEXP} Verify Table 21 for VPN Routes FOR ${index} IN RANGE 0 ${LOOP_COUNT} - OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${TABLE_NO_21} True ${EMPTY} ipv6_dst=@{EXTRA_NW_IPV6}[${index}] + OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${TABLE_NO_21} True ${EMPTY} ipv6_dst=${EXTRA_NW_IPV6}[${index}] END FOR ${index} IN RANGE 0 ${LOOP_COUNT} - OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${TABLE_NO_21} True ${EMPTY} ipv6_dst=@{EXTRA_NW_IPV4}[${index}] + OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${TABLE_NO_21} True ${EMPTY} ipv6_dst=${EXTRA_NW_IPV4}[${index}] END Verify Table 21 for No VPN Routes FOR ${index} IN RANGE 0 ${LOOP_COUNT} - OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${TABLE_NO_21} False ${EMPTY} ipv6_dst=@{EXTRA_NW_IPV6}[${index}] + OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${TABLE_NO_21} False ${EMPTY} ipv6_dst=${EXTRA_NW_IPV6}[${index}] END FOR ${index} IN RANGE 0 ${LOOP_COUNT} - OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${TABLE_NO_21} False ${EMPTY} ipv6_dst=@{EXTRA_NW_IPV4}[${index}] + OVSDB.Verify Dump Flows For Specific Table ${OS_CMP1_IP} ${TABLE_NO_21} False ${EMPTY} ipv6_dst=${EXTRA_NW_IPV4}[${index}] END Suite Teardown [Documentation] Delete the setup - BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_ID}[0] - BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_ID}[1] - BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_ID}[2] + BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=${VPN_INSTANCE_ID}[0] + BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=${VPN_INSTANCE_ID}[1] + BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=${VPN_INSTANCE_ID}[2] OpenStackOperations.OpenStack Suite Teardown diff --git a/csit/suites/netvirt/vpnservice/vpn_basic_ipv6.robot b/csit/suites/netvirt/vpnservice/vpn_basic_ipv6.robot index 453421e8f9..c52ac61f68 100644 --- a/csit/suites/netvirt/vpnservice/vpn_basic_ipv6.robot +++ b/csit/suites/netvirt/vpnservice/vpn_basic_ipv6.robot @@ -39,9 +39,9 @@ ${UPDATE_PORT} UpdatePortV6 *** Test Cases *** Check ELAN Datapath Traffic Within The Networks - ${output}= OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{VM_IP_NET10}[0] ping6 -c 3 @{VM_IP_NET10}[1] + ${output}= OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${VM_IP_NET10}[0] ping6 -c 3 ${VM_IP_NET10}[1] BuiltIn.Should Contain ${output} 64 bytes - ${output}= OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{VM_IP_NET20}[0] ping6 -c 3 @{VM_IP_NET20}[1] + ${output}= OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${VM_IP_NET20}[0] ping6 -c 3 ${VM_IP_NET20}[1] BuiltIn.Should Contain ${output} 64 bytes Check L3_Datapath Traffic Across Networks With Router @@ -53,31 +53,31 @@ Check L3_Datapath Traffic Across Networks With Router BuiltIn.Wait Until Keyword Succeeds 30s 10s VpnOperations.Verify Flows Are Present For L3VPN ${OS_CMP1_IP} ${VM_IP_NET20} BuiltIn.Wait Until Keyword Succeeds 30s 10s VpnOperations.Verify GWMAC Entry On ODL ${GWMAC_ADDRS} Verify GWMAC Flow Entry On Flow Table On All Compute Nodes ipv6 - ${dst_ip_list} = BuiltIn.Create List @{VM_IP_NET10}[1] @{VM_IP_NET20} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{VM_IP_NET10}[0] ${dst_ip_list} - ${dst_ip_list} = BuiltIn.Create List @{VM_IP_NET20}[1] @{VM_IP_NET10} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{VM_IP_NET20}[0] ${dst_ip_list} + ${dst_ip_list} = BuiltIn.Create List ${VM_IP_NET10}[1] @{VM_IP_NET20} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${VM_IP_NET10}[0] ${dst_ip_list} + ${dst_ip_list} = BuiltIn.Create List ${VM_IP_NET20}[1] @{VM_IP_NET10} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${VM_IP_NET20}[0] ${dst_ip_list} [Teardown] VpnOperations.Test Teardown With Tcpdump Stop ${tcpdump_conn_ids} Add Multiple Extra Routes And Check Datapath Before L3VPN Creation - ${CONFIG_EXTRA_ROUTE_IP1} = BuiltIn.Catenate sudo ip -6 addr add @{EXTRA_NW_IP}[0]/64 dev eth0 - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{VM_IP_NET10}[0] ${CONFIG_EXTRA_ROUTE_IP1} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{VM_IP_NET10}[0] ip -6 a - ${CONFIG_EXTRA_ROUTE_IP2} = BuiltIn.Catenate sudo ip -6 addr add @{EXTRA_NW_IP}[1]/64 dev eth0 - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{VM_IP_NET10}[0] ${CONFIG_EXTRA_ROUTE_IP2} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{VM_IP_NET10}[0] ip -6 a - ${EXT_RT1} = Set Variable destination=@{EXTRA_NW_SUBNET}[0],gateway=@{VM_IP_NET10}[0] - ${EXT_RT2} = Set Variable destination=@{EXTRA_NW_SUBNET}[1],gateway=@{VM_IP_NET10}[0] + ${CONFIG_EXTRA_ROUTE_IP1} = BuiltIn.Catenate sudo ip -6 addr add ${EXTRA_NW_IP}[0]/64 dev eth0 + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${VM_IP_NET10}[0] ${CONFIG_EXTRA_ROUTE_IP1} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${VM_IP_NET10}[0] ip -6 a + ${CONFIG_EXTRA_ROUTE_IP2} = BuiltIn.Catenate sudo ip -6 addr add ${EXTRA_NW_IP}[1]/64 dev eth0 + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${VM_IP_NET10}[0] ${CONFIG_EXTRA_ROUTE_IP2} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${VM_IP_NET10}[0] ip -6 a + ${EXT_RT1} = Set Variable destination=${EXTRA_NW_SUBNET}[0],gateway=${VM_IP_NET10}[0] + ${EXT_RT2} = Set Variable destination=${EXTRA_NW_SUBNET}[1],gateway=${VM_IP_NET10}[0] ${cmd} = BuiltIn.Catenate ${RT_OPTIONS} ${EXT_RT1} ${RT_OPTIONS} ${EXT_RT2} OpenStackOperations.Update Router ${ROUTER} ${cmd} OpenStackOperations.Show Router ${ROUTER} ${vm_ips} = BuiltIn.Create List @{EXTRA_NW_SUBNET} BuiltIn.Wait Until Keyword Succeeds 30s 10s Utils.Check For Elements At URI ${FIB_ENTRY_URL} ${vm_ips} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{VM_IP_NET10}[1] ping6 -c 3 @{EXTRA_NW_IP}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${VM_IP_NET10}[1] ping6 -c 3 ${EXTRA_NW_IP}[1] BuiltIn.Should Contain ${output} 64 bytes - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{VM_IP_NET20}[1] ping6 -c 3 @{EXTRA_NW_IP}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[1] ${VM_IP_NET20}[1] ping6 -c 3 ${EXTRA_NW_IP}[1] BuiltIn.Should Contain ${output} 64 bytes - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{VM_IP_NET10}[1] ping6 -c 3 @{EXTRA_NW_IP}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${VM_IP_NET10}[1] ping6 -c 3 ${EXTRA_NW_IP}[0] BuiltIn.Should Contain ${output} 64 bytes Delete Extra Route @@ -86,13 +86,13 @@ Delete Extra Route Delete And Recreate Extra Route [Documentation] Recreate multiple extra route and check data path before L3VPN creation - ${CONFIG_EXTRA_ROUTE_IP1} = BuiltIn.Catenate sudo ip -6 addr add @{EXTRA_NW_IP}[1]/64 dev eth0 - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{VM_IP_NET10}[0] ${CONFIG_EXTRA_ROUTE_IP1} - ${EXT_RT1} = Set Variable destination=@{EXTRA_NW_SUBNET}[0],gateway=@{VM_IP_NET10}[0] + ${CONFIG_EXTRA_ROUTE_IP1} = BuiltIn.Catenate sudo ip -6 addr add ${EXTRA_NW_IP}[1]/64 dev eth0 + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${VM_IP_NET10}[0] ${CONFIG_EXTRA_ROUTE_IP1} + ${EXT_RT1} = Set Variable destination=${EXTRA_NW_SUBNET}[0],gateway=${VM_IP_NET10}[0] ${cmd} = BuiltIn.Catenate ${RT_OPTIONS} ${EXT_RT1} OpenStackOperations.Update Router ${ROUTER} ${cmd} OpenStackOperations.Show Router ${ROUTER} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{VM_IP_NET10}[1] ping6 -c 3 @{EXTRA_NW_IP}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${VM_IP_NET10}[1] ping6 -c 3 ${EXTRA_NW_IP}[0] BuiltIn.Should Contain ${output} 64 bytes # clear off extra-routes before the next set of tests [Teardown] BuiltIn.Run Keywords OpenStackOperations.Update Router ${ROUTER} ${RT_CLEAR} @@ -100,16 +100,16 @@ Delete And Recreate Extra Route ... AND OpenStackOperations.Get Test Teardown Debugs Create L3VPN - ${net_id} = OpenStackOperations.Get Net Id @{NETWORKS}[0] + ${net_id} = OpenStackOperations.Get Net Id ${NETWORKS}[0] ${tenant_id} = OpenStackOperations.Get Tenant ID From Network ${net_id} - VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] name=@{VPN_NAMES}[0] rd=@{RDS}[0] exportrt=@{RDS}[0] importrt=@{RDS}[0] tenantid=${tenant_id} - ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] - BuiltIn.Should Contain ${resp} @{VPN_INSTANCE_IDS}[0] + VpnOperations.VPN Create L3VPN vpnid=${VPN_INSTANCE_IDS}[0] name=${VPN_NAMES}[0] rd=${RDS}[0] exportrt=${RDS}[0] importrt=${RDS}[0] tenantid=${tenant_id} + ${resp}= VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_IDS}[0] + BuiltIn.Should Contain ${resp} ${VPN_INSTANCE_IDS}[0] Associate L3VPN To Routers ${router_id} = OpenStackOperations.Get Router Id ${ROUTER} - VpnOperations.Associate VPN to Router routerid=${router_id} vpnid=@{VPN_INSTANCE_IDS}[0] - ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] + VpnOperations.Associate VPN to Router routerid=${router_id} vpnid=${VPN_INSTANCE_IDS}[0] + ${resp}= VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_IDS}[0] BuiltIn.Should Contain ${resp} ${router_id} Verify L3VPN Datapath With Router Association @@ -117,28 +117,28 @@ Verify L3VPN Datapath With Router Association ${vm_ips} = BuiltIn.Create List @{VM_IP_NET10} @{VM_IP_NET20} CompareStream.Run_Keyword_If_Less_Than_Magnesium BuiltIn.Wait Until Keyword Succeeds 30s 10s Utils.Check For Elements At URI ${VPN_IFACES_URL} ${vm_ips} CompareStream.Run_Keyword_If_At_Least_Magnesium BuiltIn.Wait Until Keyword Succeeds 30s 10s Utils.Check For Elements At URI ${VPN_INST_IFACES_URL} ${vm_ips} - ${RD} = Strip String @{RDS}[0] characters="[] + ${RD} = Strip String ${RDS}[0] characters="[] BuiltIn.Wait Until Keyword Succeeds 60s 15s Utils.Check For Elements At URI ${CONFIG_API}/odl-fib:fibEntries/vrfTables/${RD}/ ${vm_ips} Verify Flows Are Present For L3VPN On All Compute Nodes ${vm_ips} BuiltIn.Wait Until Keyword Succeeds 30s 10s VpnOperations.Verify GWMAC Entry On ODL ${GWMAC_ADDRS} Verify GWMAC Flow Entry On Flow Table On All Compute Nodes ipv6 BuiltIn.Log Check datapath from network1 to network2 - ${dst_ip_list} = BuiltIn.Create List @{VM_IP_NET10}[1] @{VM_IP_NET20} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{VM_IP_NET10}[0] ${dst_ip_list} + ${dst_ip_list} = BuiltIn.Create List ${VM_IP_NET10}[1] @{VM_IP_NET20} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${VM_IP_NET10}[0] ${dst_ip_list} BuiltIn.Log Check datapath from network2 to network1 - ${dst_ip_list} = BuiltIn.Create List @{VM_IP_NET20}[1] @{VM_IP_NET10} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{VM_IP_NET20}[0] ${dst_ip_list} + ${dst_ip_list} = BuiltIn.Create List ${VM_IP_NET20}[1] @{VM_IP_NET10} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${VM_IP_NET20}[0] ${dst_ip_list} Dissociate L3VPN From Routers ${router_id}= OpenStackOperations.Get Router Id ${ROUTER} - VpnOperations.Dissociate VPN to Router routerid=${router_id} vpnid=@{VPN_INSTANCE_IDS}[0] - ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] + VpnOperations.Dissociate VPN to Router routerid=${router_id} vpnid=${VPN_INSTANCE_IDS}[0] + ${resp}= VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_IDS}[0] BuiltIn.Should Not Contain ${resp} ${router_id} Delete Router And Router Interfaces With L3VPN ${router_id}= OpenStackOperations.Get Router Id ${ROUTER} - VpnOperations.Associate VPN to Router routerid=${router_id} vpnid=@{VPN_INSTANCE_IDS}[0] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] + VpnOperations.Associate VPN to Router routerid=${router_id} vpnid=${VPN_INSTANCE_IDS}[0] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_IDS}[0] BuiltIn.Should Contain ${resp} ${router_id} FOR ${INTERFACE} IN @{SUBNETS} OpenStackOperations.Remove Interface ${ROUTER} ${INTERFACE} @@ -153,7 +153,7 @@ Delete Router And Router Interfaces With L3VPN BuiltIn.Should Not Contain ${router_output} ${ROUTER} @{router_list} = BuiltIn.Create List ${ROUTER} BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements Not At URI ${ROUTER_URL} ${router_list} check_for_null=True - ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] + ${resp}= VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_IDS}[0] BuiltIn.Should Not Contain ${resp} ${router_id} Verify GWMAC Flow Entry Removed From Flow Table On All Compute Nodes @@ -165,57 +165,57 @@ Delete Router With NonExistentRouter Name BuiltIn.Should Match Regexp ${result.stderr} Failed to delete router with name or ID 'nonExistentRouter': No Router found for nonExistentRouter Associate L3VPN To Networks - ${network1_id} = OpenStackOperations.Get Net Id @{NETWORKS}[0] - ${network2_id} = OpenStackOperations.Get Net Id @{NETWORKS}[1] - VpnOperations.Associate L3VPN To Network networkid=${network1_id} vpnid=@{VPN_INSTANCE_IDS}[0] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] + ${network1_id} = OpenStackOperations.Get Net Id ${NETWORKS}[0] + ${network2_id} = OpenStackOperations.Get Net Id ${NETWORKS}[1] + VpnOperations.Associate L3VPN To Network networkid=${network1_id} vpnid=${VPN_INSTANCE_IDS}[0] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_IDS}[0] BuiltIn.Should Contain ${resp} ${network1_id} - VpnOperations.Associate L3VPN To Network networkid=${network2_id} vpnid=@{VPN_INSTANCE_IDS}[0] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] + VpnOperations.Associate L3VPN To Network networkid=${network2_id} vpnid=${VPN_INSTANCE_IDS}[0] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_IDS}[0] BuiltIn.Should Contain ${resp} ${network2_id} Dissociate L3VPN From Networks - ${network1_id} = OpenStackOperations.Get Net Id @{NETWORKS}[0] - ${network2_id} = OpenStackOperations.Get Net Id @{NETWORKS}[1] - VpnOperations.Dissociate L3VPN From Networks networkid=${network1_id} vpnid=@{VPN_INSTANCE_IDS}[0] - ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] + ${network1_id} = OpenStackOperations.Get Net Id ${NETWORKS}[0] + ${network2_id} = OpenStackOperations.Get Net Id ${NETWORKS}[1] + VpnOperations.Dissociate L3VPN From Networks networkid=${network1_id} vpnid=${VPN_INSTANCE_IDS}[0] + ${resp}= VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_IDS}[0] BuiltIn.Should Not Contain ${resp} ${network1_id} - VpnOperations.Dissociate L3VPN From Networks networkid=${network2_id} vpnid=@{VPN_INSTANCE_IDS}[0] - ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] + VpnOperations.Dissociate L3VPN From Networks networkid=${network2_id} vpnid=${VPN_INSTANCE_IDS}[0] + ${resp}= VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_IDS}[0] BuiltIn.Should Not Contain ${resp} ${network2_id} Delete L3VPN - VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] + VpnOperations.VPN Delete L3VPN vpnid=${VPN_INSTANCE_IDS}[0] Create Multiple L3VPN - ${net_id} = Get Net Id @{NETWORKS}[0] + ${net_id} = Get Net Id ${NETWORKS}[0] ${tenant_id} = Get Tenant ID From Network ${net_id} - VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] name=@{VPN_NAMES}[0] rd=@{RDS}[0] exportrt=@{RDS}[0] importrt=@{RDS}[0] tenantid=${tenant_id} - VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[1] name=@{VPN_NAMES}[1] rd=@{RDS}[1] exportrt=@{RDS}[1] importrt=@{RDS}[1] tenantid=${tenant_id} - VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[2] name=@{VPN_NAMES}[2] rd=@{RDS}[2] exportrt=@{RDS}[2] importrt=@{RDS}[2] tenantid=${tenant_id} - ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] - BuiltIn.Should Contain ${resp} @{VPN_INSTANCE_IDS}[0] - ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[1] - BuiltIn.Should Contain ${resp} @{VPN_INSTANCE_IDS}[1] - ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[2] - BuiltIn.Should Contain ${resp} @{VPN_INSTANCE_IDS}[2] + VpnOperations.VPN Create L3VPN vpnid=${VPN_INSTANCE_IDS}[0] name=${VPN_NAMES}[0] rd=${RDS}[0] exportrt=${RDS}[0] importrt=${RDS}[0] tenantid=${tenant_id} + VpnOperations.VPN Create L3VPN vpnid=${VPN_INSTANCE_IDS}[1] name=${VPN_NAMES}[1] rd=${RDS}[1] exportrt=${RDS}[1] importrt=${RDS}[1] tenantid=${tenant_id} + VpnOperations.VPN Create L3VPN vpnid=${VPN_INSTANCE_IDS}[2] name=${VPN_NAMES}[2] rd=${RDS}[2] exportrt=${RDS}[2] importrt=${RDS}[2] tenantid=${tenant_id} + ${resp}= VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_IDS}[0] + BuiltIn.Should Contain ${resp} ${VPN_INSTANCE_IDS}[0] + ${resp}= VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_IDS}[1] + BuiltIn.Should Contain ${resp} ${VPN_INSTANCE_IDS}[1] + ${resp}= VpnOperations.VPN Get L3VPN vpnid=${VPN_INSTANCE_IDS}[2] + BuiltIn.Should Contain ${resp} ${VPN_INSTANCE_IDS}[2] *** Keywords *** Suite Setup VpnOperations.Basic Suite Setup - OpenStackOperations.Create Network @{NETWORKS}[0] - OpenStackOperations.Create Network @{NETWORKS}[1] + OpenStackOperations.Create Network ${NETWORKS}[0] + OpenStackOperations.Create Network ${NETWORKS}[1] BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${NETWORK_URL} ${NETWORKS} - OpenStackOperations.Update Network @{NETWORKS}[0] additional_args=--description ${UPDATE_NETWORK} - ${output} = OpenStackOperations.Show Network @{NETWORKS}[0] + OpenStackOperations.Update Network ${NETWORKS}[0] additional_args=--description ${UPDATE_NETWORK} + ${output} = OpenStackOperations.Show Network ${NETWORKS}[0] BuiltIn.Should Contain ${output} ${UPDATE_NETWORK} ${net1_additional_args}= BuiltIn.Catenate --ip-version=6 --ipv6-address-mode=slaac --ipv6-ra-mode=slaac ${NET1_IPV6_ADDR_POOL} ${net2_additional_args}= BuiltIn.Catenate --ip-version=6 --ipv6-address-mode=slaac --ipv6-ra-mode=slaac ${NET2_IPV6_ADDR_POOL} - OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS}[0] @{SUBNET_CIDRS}[0] ${net1_additional_args} - OpenStackOperations.Create SubNet @{NETWORKS}[1] @{SUBNETS}[1] @{SUBNET_CIDRS}[1] ${net2_additional_args} + OpenStackOperations.Create SubNet ${NETWORKS}[0] ${SUBNETS}[0] ${SUBNET_CIDRS}[0] ${net1_additional_args} + OpenStackOperations.Create SubNet ${NETWORKS}[1] ${SUBNETS}[1] ${SUBNET_CIDRS}[1] ${net2_additional_args} BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${SUBNETWORK_URL} ${SUBNETS} - OpenStackOperations.Update SubNet @{SUBNETS}[0] additional_args=--description ${UPDATE_SUBNET} - ${output} = OpenStackOperations.Show SubNet @{SUBNETS}[0] + OpenStackOperations.Update SubNet ${SUBNETS}[0] additional_args=--description ${UPDATE_SUBNET} + ${output} = OpenStackOperations.Show SubNet ${SUBNETS}[0] BuiltIn.Should Contain ${output} ${UPDATE_SUBNET} OpenStackOperations.Create Router ${ROUTER} ${router_list} = BuiltIn.Create List ${ROUTER} @@ -232,39 +232,39 @@ Suite Setup BuiltIn.Set Suite Variable ${GWMAC_ADDRS} BuiltIn.Set Suite Variable ${GWIP_ADDRS} OpenStackOperations.Create Allow All SecurityGroup ${SECURITY_GROUP} IPv6 - ${allowed_address_pairs_args} = BuiltIn.Set Variable --allowed-address ip-address=@{EXTRA_NW_SUBNET}[0] --allowed-address ip-address=@{EXTRA_NW_SUBNET}[1] - Create Port @{NETWORKS}[0] @{PORTS}[0] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args} - Create Port @{NETWORKS}[0] @{PORTS}[1] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args} - Create Port @{NETWORKS}[1] @{PORTS}[2] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args} - Create Port @{NETWORKS}[1] @{PORTS}[3] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args} + ${allowed_address_pairs_args} = BuiltIn.Set Variable --allowed-address ip-address=${EXTRA_NW_SUBNET}[0] --allowed-address ip-address=${EXTRA_NW_SUBNET}[1] + Create Port ${NETWORKS}[0] ${PORTS}[0] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args} + Create Port ${NETWORKS}[0] ${PORTS}[1] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args} + Create Port ${NETWORKS}[1] ${PORTS}[2] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args} + Create Port ${NETWORKS}[1] ${PORTS}[3] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args} BuiltIn.Wait Until Keyword Succeeds 3s 1s Check For Elements At URI ${PORT_URL} ${PORTS} - OpenStackOperations.Update Port @{PORTS}[0] additional_args=--name ${UPDATE_PORT} + OpenStackOperations.Update Port ${PORTS}[0] additional_args=--name ${UPDATE_PORT} ${output} = Show Port ${UPDATE_PORT} BuiltIn.Should Contain ${output} ${UPDATE_PORT} - OpenStackOperations.Update Port ${UPDATE_PORT} additional_args=--name @{PORTS}[0] - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[0] @{NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[1] @{NET_1_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[2] @{NET_2_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[3] @{NET_2_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Update Port ${UPDATE_PORT} additional_args=--name ${PORTS}[0] + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[0] ${NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[1] ${NET_1_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[2] ${NET_2_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node ${PORTS}[3] ${NET_2_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} ${vms}= BuiltIn.Create List @{NET_1_VMS} @{NET_2_VMS} FOR ${vm} IN @{vms} OpenStackOperations.Poll VM Is ACTIVE ${vm} END BuiltIn.Wait Until Keyword Succeeds 30s 10s Wait For Routes To Propogate ${NETWORKS} ${SUBNET_CIDRS} - ${prefix_net10} = Replace String @{SUBNET_CIDRS}[0] ::/64 (:[a-f0-9]{,4}){,4} + ${prefix_net10} = Replace String ${SUBNET_CIDRS}[0] ::/64 (:[a-f0-9]{,4}){,4} ${status} ${message} Run Keyword And Ignore Error BuiltIn.Wait Until Keyword Succeeds 3x 60s OpenStackOperations.Collect VM IPv6 SLAAC Addresses - ... fail_on_none=true vm_list=${NET_1_VMS} network=@{NETWORKS}[0] subnet=${prefix_net10} - ${prefix_net20} = Replace String @{SUBNET_CIDRS}[1] ::/64 (:[a-f0-9]{,4}){,4} + ... fail_on_none=true vm_list=${NET_1_VMS} network=${NETWORKS}[0] subnet=${prefix_net10} + ${prefix_net20} = Replace String ${SUBNET_CIDRS}[1] ::/64 (:[a-f0-9]{,4}){,4} ${status} ${message} Run Keyword And Ignore Error BuiltIn.Wait Until Keyword Succeeds 3x 60s OpenStackOperations.Collect VM IPv6 SLAAC Addresses - ... fail_on_none=true vm_list=${NET_2_VMS} network=@{NETWORKS}[1] subnet=${prefix_net20} - ${VM_IP_NET10} = OpenStackOperations.Collect VM IPv6 SLAAC Addresses fail_on_none=false vm_list=${NET_1_VMS} network=@{NETWORKS}[0] subnet=${prefix_net10} - ${VM_IP_NET20} = OpenStackOperations.Collect VM IPv6 SLAAC Addresses fail_on_none=false vm_list=${NET_2_VMS} network=@{NETWORKS}[1] subnet=${prefix_net20} + ... fail_on_none=true vm_list=${NET_2_VMS} network=${NETWORKS}[1] subnet=${prefix_net20} + ${VM_IP_NET10} = OpenStackOperations.Collect VM IPv6 SLAAC Addresses fail_on_none=false vm_list=${NET_1_VMS} network=${NETWORKS}[0] subnet=${prefix_net10} + ${VM_IP_NET20} = OpenStackOperations.Collect VM IPv6 SLAAC Addresses fail_on_none=false vm_list=${NET_2_VMS} network=${NETWORKS}[1] subnet=${prefix_net20} ${VM_INSTANCES} = Collections.Combine Lists ${NET_1_VMS} ${NET_2_VMS} ${VM_IPS}= Collections.Combine Lists ${VM_IP_NET10} ${VM_IP_NET20} ${LOOP_COUNT} BuiltIn.Get Length ${NET_1_VMS} FOR ${index} IN RANGE 0 ${LOOP_COUNT} ${status} ${message} Run Keyword And Ignore Error BuiltIn.Should Not Contain ${VM_IPS}[${index}] None - Run Keyword If '${status}' == 'FAIL' OpenStack CLI openstack console log show @{VM_INSTANCES}[${index}] 30s + Run Keyword If '${status}' == 'FAIL' OpenStack CLI openstack console log show ${VM_INSTANCES}[${index}] 30s END OpenStackOperations.Copy DHCP Files From Control Node BuiltIn.Set Suite Variable ${VM_IP_NET10} @@ -276,7 +276,7 @@ Suite Setup Suite Teardown [Documentation] Delete the setup - BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] - BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_IDS}[1] - BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_IDS}[2] + BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=${VPN_INSTANCE_IDS}[0] + BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=${VPN_INSTANCE_IDS}[1] + BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=${VPN_INSTANCE_IDS}[2] OpenStackOperations.OpenStack Suite Teardown diff --git a/csit/suites/openstack/clustering/ha_l2.robot b/csit/suites/openstack/clustering/ha_l2.robot index 7f4a91bf40..a2d98804d3 100644 --- a/csit/suites/openstack/clustering/ha_l2.robot +++ b/csit/suites/openstack/clustering/ha_l2.robot @@ -34,19 +34,19 @@ Create All Controller Sessions Create Network net_1 [Documentation] Create Network with neutron request. - OpenStackOperations.Create Network @{NETWORKS}[0] + OpenStackOperations.Create Network ${NETWORKS}[0] Create Subnet For net_1 [Documentation] Create Sub Net for the Network with neutron request. - OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS}[0] @{SUBNET_CIDRS}[0] + OpenStackOperations.Create SubNet ${NETWORKS}[0] ${SUBNETS}[0] ${SUBNET_CIDRS}[0] Create Network net_2 [Documentation] Create Network with neutron request. - OpenStackOperations.Create Network @{NETWORKS}[1] + OpenStackOperations.Create Network ${NETWORKS}[1] Create Subnet For net_2 [Documentation] Create Sub Net for the Network with neutron request. - OpenStackOperations.Create SubNet @{NETWORKS}[1] @{SUBNETS}[1] @{SUBNET_CIDRS}[1] + OpenStackOperations.Create SubNet ${NETWORKS}[1] ${SUBNETS}[1] ${SUBNET_CIDRS}[1] Add Ssh Allow All Rule [Documentation] Allow all TCP/UDP/ICMP packets for this suite @@ -103,15 +103,15 @@ Take Down ODL2 Create Vm Instances For net_1 [Documentation] Create Vm instances using flavor and image names for a network. - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[0] @{NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[0] @{NET_1_VMS}[1] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[0] @{NET_1_VMS}[2] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[0] ${NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[0] ${NET_1_VMS}[1] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[0] ${NET_1_VMS}[2] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} Create Vm Instances For net_2 [Documentation] Create Vm instances using flavor and image names for a network. - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[1] @{NET_2_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[1] @{NET_2_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[1] @{NET_2_VMS}[2] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[1] ${NET_2_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[1] ${NET_2_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[1] ${NET_2_VMS}[2] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} Check Vm Instances Have Ip Address @{NET_1_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS} @@ -131,27 +131,27 @@ Bring Up ODL2 Ping Vm Instance1 In net_1 [Documentation] Check reachability of vm instances by pinging to them. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_1_VM_IPS}[0] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[0] ${NET_1_VM_IPS}[0] Ping Vm Instance2 In net_1 [Documentation] Check reachability of vm instances by pinging to them. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_1_VM_IPS}[1] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[0] ${NET_1_VM_IPS}[1] Ping Vm Instance3 In net_1 [Documentation] Check reachability of vm instances by pinging to them. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_1_VM_IPS}[2] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[0] ${NET_1_VM_IPS}[2] Ping Vm Instance1 In net_2 [Documentation] Check reachability of vm instances by pinging to them. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_2_VM_IPS}[0] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[1] ${NET_2_VM_IPS}[0] Ping Vm Instance2 In net_2 [Documentation] Check reachability of vm instances by pinging to them. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_2_VM_IPS}[1] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[1] ${NET_2_VM_IPS}[1] Ping Vm Instance3 In net_2 [Documentation] Check reachability of vm instances by pinging to them. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_2_VM_IPS}[2] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[1] ${NET_2_VM_IPS}[2] Take Down ODL3 [Documentation] Stop the karaf in Third Controller @@ -159,15 +159,15 @@ Take Down ODL3 Connectivity Tests From Vm Instance1 In net_1 [Documentation] Logging to the vm instance using generated key pair. - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${NET_1_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ${NET_1_VM_IPS} Connectivity Tests From Vm Instance2 In net_1 [Documentation] Logging to the vm instance using generated key pair. - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ${NET_1_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[1] ${NET_1_VM_IPS} Connectivity Tests From Vm Instance3 In net_1 [Documentation] Logging to the vm instance using generated key pair. - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[2] ${NET_1_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[2] ${NET_1_VM_IPS} Bring Up ODL3 [Documentation] Bring up ODL3 again @@ -175,15 +175,15 @@ Bring Up ODL3 Connectivity Tests From Vm Instance1 In net_2 In Healthy Cluster [Documentation] Logging to the vm instance using generated key pair. - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[0] ${NET_2_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_VM_IPS}[0] ${NET_2_VM_IPS} Connectivity Tests From Vm Instance2 In net_2 In Healthy Cluster [Documentation] Logging to the vm instance using generated key pair. - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[1] ${NET_2_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_VM_IPS}[1] ${NET_2_VM_IPS} Connectivity Tests From Vm Instance3 In net_2 In Healthy Cluster [Documentation] Logging to the vm instance using generated key pair. - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[2] ${NET_2_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_VM_IPS}[2] ${NET_2_VM_IPS} Take Down ODL1 and ODL2 [Documentation] Stop the karaf in First and Second Controller @@ -192,15 +192,15 @@ Take Down ODL1 and ODL2 Connectivity Tests From Vm Instance1 In net_2 With Two ODLs Down [Documentation] Logging to the vm instance using generated key pair. - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[0] ${NET_2_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_VM_IPS}[0] ${NET_2_VM_IPS} Connectivity Tests From Vm Instance2 In net_2 With Two ODLs Down [Documentation] Logging to the vm instance using generated key pair. - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[1] ${NET_2_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_VM_IPS}[1] ${NET_2_VM_IPS} Connectivity Tests From Vm Instance3 In net_2 With Two ODLs Down [Documentation] Logging to the vm instance using generated key pair. - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[2] ${NET_2_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_VM_IPS}[2] ${NET_2_VM_IPS} Bring Up ODL1 and ODL2 [Documentation] Bring up ODL1 and ODL2 again. Do not check for cluster sync until all nodes are @@ -211,12 +211,12 @@ Bring Up ODL1 and ODL2 Delete Vm Instance [Documentation] Delete Vm instances using instance names. Also remove the VM from the ... list so that later cleanup will not try to delete it. - OpenStackOperations.Delete Vm Instance @{NET_1_VMS}[0] + OpenStackOperations.Delete Vm Instance ${NET_1_VMS}[0] Remove From List ${NET_1_VMS} 0 No Ping For Deleted Vm [Documentation] Check non reachability of deleted vm instances by pinging to them. - ${output} = OpenStackOperations.Ping From DHCP Should Not Succeed @{NETWORKS}[0] @{NET_1_VM_IPS}[0] + ${output} = OpenStackOperations.Ping From DHCP Should Not Succeed ${NETWORKS}[0] ${NET_1_VM_IPS}[0] Delete Vm Instances In net_1 [Documentation] Delete Vm instances using instance names in network_1. @@ -232,11 +232,11 @@ Delete Vm Instances In net_2 Delete Sub Networks In net_1 [Documentation] Delete Sub Nets for the Networks with neutron request. - OpenStackOperations.Delete SubNet @{SUBNETS}[0] + OpenStackOperations.Delete SubNet ${SUBNETS}[0] Delete Sub Networks In net_2 [Documentation] Delete Sub Nets for the Networks with neutron request. - OpenStackOperations.Delete SubNet @{SUBNETS}[1] + OpenStackOperations.Delete SubNet ${SUBNETS}[1] Delete Networks [Documentation] Delete Networks with neutron request. diff --git a/csit/suites/openstack/clustering/ha_l3.robot b/csit/suites/openstack/clustering/ha_l3.robot index 2fa9dbcf4c..19c882ac3a 100644 --- a/csit/suites/openstack/clustering/ha_l3.robot +++ b/csit/suites/openstack/clustering/ha_l3.robot @@ -54,11 +54,11 @@ Create Networks Create Subnets For net_1 [Documentation] Create Sub Nets for the Networks with neutron request. - OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS}[0] @{SUBNET_CIDRS}[0] + OpenStackOperations.Create SubNet ${NETWORKS}[0] ${SUBNETS}[0] ${SUBNET_CIDRS}[0] Create Subnets For net_2 [Documentation] Create Sub Nets for the Networks with neutron request. - OpenStackOperations.Create SubNet @{NETWORKS}[1] @{SUBNETS}[1] @{SUBNET_CIDRS}[1] + OpenStackOperations.Create SubNet ${NETWORKS}[1] ${SUBNETS}[1] ${SUBNET_CIDRS}[1] Bring Up Leader Of Default Shard [Documentation] Bring up on cluster leader @@ -77,9 +77,9 @@ Take Down ODL1 Create Vm Instances For net_1 [Documentation] Create Vm instances using flavor and image names for a network. - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[0] @{NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[0] @{NET_1_VMS}[1] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[0] @{NET_1_VMS}[2] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[0] ${NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[0] ${NET_1_VMS}[1] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[0] ${NET_1_VMS}[2] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} Bring Up ODL1 [Documentation] Bring up ODL1 again @@ -95,9 +95,9 @@ Take Down ODL2 Create Vm Instances For net_2 [Documentation] Create Vm instances using flavor and image names for a network. - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[1] @{NET_2_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[1] @{NET_2_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[1] @{NET_2_VMS}[2] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[1] ${NET_2_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[1] ${NET_2_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[1] ${NET_2_VMS}[2] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} Check Vm Instances Have Ip Address @{NET_1_L3_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS} @@ -125,24 +125,24 @@ Take Down ODL3 Create Router router_2 [Documentation] Create Router and Add Interface to the subnets. - OpenStackOperations.Create Router @{ROUTERS}[1] + OpenStackOperations.Create Router ${ROUTERS}[1] [Teardown] Report_Failure_Due_To_Bug 6117 Create Router router_3 [Documentation] Create Router and Add Interface to the subnets. - OpenStackOperations.Create Router @{ROUTERS}[2] + OpenStackOperations.Create Router ${ROUTERS}[2] Add Interfaces To Router [Documentation] Add Interfaces FOR ${interface} IN @{SUBNETS} - OpenStackOperations.Add Router Interface @{ROUTERS}[2] ${interface} + OpenStackOperations.Add Router Interface ${ROUTERS}[2] ${interface} END Verify Created Routers [Documentation] Check created routers using northbound rest calls ${data} Utils.Get Data From URI 1 ${NEUTRON_ROUTERS_API} BuiltIn.Log ${data} - Should Contain ${data} @{ROUTERS}[2] + Should Contain ${data} ${ROUTERS}[2] Bring Up ODL3 [Documentation] Bring up ODL3 again @@ -152,44 +152,44 @@ Bring Up ODL3 Ping Vm Instance1 In net_2 From net_1 [Documentation] Check reachability of vm instances by pinging to them after creating routers. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_2_L3_VM_IPS}[0] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[0] ${NET_2_L3_VM_IPS}[0] Ping Vm Instance2 In net_2 From net_1 [Documentation] Check reachability of vm instances by pinging to them after creating routers. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_2_L3_VM_IPS}[1] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[0] ${NET_2_L3_VM_IPS}[1] Ping Vm Instance3 In net_2 From net_1 [Documentation] Check reachability of vm instances by pinging to them after creating routers. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_2_L3_VM_IPS}[2] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[0] ${NET_2_L3_VM_IPS}[2] Ping Vm Instance1 In net_1 From net_2 [Documentation] Check reachability of vm instances by pinging to them after creating routers. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_1_L3_VM_IPS}[0] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[1] ${NET_1_L3_VM_IPS}[0] Ping Vm Instance2 In net_1 From net_2 [Documentation] Check reachability of vm instances by pinging to them after creating routers. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_1_L3_VM_IPS}[1] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[1] ${NET_1_L3_VM_IPS}[1] Ping Vm Instance3 In net_1 From net_2 [Documentation] Check reachability of vm instances by pinging to them after creating routers. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_1_L3_VM_IPS}[2] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[1] ${NET_1_L3_VM_IPS}[2] Connectivity Tests From Vm Instance1 In net_1 In Healthy Cluster [Documentation] ssh to the VM instance and test operations. ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_L3_VM_IPS}[0] ${dst_list} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_L3_VM_IPS}[0] ${dst_list} [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False Connectivity Tests From Vm Instance2 In net_1 In Healthy Cluster [Documentation] ssh to the VM instance and test operations. ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_L3_VM_IPS}[1] ${dst_list} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_L3_VM_IPS}[1] ${dst_list} [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False Connectivity Tests From Vm Instance3 In net_1 In Healthy Cluster [Documentation] ssh to the VM instance and test operations. ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_L3_VM_IPS}[2] ${dst_list} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_L3_VM_IPS}[2] ${dst_list} [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False Take Down ODL1 and ODL2 @@ -203,19 +203,19 @@ Take Down ODL1 and ODL2 Connectivity Tests From Vm Instance1 In net_1 With Two ODLs Down [Documentation] ssh to the VM instance and test operations. ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_L3_VM_IPS}[0] ${dst_list} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_L3_VM_IPS}[0] ${dst_list} [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False Connectivity Tests From Vm Instance2 In net_1 With Two ODLs Down [Documentation] ssh to the VM instance and test operations. ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_L3_VM_IPS}[1] ${dst_list} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_L3_VM_IPS}[1] ${dst_list} [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False Connectivity Tests From Vm Instance3 In net_1 With Two ODLs Down [Documentation] ssh to the VM instance and test operations. ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_L3_VM_IPS}[2] ${dst_list} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_L3_VM_IPS}[2] ${dst_list} [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False Bring Up ODL1 and ODL2 @@ -240,19 +240,19 @@ Take Down ODL2 and ODL3 Connectivity Tests From Vm Instance1 In net_2 [Documentation] ssh to the VM instance and test operations. ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} - BuiltIn.Wait Until Keyword Succeeds 30s 10s OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_L3_VM_IPS}[0] ${dst_list} + BuiltIn.Wait Until Keyword Succeeds 30s 10s OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_L3_VM_IPS}[0] ${dst_list} [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False Connectivity Tests From Vm Instance2 In net_2 [Documentation] ssh to the VM instance and test operations. ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} - BuiltIn.Wait Until Keyword Succeeds 30s 10s OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_L3_VM_IPS}[1] ${dst_list} + BuiltIn.Wait Until Keyword Succeeds 30s 10s OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_L3_VM_IPS}[1] ${dst_list} [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False Connectivity Tests From Vm Instance3 In net_2 [Documentation] ssh to the VM instance and test operations. ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} - BuiltIn.Wait Until Keyword Succeeds 30s 10s OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_L3_VM_IPS}[2] ${dst_list} + BuiltIn.Wait Until Keyword Succeeds 30s 10s OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_L3_VM_IPS}[2] ${dst_list} [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False Bring Up ODL2 and ODL3 @@ -283,13 +283,13 @@ Bring Up All Instances Connectivity Tests From Vm Instance2 In net_2 after recovering all nodes [Documentation] ssh to the VM instance and test operations. ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_L3_VM_IPS}[1] ${dst_list} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_L3_VM_IPS}[1] ${dst_list} [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False Connectivity Tests From Vm Instance3 In net_2 after recovering all nodes [Documentation] ssh to the VM instance and test operations. ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_L3_VM_IPS}[2] ${dst_list} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_L3_VM_IPS}[2] ${dst_list} [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False Delete Vm Instances In net_1 @@ -307,27 +307,27 @@ Delete Vm Instances In net_2 Delete Router Interfaces [Documentation] Remove Interface to the subnets. FOR ${interface} IN @{SUBNETS} - OpenStackOperations.Remove Interface @{ROUTERS}[2] ${interface} + OpenStackOperations.Remove Interface ${ROUTERS}[2] ${interface} END Delete Routers [Documentation] Delete Router and Interface to the subnets. - OpenStackOperations.Delete Router @{ROUTERS}[1] - OpenStackOperations.Delete Router @{ROUTERS}[2] + OpenStackOperations.Delete Router ${ROUTERS}[1] + OpenStackOperations.Delete Router ${ROUTERS}[2] Verify Deleted Routers [Documentation] Check deleted routers using northbound rest calls ${data} = Utils.Get Data From URI 1 ${NEUTRON_ROUTERS_API} BuiltIn.Log ${data} - BuiltIn.Should Not Contain ${data} @{ROUTERS}[2] + BuiltIn.Should Not Contain ${data} ${ROUTERS}[2] Delete Sub Network In net_1 [Documentation] Delete Sub Nets for the Networks with neutron request. - OpenStackOperations.Delete SubNet @{SUBNETS}[0] + OpenStackOperations.Delete SubNet ${SUBNETS}[0] Delete Sub Network In net_2 [Documentation] Delete Sub Nets for the Networks with neutron request. - OpenStackOperations.Delete SubNet @{SUBNETS}[1] + OpenStackOperations.Delete SubNet ${SUBNETS}[1] Delete Networks [Documentation] Delete Networks with neutron request. diff --git a/csit/suites/openstack/clustering/ha_l3_block_port.robot b/csit/suites/openstack/clustering/ha_l3_block_port.robot index 07c6a8fc64..37230bfa11 100644 --- a/csit/suites/openstack/clustering/ha_l3_block_port.robot +++ b/csit/suites/openstack/clustering/ha_l3_block_port.robot @@ -40,11 +40,11 @@ Create Networks Create Subnets For net_1 [Documentation] Create Sub Nets for the Networks with neutron request. - OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS}[0] @{SUBNET_CIDRS}[0] + OpenStackOperations.Create SubNet ${NETWORKS}[0] ${SUBNETS}[0] ${SUBNET_CIDRS}[0] Create Subnets For net_2 [Documentation] Create Sub Nets for the Networks with neutron request. - OpenStackOperations.Create SubNet @{NETWORKS}[1] @{SUBNETS}[1] @{SUBNET_CIDRS}[1] + OpenStackOperations.Create SubNet ${NETWORKS}[1] ${SUBNETS}[1] ${SUBNET_CIDRS}[1] Add Ssh Allow All Rule [Documentation] Allow all TCP/UDP/ICMP packets for this suite @@ -56,9 +56,9 @@ Block Port On ODL1 Create Vm Instances For net_1 [Documentation] Create Vm instances using flavor and image names for a network. - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[0] @{NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[0] @{NET_1_VMS}[1] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[0] @{NET_1_VMS}[2] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[0] ${NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[0] ${NET_1_VMS}[1] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[0] ${NET_1_VMS}[2] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} Allow Port On ODL1 [Documentation] Allow connection on first controller @@ -70,9 +70,9 @@ Block Port On ODL2 Create Vm Instances For net_2 [Documentation] Create Vm instances using flavor and image names for a network. - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[1] @{NET_2_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[1] @{NET_2_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[1] @{NET_2_VMS}[2] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[1] ${NET_2_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[1] ${NET_2_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[1] ${NET_2_VMS}[2] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} Check Vm Instances Have Ip Address @{NET_1_L3_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS} @@ -96,24 +96,24 @@ Block Port On ODL3 Create Router router_2 [Documentation] Create Router and Add Interface to the subnets. - OpenStackOperations.Create Router @{ROUTERS}[1] + OpenStackOperations.Create Router ${ROUTERS}[1] [Teardown] Report_Failure_Due_To_Bug 6117 Create Router router_3 [Documentation] Create Router and Add Interface to the subnets. - OpenStackOperations.Create Router @{ROUTERS}[2] + OpenStackOperations.Create Router ${ROUTERS}[2] Add Interfaces To Router [Documentation] Add Interfaces FOR ${interface} IN @{SUBNETS} - OpenStackOperations.Add Router Interface @{ROUTERS}[2] ${interface} + OpenStackOperations.Add Router Interface ${ROUTERS}[2] ${interface} END Verify Created Routers [Documentation] Check created routers using northbound rest calls ${data} Utils.Get Data From URI 1 ${NEUTRON_ROUTERS_API} BuiltIn.Log ${data} - Should Contain ${data} @{ROUTERS}[2] + Should Contain ${data} ${ROUTERS}[2] Allow Port On ODL3 [Documentation] Allow connection on third controller @@ -121,27 +121,27 @@ Allow Port On ODL3 Ping Vm Instance1 In net_2 From net_1 [Documentation] Check reachability of vm instances by pinging to them after creating routers. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_2_L3_VM_IPS}[0] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[0] ${NET_2_L3_VM_IPS}[0] Ping Vm Instance2 In net_2 From net_1 [Documentation] Check reachability of vm instances by pinging to them after creating routers. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_2_L3_VM_IPS}[1] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[0] ${NET_2_L3_VM_IPS}[1] Ping Vm Instance3 In net_2 From net_1 [Documentation] Check reachability of vm instances by pinging to them after creating routers. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_2_L3_VM_IPS}[2] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[0] ${NET_2_L3_VM_IPS}[2] Ping Vm Instance1 In net_1 From net_2 [Documentation] Check reachability of vm instances by pinging to them after creating routers. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_1_L3_VM_IPS}[0] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[1] ${NET_1_L3_VM_IPS}[0] Ping Vm Instance2 In net_1 From net_2 [Documentation] Check reachability of vm instances by pinging to them after creating routers. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_1_L3_VM_IPS}[1] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[1] ${NET_1_L3_VM_IPS}[1] Ping Vm Instance3 In net_1 From net_2 [Documentation] Check reachability of vm instances by pinging to them after creating routers. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_1_L3_VM_IPS}[2] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[1] ${NET_1_L3_VM_IPS}[2] Block Port On ODL1 Again [Documentation] Block connection on first controller the second time @@ -156,19 +156,19 @@ Block Port On ODL2 Again Connectivity Tests From Vm Instance1 In net_1 [Documentation] ssh to the VM instance and test operations. ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_L3_VM_IPS}[0] ${dst_list} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_L3_VM_IPS}[0] ${dst_list} [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False Connectivity Tests From Vm Instance2 In net_1 [Documentation] ssh to the VM instance and test operations. ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_L3_VM_IPS}[1] ${dst_list} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_L3_VM_IPS}[1] ${dst_list} [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False Connectivity Tests From Vm Instance3 In net_1 [Documentation] ssh to the VM instance and test operations. ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_L3_VM_IPS}[2] ${dst_list} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_L3_VM_IPS}[2] ${dst_list} [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False Allow Port On ODL1 Again @@ -192,19 +192,19 @@ Block Port On ODL3 Again Connectivity Tests From Vm Instance1 In net_2 [Documentation] ssh to the VM instance and test operations. ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_L3_VM_IPS}[0] ${dst_list} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_L3_VM_IPS}[0] ${dst_list} [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False Connectivity Tests From Vm Instance2 In net_2 [Documentation] ssh to the VM instance and test operations. ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_L3_VM_IPS}[1] ${dst_list} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_L3_VM_IPS}[1] ${dst_list} [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False Connectivity Tests From Vm Instance3 In net_2 [Documentation] ssh to the VM instance and test operations. ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_L3_VM_IPS}[2] ${dst_list} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_L3_VM_IPS}[2] ${dst_list} [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False Allow Port On ODL2 Finally @@ -230,27 +230,27 @@ Delete Vm Instances In net_2 Delete Router Interfaces [Documentation] Remove Interface to the subnets. FOR ${interface} IN @{SUBNETS} - OpenStackOperations.Remove Interface @{ROUTERS}[2] ${interface} + OpenStackOperations.Remove Interface ${ROUTERS}[2] ${interface} END Delete Routers [Documentation] Delete Router and Interface to the subnets. - OpenStackOperations.Delete Router @{ROUTERS}[1] - OpenStackOperations.Delete Router @{ROUTERS}[2] + OpenStackOperations.Delete Router ${ROUTERS}[1] + OpenStackOperations.Delete Router ${ROUTERS}[2] Verify Deleted Routers [Documentation] Check deleted routers using northbound rest calls ${data} = Utils.Get Data From URI 1 ${NEUTRON_ROUTERS_API} BuiltIn.Log ${data} - BuiltIn.Should Not Contain ${data} @{ROUTERS}[2] + BuiltIn.Should Not Contain ${data} ${ROUTERS}[2] Delete Sub Network In net_1 [Documentation] Delete Sub Nets for the Networks with neutron request. - OpenStackOperations.Delete SubNet @{SUBNETS}[0] + OpenStackOperations.Delete SubNet ${SUBNETS}[0] Delete Sub Network In net_2 [Documentation] Delete Sub Nets for the Networks with neutron request. - OpenStackOperations.Delete SubNet @{SUBNETS}[1] + OpenStackOperations.Delete SubNet ${SUBNETS}[1] Delete Networks [Documentation] Delete Networks with neutron request. diff --git a/csit/suites/openstack/connectivity/external_network.robot b/csit/suites/openstack/connectivity/external_network.robot index 57f4795467..e7c4883457 100644 --- a/csit/suites/openstack/connectivity/external_network.robot +++ b/csit/suites/openstack/connectivity/external_network.robot @@ -38,13 +38,13 @@ Initial Ping To External Network PNF from Vm Instance 1 [Documentation] Check reachability of External Network PNF from VM instance (with ttl=1 to make sure no router hops) ${expect_ping_to_work} = Set Variable If "skip_if_controller" in @{TEST_TAGS} False True ${dst_ip}= BuiltIn.Create List ${EXTERNAL_PNF} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET1_FIP_VM_IPS}[0] ${dst_ip} ttl=1 ping_should_succeed=${expect_ping_to_work} ping_tries=8 + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET1_FIP_VM_IPS}[0] ${dst_ip} ttl=1 ping_should_succeed=${expect_ping_to_work} ping_tries=8 Initial Ping To External Network PNF from Vm Instance 2 [Documentation] Check reachability of External Network PNF from VM instance (with ttl=1 to make sure no router hops) ${expect_ping_to_work} = Set Variable If "skip_if_controller" in @{TEST_TAGS} False True ${dst_ip}= BuiltIn.Create List ${EXTERNAL_PNF} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET1_FIP_VM_IPS}[1] ${dst_ip} ttl=1 ping_should_succeed=${expect_ping_to_work} ping_tries=8 + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET1_FIP_VM_IPS}[1] ${dst_ip} ttl=1 ping_should_succeed=${expect_ping_to_work} ping_tries=8 Create And Associate Floating IPs for VMs [Documentation] Create and associate a floating IP for the VM @@ -59,121 +59,121 @@ Ping External Gateway From Control Node Ping Vm Instance1 Floating IP From Control Node [Documentation] Check reachability of VM instance through floating IP by pinging them. - OpenStackOperations.Ping Vm From Control Node @{VM_FLOATING_IPS}[0] additional_args=-I ${EXTERNAL_INTERNET_ADDR} + OpenStackOperations.Ping Vm From Control Node ${VM_FLOATING_IPS}[0] additional_args=-I ${EXTERNAL_INTERNET_ADDR} Ping Vm Instance2 Floating IP From Control Node [Documentation] Check reachability of VM instance through floating IP by pinging them. - OpenStackOperations.Ping Vm From Control Node @{VM_FLOATING_IPS}[1] additional_args=-I ${EXTERNAL_INTERNET_ADDR} + OpenStackOperations.Ping Vm From Control Node ${VM_FLOATING_IPS}[1] additional_args=-I ${EXTERNAL_INTERNET_ADDR} Ping Vm Instance2 Floating IP From Vm Instance1 With Floating IP (Hairpinning) [Documentation] Check reachability of VM instance floating IP from another VM instance with FIP (with ttl=1 to make sure no router hops) - ${dst_ip} = BuiltIn.Create List @{VM_FLOATING_IPS}[1] - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET1_FIP_VM_IPS}[0] ${dst_ip} ttl=1 + ${dst_ip} = BuiltIn.Create List ${VM_FLOATING_IPS}[1] + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET1_FIP_VM_IPS}[0] ${dst_ip} ttl=1 Connectivity Tests To Vm Instance2 Floating IP From Vm Instance3 With Floating IP (FIP-FIP in the same compute node) [Documentation] Check reachability of VM instance floating IP from another VM instance with FIP (FIP-FIP in the same compute node) BuiltIn.Pass Execution pass this test until ovs 2.9 is ready - ${dst_ip} = BuiltIn.Create List @{VM_FLOATING_IPS}[1] - OpenStackOperations.Test Netcat Operations From Vm Instance @{NETWORKS}[0] @{NET1_FIP_VM_IPS}[2] ${dst_ip} + ${dst_ip} = BuiltIn.Create List ${VM_FLOATING_IPS}[1] + OpenStackOperations.Test Netcat Operations From Vm Instance ${NETWORKS}[0] ${NET1_FIP_VM_IPS}[2] ${dst_ip} Ping Vm Instance1 Floating IP From SNAT VM Instance1 [Documentation] Check reachability of VM instance floating IP from another VM without Floating IP ${expect_ping_to_work} = Set Variable If "skip_if_controller" in @{TEST_TAGS} False True - ${dst_ip} = BuiltIn.Create List @{VM_FLOATING_IPS}[0] - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET1_SNAT_VM_IPS}[0] ${dst_ip} ttl=1 ping_should_succeed=${expect_ping_to_work} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET2_SNAT_VM_IPS}[0] ${dst_ip} ttl=1 ping_should_succeed=${expect_ping_to_work} + ${dst_ip} = BuiltIn.Create List ${VM_FLOATING_IPS}[0] + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET1_SNAT_VM_IPS}[0] ${dst_ip} ttl=1 ping_should_succeed=${expect_ping_to_work} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET2_SNAT_VM_IPS}[0] ${dst_ip} ttl=1 ping_should_succeed=${expect_ping_to_work} Ping Vm Instance1 Floating IP From SNAT VM Instance2 [Documentation] Check reachability of VM instance floating IP from another VM without Floating IP ${expect_ping_to_work} = Set Variable If "skip_if_controller" in @{TEST_TAGS} False True - ${dst_ip} = BuiltIn.Create List @{VM_FLOATING_IPS}[0] - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET1_SNAT_VM_IPS}[1] ${dst_ip} ttl=1 ping_should_succeed=${expect_ping_to_work} + ${dst_ip} = BuiltIn.Create List ${VM_FLOATING_IPS}[0] + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET1_SNAT_VM_IPS}[1] ${dst_ip} ttl=1 ping_should_succeed=${expect_ping_to_work} Ping Vm Instance2 Floating IP From SNAT VM Instance1 [Documentation] Check reachability of VM instance floating IP from another VM without Floating IP ${expect_ping_to_work} = Set Variable If "skip_if_controller" in @{TEST_TAGS} False True - ${dst_ip} = BuiltIn.Create List @{VM_FLOATING_IPS}[1] - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET1_SNAT_VM_IPS}[0] ${dst_ip} ttl=1 ping_should_succeed=${expect_ping_to_work} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET2_SNAT_VM_IPS}[0] ${dst_ip} ttl=1 ping_should_succeed=${expect_ping_to_work} + ${dst_ip} = BuiltIn.Create List ${VM_FLOATING_IPS}[1] + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET1_SNAT_VM_IPS}[0] ${dst_ip} ttl=1 ping_should_succeed=${expect_ping_to_work} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET2_SNAT_VM_IPS}[0] ${dst_ip} ttl=1 ping_should_succeed=${expect_ping_to_work} Ping Vm Instance2 Floating IP From SNAT VM Instance2 [Documentation] Check reachability of VM instance floating IP from another VM without Floating IP ${expect_ping_to_work} = Set Variable If "skip_if_controller" in @{TEST_TAGS} False True - ${dst_ip} = BuiltIn.Create List @{VM_FLOATING_IPS}[1] - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET1_SNAT_VM_IPS}[1] ${dst_ip} ttl=1 ping_should_succeed=${expect_ping_to_work} + ${dst_ip} = BuiltIn.Create List ${VM_FLOATING_IPS}[1] + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET1_SNAT_VM_IPS}[1] ${dst_ip} ttl=1 ping_should_succeed=${expect_ping_to_work} Ping External Network PNF from Vm Instance 1 After Floating IP Assignment [Documentation] Check reachability of External Network PNF from VM instance (with ttl=1 to make sure no router hops) ${dst_ip} = BuiltIn.Create List ${EXTERNAL_PNF} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET1_FIP_VM_IPS}[0] ${dst_ip} ttl=1 ping_tries=8 + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET1_FIP_VM_IPS}[0] ${dst_ip} ttl=1 ping_tries=8 SNAT - TCP connection to External Gateway From SNAT VM Instance1 [Documentation] Login to the VM instance and test TCP connection to the controller via SNAT [Tags] NON_GATE - OpenStackOperations.Test Netcat Operations From Vm Instance @{NETWORKS}[0] @{NET1_SNAT_VM_IPS}[0] ${EXTERNAL_GATEWAY} + OpenStackOperations.Test Netcat Operations From Vm Instance ${NETWORKS}[0] ${NET1_SNAT_VM_IPS}[0] ${EXTERNAL_GATEWAY} SNAT - UDP connection to External Gateway From SNAT VM Instance1 [Documentation] Login to the VM instance and test UDP connection to the controller via SNAT [Tags] NON_GATE - OpenStackOperations.Test Netcat Operations From Vm Instance @{NETWORKS}[0] @{NET1_SNAT_VM_IPS}[0] ${EXTERNAL_GATEWAY} -u + OpenStackOperations.Test Netcat Operations From Vm Instance ${NETWORKS}[0] ${NET1_SNAT_VM_IPS}[0] ${EXTERNAL_GATEWAY} -u SNAT - TCP connection to External Gateway From SNAT VM Instance2 [Documentation] Login to the VM instance and test TCP connection to the controller via SNAT [Tags] NON_GATE - OpenStackOperations.Test Netcat Operations From Vm Instance @{NETWORKS}[0] @{NET1_SNAT_VM_IPS}[1] ${EXTERNAL_GATEWAY} + OpenStackOperations.Test Netcat Operations From Vm Instance ${NETWORKS}[0] ${NET1_SNAT_VM_IPS}[1] ${EXTERNAL_GATEWAY} SNAT - UDP connection to External Gateway From SNAT VM Instance2 [Documentation] Login to the VM instance and test UDP connection to the controller via SNAT [Tags] NON_GATE - OpenStackOperations.Test Netcat Operations From Vm Instance @{NETWORKS}[0] @{NET1_SNAT_VM_IPS}[1] ${EXTERNAL_GATEWAY} -u + OpenStackOperations.Test Netcat Operations From Vm Instance ${NETWORKS}[0] ${NET1_SNAT_VM_IPS}[1] ${EXTERNAL_GATEWAY} -u SNAT - TCP connection to External Gateway From SNAT VM Instance3 [Documentation] Login to the VM instance and test TCP connection to the controller via SNAT [Tags] NON_GATE - OpenStackOperations.Test Netcat Operations From Vm Instance @{NETWORKS}[1] @{NET2_SNAT_VM_IPS}[0] ${EXTERNAL_GATEWAY} + OpenStackOperations.Test Netcat Operations From Vm Instance ${NETWORKS}[1] ${NET2_SNAT_VM_IPS}[0] ${EXTERNAL_GATEWAY} SNAT - UDP connection to External Gateway From SNAT VM Instance3 [Documentation] Login to the VM instance and test UDP connection to the controller via SNAT [Tags] NON_GATE - OpenStackOperations.Test Netcat Operations From Vm Instance @{NETWORKS}[1] @{NET2_SNAT_VM_IPS}[0] ${EXTERNAL_GATEWAY} -u + OpenStackOperations.Test Netcat Operations From Vm Instance ${NETWORKS}[1] ${NET2_SNAT_VM_IPS}[0] ${EXTERNAL_GATEWAY} -u Ping External Network PNF from SNAT VM Instance1 [Documentation] Check reachability of External Network PNF from SNAT VM Instance1 [Tags] NON_GATE ${expect_ping_to_work} = Set Variable If "skip_if_controller" in @{TEST_TAGS} False True ${dst_ip} = BuiltIn.Create List ${EXTERNAL_PNF} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET1_SNAT_VM_IPS}[0] ${dst_ip} ping_should_succeed=${expect_ping_to_work} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET1_SNAT_VM_IPS}[0] ${dst_ip} ping_should_succeed=${expect_ping_to_work} Ping External Network PNF from SNAT VM Instance2 [Documentation] Check reachability of External Network PNF from SNAT VM Instance2 [Tags] NON_GATE ${expect_ping_to_work} = Set Variable If "skip_if_controller" in @{TEST_TAGS} False True ${dst_ip} = BuiltIn.Create List ${EXTERNAL_PNF} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET1_SNAT_VM_IPS}[1] ${dst_ip} ping_should_succeed=${expect_ping_to_work} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET1_SNAT_VM_IPS}[1] ${dst_ip} ping_should_succeed=${expect_ping_to_work} Remove Floating Ip from VM Instance 1 [Documentation] Delete FIP from VM Instance 1 [Tags] NON_GATE - OpenStackOperations.Remove Floating Ip From Vm @{NET1_FIP_VMS}[0] @{VM_FLOATING_IPS}[0] + OpenStackOperations.Remove Floating Ip From Vm ${NET1_FIP_VMS}[0] ${VM_FLOATING_IPS}[0] Remove Floating Ip from VM Instance 2 [Documentation] Delete FIP from VM Instance 2 [Tags] NON_GATE - OpenStackOperations.Remove Floating Ip From Vm @{NET1_FIP_VMS}[1] @{VM_FLOATING_IPS}[1] + OpenStackOperations.Remove Floating Ip From Vm ${NET1_FIP_VMS}[1] ${VM_FLOATING_IPS}[1] Ping External Network PNF from Vm Instance 1 After Floating IP Removal [Documentation] Check reachability of External Network PNF from VM instance (with ttl=1 to make sure no router hops) [Tags] NON_GATE ${expect_ping_to_work} = Set Variable If "skip_if_controller" in @{TEST_TAGS} False True ${dst_ip} = BuiltIn.Create List ${EXTERNAL_PNF} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET1_FIP_VM_IPS}[0] ${dst_ip} ttl=1 ping_should_succeed=${expect_ping_to_work} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET1_FIP_VM_IPS}[0] ${dst_ip} ttl=1 ping_should_succeed=${expect_ping_to_work} Ping External Network PNF from Vm Instance 2 After Floating IP Removal [Documentation] Check reachability of External Network PNF from VM instance (with ttl=1 to make sure no router hops) [Tags] NON_GATE ${expect_ping_to_work} = Set Variable If "skip_if_controller" in @{TEST_TAGS} False True ${dst_ip} = BuiltIn.Create List ${EXTERNAL_PNF} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET1_FIP_VM_IPS}[1] ${dst_ip} ttl=1 ping_should_succeed=${expect_ping_to_work} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET1_FIP_VM_IPS}[1] ${dst_ip} ttl=1 ping_should_succeed=${expect_ping_to_work} *** Keywords *** Suite Setup @@ -186,12 +186,12 @@ Suite Setup OpenStackOperations.Create SubNet ${network} ${subnet} ${cidr} END OpenStackOperations.Create Allow All SecurityGroup ${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[0] @{NET1_FIP_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[0] @{NET1_FIP_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[0] @{NET1_FIP_VMS}[2] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[0] @{NET_1_SNAT_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[0] @{NET_1_SNAT_VMS}[1] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[1] @{NET_2_SNAT_VMS}[0] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[0] ${NET1_FIP_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[0] ${NET1_FIP_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[0] ${NET1_FIP_VMS}[2] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[0] ${NET_1_SNAT_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[0] ${NET_1_SNAT_VMS}[1] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[1] ${NET_2_SNAT_VMS}[0] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} @{NET1_FIP_VM_IPS} ${NET1_FIP_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET1_FIP_VMS} @{NET1_SNAT_VM_IPS} ${NET1_SNAT_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET1_SNAT_VMS} @{NET2_SNAT_VM_IPS} ${NET2_SNAT_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET2_SNAT_VMS} diff --git a/csit/suites/openstack/connectivity/l2.robot b/csit/suites/openstack/connectivity/l2.robot index 54ecf754c3..5d4f49e887 100644 --- a/csit/suites/openstack/connectivity/l2.robot +++ b/csit/suites/openstack/connectivity/l2.robot @@ -27,60 +27,60 @@ ${NET_1_VLAN_ID} 1121 *** Test Cases *** Ping Vm Instances In net_1 [Documentation] Check reachability of vm instances by pinging to them. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_1_VM_IPS}[0] - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_1_VM_IPS}[1] - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_1_VM_IPS}[2] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[0] ${NET_1_VM_IPS}[0] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[0] ${NET_1_VM_IPS}[1] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[0] ${NET_1_VM_IPS}[2] Ping Vm Instances In net_2 [Documentation] Check reachability of vm instances by pinging to them. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_2_VM_IPS}[0] - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_2_VM_IPS}[1] - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_2_VM_IPS}[2] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[1] ${NET_2_VM_IPS}[0] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[1] ${NET_2_VM_IPS}[1] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[1] ${NET_2_VM_IPS}[2] Connectivity Tests From Vm Instances In net_1 [Documentation] Login to the vm instance and test some operations - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${NET_1_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ${NET_1_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[2] ${NET_1_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ${NET_1_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[1] ${NET_1_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[2] ${NET_1_VM_IPS} Connectivity Tests From Vm Instances In net_2 [Documentation] Login to the vm instance and test operations - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[0] ${NET_2_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[1] ${NET_2_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[2] ${NET_2_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_VM_IPS}[0] ${NET_2_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_VM_IPS}[1] ${NET_2_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_VM_IPS}[2] ${NET_2_VM_IPS} Delete A Vm Instance [Documentation] Delete Vm instances using instance names. [Tags] NON_GATE - OpenStackOperations.Delete Vm Instance @{NET_1_VMS}[0] + OpenStackOperations.Delete Vm Instance ${NET_1_VMS}[0] No Ping For Deleted Vm [Documentation] Check non reachability of deleted vm instances by pinging to them. [Tags] NON_GATE - OpenStackOperations.Ping From DHCP Should Not Succeed @{NETWORKS}[0] @{NET_1_VM_IPS}[0] + OpenStackOperations.Ping From DHCP Should Not Succeed ${NETWORKS}[0] ${NET_1_VM_IPS}[0] Recreate The Deleted Vm Instance and check ping & connectivity. [Documentation] Check reachability of recreated vm instances by pinging to them. [Tags] NON_GATE - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[0] @{NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[0] ${NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} @{NET_1_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS} - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_1_VM_IPS}[0] - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${NET_1_VM_IPS} + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[0] ${NET_1_VM_IPS}[0] + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ${NET_1_VM_IPS} *** Keywords *** Suite Setup OpenStackOperations.OpenStack Suite Setup - OpenStackOperations.Create Network @{NETWORKS}[0] --provider-network-type vlan --provider-physical-network ${PUBLIC_PHYSICAL_NETWORK} --provider-segment ${NET_1_VLAN_ID} - OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS}[0] @{SUBNET_CIDRS}[0] - OpenStackOperations.Create Network @{NETWORKS}[1] - OpenStackOperations.Create SubNet @{NETWORKS}[1] @{SUBNETS}[1] @{SUBNET_CIDRS}[1] + OpenStackOperations.Create Network ${NETWORKS}[0] --provider-network-type vlan --provider-physical-network ${PUBLIC_PHYSICAL_NETWORK} --provider-segment ${NET_1_VLAN_ID} + OpenStackOperations.Create SubNet ${NETWORKS}[0] ${SUBNETS}[0] ${SUBNET_CIDRS}[0] + OpenStackOperations.Create Network ${NETWORKS}[1] + OpenStackOperations.Create SubNet ${NETWORKS}[1] ${SUBNETS}[1] ${SUBNET_CIDRS}[1] OpenStackOperations.Create Allow All SecurityGroup ${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[0] @{NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[0] @{NET_1_VMS}[1] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[0] @{NET_1_VMS}[2] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[1] @{NET_2_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[1] @{NET_2_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[1] @{NET_2_VMS}[2] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[0] ${NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[0] ${NET_1_VMS}[1] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[0] ${NET_1_VMS}[2] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[1] ${NET_2_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[1] ${NET_2_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[1] ${NET_2_VMS}[2] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} @{NET_1_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS} @{NET_2_VM_IPS} ${NET_2_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_2_VMS} BuiltIn.Set Suite Variable @{NET_1_VM_IPS} diff --git a/csit/suites/openstack/connectivity/l3.robot b/csit/suites/openstack/connectivity/l3.robot index 64f421c221..b2bbcb2ba9 100644 --- a/csit/suites/openstack/connectivity/l3.robot +++ b/csit/suites/openstack/connectivity/l3.robot @@ -31,69 +31,69 @@ ${SECURITY_GROUP} l3_sg *** Test Cases *** Ping Vm Instance1 In net_2 From net_1 (vxlan to vlan) [Documentation] Check reachability of vm instances by pinging to them after creating routers. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_2_L3_VM_IPS}[0] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[0] ${NET_2_L3_VM_IPS}[0] Ping Vm Instance2 In net_2 From net_1 (vxlan to vlan) [Documentation] Check reachability of vm instances by pinging to them after creating routers. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_2_L3_VM_IPS}[1] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[0] ${NET_2_L3_VM_IPS}[1] Ping Vm Instance3 In net_2 From net_1 (vxlan to vlan) [Documentation] Check reachability of vm instances by pinging to them after creating routers. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_2_L3_VM_IPS}[2] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[0] ${NET_2_L3_VM_IPS}[2] Ping Vm Instance1 In net_1 From net_2 (vlan to vxlan) [Documentation] Check reachability of vm instances by pinging to them after creating routers. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_1_L3_VM_IPS}[0] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[1] ${NET_1_L3_VM_IPS}[0] Ping Vm Instance2 In net_1 From net_2 (vlan to vxlan) [Documentation] Check reachability of vm instances by pinging to them after creating routers. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_1_L3_VM_IPS}[1] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[1] ${NET_1_L3_VM_IPS}[1] Ping Vm Instance3 In net_1 From net_2 (vlan to vxlan) [Documentation] Check reachability of vm instances by pinging to them after creating routers. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_1_L3_VM_IPS}[2] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[1] ${NET_1_L3_VM_IPS}[2] Ping Vm Instance1 In net_3 From net_2 (vxlan to vxlan) [Documentation] Check reachability of vm instances by pinging to them after creating routers. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_3_L3_VM_IPS}[0] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[1] ${NET_3_L3_VM_IPS}[0] Ping Vm Instance2 In net_3 From net_2 (vxlan to vxlan) [Documentation] Check reachability of vm instances by pinging to them after creating routers. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_3_L3_VM_IPS}[1] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[1] ${NET_3_L3_VM_IPS}[1] Ping Vm Instance3 In net_3 From net_2 (vxlan to vxlan) [Documentation] Check reachability of vm instances by pinging to them after creating routers. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_3_L3_VM_IPS}[2] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[1] ${NET_3_L3_VM_IPS}[2] Connectivity Tests From Vm Instance1 In net_1 [Documentation] Login to the VM instance and test operations ${dst_list} = BuiltIn.Create List @{NET_1_L3_VM_IPS} @{NET_2_L3_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_L3_VM_IPS}[0] ${dst_list} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_L3_VM_IPS}[0] ${dst_list} Connectivity Tests From Vm Instance2 In net_1 [Documentation] Login to the vm instance and test operations ${dst_list} = BuiltIn.Create List @{NET_1_L3_VM_IPS} @{NET_2_L3_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_L3_VM_IPS}[1] ${dst_list} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_L3_VM_IPS}[1] ${dst_list} Connectivity Tests From Vm Instance3 In net_1 [Documentation] Login to the vm instance and test operations ${dst_list} = BuiltIn.Create List @{NET_1_L3_VM_IPS} @{NET_2_L3_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_L3_VM_IPS}[2] ${dst_list} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_L3_VM_IPS}[2] ${dst_list} Connectivity Tests From Vm Instance1 In net_2 [Documentation] Login to the vm instance and test operations ${dst_list} = BuiltIn.Create List @{NET_1_L3_VM_IPS} @{NET_2_L3_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_L3_VM_IPS}[0] ${dst_list} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_L3_VM_IPS}[0] ${dst_list} Connectivity Tests From Vm Instance2 In net_2 [Documentation] Logging to the vm instance using generated key pair. ${dst_list} = BuiltIn.Create List @{NET_1_L3_VM_IPS} @{NET_2_L3_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_L3_VM_IPS}[1] ${dst_list} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_L3_VM_IPS}[1] ${dst_list} Connectivity Tests From Vm Instance3 In net_2 [Documentation] Logging to the vm instance using generated key pair. ${dst_list} = BuiltIn.Create List @{NET_1_L3_VM_IPS} @{NET_2_L3_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_L3_VM_IPS}[2] ${dst_list} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_L3_VM_IPS}[2] ${dst_list} Delete Vm Instances In net_1 [Documentation] Delete Vm instances using instance names in net_1. @@ -119,22 +119,22 @@ Delete Vm Instances In net_3 Create Vm Instances For net_4 [Documentation] Create VM instances using flavor and image names for a network. [Tags] NON_GATE - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[3] @{NET_4_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[3] ${NET_4_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} Create Vm Instances For net_5 [Documentation] Create VM instances using flavor and image names for a network. [Tags] NON_GATE - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[4] @{NET_5_VMS}[0] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[4] ${NET_5_VMS}[0] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} Create Router2 [Documentation] Create Router [Tags] NON_GATE - OpenStackOperations.Create Router @{ROUTER}[1] + OpenStackOperations.Create Router ${ROUTER}[1] Add net_4 Interfaces To Router2 [Documentation] Add Interfaces [Tags] NON_GATE - OpenStackOperations.Add Router Interface @{ROUTER}[1] @{SUBNETS_2}[0] + OpenStackOperations.Add Router Interface ${ROUTER}[1] ${SUBNETS_2}[0] Check Vm Instances on net_4 and net_5 Have Ip Address [Tags] NON_GATE @@ -152,47 +152,47 @@ Check Vm Instances on net_4 and net_5 Have Ip Address Add net_5 Interfaces To Router2 [Documentation] Add Interfaces [Tags] NON_GATE - OpenStackOperations.Add Router Interface @{ROUTER}[1] @{SUBNETS_2}[1] + OpenStackOperations.Add Router Interface ${ROUTER}[1] ${SUBNETS_2}[1] Ping Vm Instance5 In net_5 From net_4 (vlan to vlan) [Documentation] Check reachability of vm instances by pinging to them after creating routers. [Tags] NON_GATE - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[3] @{NET_5_L3_VM_IPS}[0] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[3] ${NET_5_L3_VM_IPS}[0] Ping Vm Instance5 In net_4 From net_5 (vlan to vlan) [Documentation] Check reachability of vm instances by pinging to them after creating routers. [Tags] NON_GATE - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[4] @{NET_4_L3_VM_IPS}[0] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[4] ${NET_4_L3_VM_IPS}[0] Connectivity Tests From Vm Instance4 In net_5 [Documentation] Check reachability of vm instance on a different network with one vlan vm in source and destination. [Tags] NON_GATE ${dst_list} = BuiltIn.Create List @{NET_4_L3_VM_IPS} - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[4] @{NET_5_L3_VM_IPS}[0] ${dst_list} + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[4] ${NET_5_L3_VM_IPS}[0] ${dst_list} *** Keywords *** Suite Setup OpenStackOperations.OpenStack Suite Setup - OpenStackOperations.Create Network @{NETWORKS}[0] --provider-network-type vlan --provider-physical-network ${PUBLIC_PHYSICAL_NETWORK} --provider-segment @{NET_VLAN_ID}[0] - OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS_1}[0] @{SUBNET_CIDRS}[0] - OpenStackOperations.Create Network @{NETWORKS}[1] - OpenStackOperations.Create SubNet @{NETWORKS}[1] @{SUBNETS_1}[1] @{SUBNET_CIDRS}[1] - OpenStackOperations.Create Network @{NETWORKS}[2] - OpenStackOperations.Create SubNet @{NETWORKS}[2] @{SUBNETS_1}[2] @{SUBNET_CIDRS}[2] - OpenStackOperations.Create Network @{NETWORKS}[3] --provider-network-type vlan --provider-physical-network ${PUBLIC_PHYSICAL_NETWORK} --provider-segment @{NET_VLAN_ID}[1] - OpenStackOperations.Create SubNet @{NETWORKS}[3] @{SUBNETS_2}[0] @{SUBNET_CIDRS}[3] - OpenStackOperations.Create Network @{NETWORKS}[4] --provider-network-type vlan --provider-physical-network ${PUBLIC_PHYSICAL_NETWORK} --provider-segment @{NET_VLAN_ID}[2] - OpenStackOperations.Create SubNet @{NETWORKS}[4] @{SUBNETS_2}[1] @{SUBNET_CIDRS}[4] + OpenStackOperations.Create Network ${NETWORKS}[0] --provider-network-type vlan --provider-physical-network ${PUBLIC_PHYSICAL_NETWORK} --provider-segment ${NET_VLAN_ID}[0] + OpenStackOperations.Create SubNet ${NETWORKS}[0] ${SUBNETS_1}[0] ${SUBNET_CIDRS}[0] + OpenStackOperations.Create Network ${NETWORKS}[1] + OpenStackOperations.Create SubNet ${NETWORKS}[1] ${SUBNETS_1}[1] ${SUBNET_CIDRS}[1] + OpenStackOperations.Create Network ${NETWORKS}[2] + OpenStackOperations.Create SubNet ${NETWORKS}[2] ${SUBNETS_1}[2] ${SUBNET_CIDRS}[2] + OpenStackOperations.Create Network ${NETWORKS}[3] --provider-network-type vlan --provider-physical-network ${PUBLIC_PHYSICAL_NETWORK} --provider-segment ${NET_VLAN_ID}[1] + OpenStackOperations.Create SubNet ${NETWORKS}[3] ${SUBNETS_2}[0] ${SUBNET_CIDRS}[3] + OpenStackOperations.Create Network ${NETWORKS}[4] --provider-network-type vlan --provider-physical-network ${PUBLIC_PHYSICAL_NETWORK} --provider-segment ${NET_VLAN_ID}[2] + OpenStackOperations.Create SubNet ${NETWORKS}[4] ${SUBNETS_2}[1] ${SUBNET_CIDRS}[4] OpenStackOperations.Create Allow All SecurityGroup ${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[0] @{NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[0] @{NET_1_VMS}[1] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[0] @{NET_1_VMS}[2] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[1] @{NET_2_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[1] @{NET_2_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[1] @{NET_2_VMS}[2] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[2] @{NET_3_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[2] @{NET_3_VMS}[1] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[2] @{NET_3_VMS}[2] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[0] ${NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[0] ${NET_1_VMS}[1] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[0] ${NET_1_VMS}[2] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[1] ${NET_2_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[1] ${NET_2_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[1] ${NET_2_VMS}[2] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[2] ${NET_3_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[2] ${NET_3_VMS}[1] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[2] ${NET_3_VMS}[2] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} @{NET_1_L3_VM_IPS} ${NET_1_L3_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS} @{NET_2_L3_VM_IPS} ${NET_2_L3_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_2_VMS} @{NET_3_L3_VM_IPS} ${NET_3_L3_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_3_VMS} @@ -205,9 +205,9 @@ Suite Setup BuiltIn.Should Not Contain ${NET_1_L3_DHCP_IP} None BuiltIn.Should Not Contain ${NET_2_L3_DHCP_IP} None BuiltIn.Should Not Contain ${NET_3_L3_DHCP_IP} None - OpenStackOperations.Create Router @{ROUTER}[0] + OpenStackOperations.Create Router ${ROUTER}[0] FOR ${interface} IN @{SUBNETS_1} - OpenStackOperations.Add Router Interface @{ROUTER}[0] ${interface} + OpenStackOperations.Add Router Interface ${ROUTER}[0] ${interface} END OpenStackOperations.Show Debugs @{NET_1_VMS} @{NET_2_VMS} @{NET_3_VMS} OpenStackOperations.Get Suite Debugs diff --git a/csit/suites/openstack/connectivity/live_migration.robot b/csit/suites/openstack/connectivity/live_migration.robot index e8293f68c3..19b15d7a79 100644 --- a/csit/suites/openstack/connectivity/live_migration.robot +++ b/csit/suites/openstack/connectivity/live_migration.robot @@ -28,34 +28,34 @@ Migrate Instance And Verify Connectivity While Migration And After [Documentation] migrate the server to different host. ... and check the connectivity during Migration ... with a ping test from DHCP NS. - ${net_id} = OpenStackOperations.Get Net Id @{NETWORKS}[0] + ${net_id} = OpenStackOperations.Get Net Id ${NETWORKS}[0] ${devstack_conn_id} = OpenStackOperations.Get ControlNode Connection SSHLibrary.Switch Connection ${devstack_conn_id} - ${output} = SSHLibrary.Write sudo ip netns exec qdhcp-${net_id} ping @{NET1_VM_IPS}[0] - ${vm_host_before_migration} = OpenStackOperations.Get Hypervisor Host Of Vm @{NET_1_VMS}[0] - OpenStackOperations.Server Live Migrate @{NET_1_VMS}[0] - ${vm_list} = BuiltIn.Create List @{NET_1_VMS}[0] + ${output} = SSHLibrary.Write sudo ip netns exec qdhcp-${net_id} ping ${NET1_VM_IPS}[0] + ${vm_host_before_migration} = OpenStackOperations.Get Hypervisor Host Of Vm ${NET_1_VMS}[0] + OpenStackOperations.Server Live Migrate ${NET_1_VMS}[0] + ${vm_list} = BuiltIn.Create List ${NET_1_VMS}[0] FOR ${vm} IN @{vm_list} BuiltIn.Wait Until Keyword Succeeds 6x 20s OpenStackOperations.Check If Migration Is Complete ${vm} END - ${vm_host_after_migration} = OpenStackOperations.Get Hypervisor Host Of Vm @{NET_1_VMS}[0] + ${vm_host_after_migration} = OpenStackOperations.Get Hypervisor Host Of Vm ${NET_1_VMS}[0] BuiltIn.Run Keyword If "${OPENSTACK_TOPO}" == "1cmb-0ctl-0cmp" BuiltIn.Should Match ${vm_host_after_migration} ${vm_host_before_migration} ... ELSE BuiltIn.Should Not Match ${vm_host_after_migration} ${vm_host_before_migration} SSHLibrary.Switch Connection ${devstack_conn_id} RemoteBash.Write_Bare_Ctrl_C ${output} = SSHLibrary.Read Until packet loss BuiltIn.Should Contain ${output} 64 bytes - ${output} = DevstackUtils.Write Commands Until Prompt sudo ip netns exec qdhcp-${net_id} ping -c 10 @{NET1_VM_IPS}[0] + ${output} = DevstackUtils.Write Commands Until Prompt sudo ip netns exec qdhcp-${net_id} ping -c 10 ${NET1_VM_IPS}[0] BuiltIn.Should Contain ${output} 64 bytes *** Keywords *** Suite Setup LiveMigration.Live Migration Suite Setup - OpenstackOperations.Create Network @{NETWORKS}[0] - OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS}[0] @{SUBNETS_RANGE}[0] + OpenstackOperations.Create Network ${NETWORKS}[0] + OpenStackOperations.Create SubNet ${NETWORKS}[0] ${SUBNETS}[0] ${SUBNETS_RANGE}[0] OpenStackOperations.Create Allow All SecurityGroup ${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[0] @{NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[0] @{NET_1_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[0] ${NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[0] ${NET_1_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} @{NET_1_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS} BuiltIn.Set Suite Variable @{NET_1_VM_IPS} BuiltIn.Should Not Contain ${NET_1_VM_IPS} None diff --git a/csit/suites/openstack/connectivity/security_group.robot b/csit/suites/openstack/connectivity/security_group.robot index 6e80d092dc..f3c2954f64 100644 --- a/csit/suites/openstack/connectivity/security_group.robot +++ b/csit/suites/openstack/connectivity/security_group.robot @@ -31,17 +31,17 @@ ${ROUTER} sg_router *** Test Cases *** No Ping From DHCP To Vm Instance1 [Documentation] Check non-reachability of vm instances by pinging to them. - OpenStackOperations.Ping From DHCP Should Not Succeed @{NETWORKS}[0] @{NET_1_VM_IPS}[1] + OpenStackOperations.Ping From DHCP Should Not Succeed ${NETWORKS}[0] ${NET_1_VM_IPS}[1] No Ping From Vm Instance1 To Vm Instance2 [Documentation] Login to the vm instance and test some operations - ${vm_ips} = BuiltIn.Create List @{NET_1_VM_IPS}[1] - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${vm_ips} ping_should_succeed=False + ${vm_ips} = BuiltIn.Create List ${NET_1_VM_IPS}[1] + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ${vm_ips} ping_should_succeed=False No Ping From Vm Instance2 To Vm Instance1 [Documentation] Login to the vm instance and test operations - ${vm_ips} = BuiltIn.Create List @{NET_1_VM_IPS}[0] - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ${vm_ips} ping_should_succeed=False + ${vm_ips} = BuiltIn.Create List ${NET_1_VM_IPS}[0] + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[1] ${vm_ips} ping_should_succeed=False Add Ping Allow Rules With Remote SG (only between VMs) OpenStackOperations.Neutron Security Group Rule Create ${SECURITY_GROUP} direction=ingress protocol=icmp remote_group_id=${SECURITY_GROUP} @@ -50,21 +50,21 @@ Add Ping Allow Rules With Remote SG (only between VMs) Verify No Ping From DHCP To Vm Instance1 [Documentation] Check non-reachability of vm instances by pinging to them. - OpenStackOperations.Ping From DHCP Should Not Succeed @{NETWORKS}[0] @{NET_1_VM_IPS}[0] + OpenStackOperations.Ping From DHCP Should Not Succeed ${NETWORKS}[0] ${NET_1_VM_IPS}[0] Verify No Ping From DHCP To Vm Instance2 [Documentation] Check non-reachability of vm instances by pinging to them. - OpenStackOperations.Ping From DHCP Should Not Succeed @{NETWORKS}[0] @{NET_1_VM_IPS}[1] + OpenStackOperations.Ping From DHCP Should Not Succeed ${NETWORKS}[0] ${NET_1_VM_IPS}[1] Ping From Vm Instance1 To Vm Instance2 [Documentation] Login to the vm instance and test some operations - ${vm_ips} = BuiltIn.Create List @{NET_1_VM_IPS}[1] - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${vm_ips} + ${vm_ips} = BuiltIn.Create List ${NET_1_VM_IPS}[1] + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ${vm_ips} Ping From Vm Instance2 To Vm Instance1 [Documentation] Login to the vm instance and test operations - ${vm_ips} = BuiltIn.Create List @{NET_1_VM_IPS}[0] - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ${vm_ips} + ${vm_ips} = BuiltIn.Create List ${NET_1_VM_IPS}[0] + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[1] ${vm_ips} Create Router [Documentation] Create Router and Add Interface to the subnets. @@ -77,18 +77,18 @@ Add Interfaces To Router Ping From Vm Instance1 To Vm Instance3 [Documentation] Login to the vm instance and test some operations - ${vm_ips} = BuiltIn.Create List @{NET_2_VM_IPS}[0] - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${vm_ips} + ${vm_ips} = BuiltIn.Create List ${NET_2_VM_IPS}[0] + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ${vm_ips} Repeat Ping From Vm Instance1 To Vm Instance2 With a Router [Documentation] Login to the vm instance and test some operations - ${vm_ips} = BuiltIn.Create List @{NET_1_VM_IPS}[1] - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${vm_ips} + ${vm_ips} = BuiltIn.Create List ${NET_1_VM_IPS}[1] + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ${vm_ips} Repeat Ping From Vm Instance2 To Vm Instance1 With a Router [Documentation] Login to the vm instance and test operations - ${vm_ips} = BuiltIn.Create List @{NET_1_VM_IPS}[0] - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ${vm_ips} + ${vm_ips} = BuiltIn.Create List ${NET_1_VM_IPS}[0] + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[1] ${vm_ips} Add Additional Security Group To VMs [Documentation] Add an additional security group to the VMs - this is done to test a different logic put in place for ports with multiple SGs @@ -102,28 +102,28 @@ Add Additional Security Group To VMs Ping From DHCP To Vm Instance1 [Documentation] Check reachability of vm instances by pinging to them from DHCP. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_1_VM_IPS}[0] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[0] ${NET_1_VM_IPS}[0] Ping From DHCP To Vm Instance2 [Documentation] Check reachability of vm instances by pinging to them from DHCP. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_1_VM_IPS}[1] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[0] ${NET_1_VM_IPS}[1] Repeat Ping From Vm Instance1 To Vm Instance2 With additional SG [Documentation] Login to the vm instance and test some operations - ${vm_ips} BuiltIn.Create List @{NET_1_VM_IPS}[1] - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${vm_ips} + ${vm_ips} BuiltIn.Create List ${NET_1_VM_IPS}[1] + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ${vm_ips} Repeat Ping From Vm Instance2 To Vm Instance1 With additional SG [Documentation] Login to the vm instance and test operations - ${vm_ips} BuiltIn.Create List @{NET_1_VM_IPS}[0] - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ${vm_ips} + ${vm_ips} BuiltIn.Create List ${NET_1_VM_IPS}[0] + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[1] ${vm_ips} Test Connection when Rules Change Dynamically [Documentation] Initiate ping from DHCP to VM instance and remove security rules ... dynamically check the communication has stopped after removing the security group rules. - ${net_id}= OpenstackOperations.Get Net Id @{NETWORKS}[0] + ${net_id}= OpenstackOperations.Get Net Id ${NETWORKS}[0] Get ControlNode Connection - ${output}= SSHLibrary.Write sudo ip netns exec qdhcp-${net_id} ping @{NET_1_VM_IPS}[0] + ${output}= SSHLibrary.Write sudo ip netns exec qdhcp-${net_id} ping ${NET_1_VM_IPS}[0] Delete All Security Group Rules additional-sg Read delay=10s Write_Bare_Ctrl_C @@ -132,35 +132,35 @@ Test Connection when Rules Change Dynamically No Ping From DHCP To Vm Instance1 With Additional Security Group Rules Removed [Documentation] Check non-reachability of vm instances by pinging to them. - OpenStackOperations.Ping From DHCP Should Not Succeed @{NETWORKS}[0] @{NET_1_VM_IPS}[0] + OpenStackOperations.Ping From DHCP Should Not Succeed ${NETWORKS}[0] ${NET_1_VM_IPS}[0] No Ping From DHCP To Vm Instance2 With Additional Security Group Rules Removed [Documentation] Check non-reachability of vm instances by pinging to them. - OpenStackOperations.Ping From DHCP Should Not Succeed @{NETWORKS}[0] @{NET_1_VM_IPS}[1] + OpenStackOperations.Ping From DHCP Should Not Succeed ${NETWORKS}[0] ${NET_1_VM_IPS}[1] Add The Rules To Additional Security Group Again OpenStackOperations.Neutron Security Group Rule Create additional-sg direction=ingress protocol=icmp remote_ip_prefix=${NET_1_DHCP_IP}/32 Ping From DHCP To Vm Instance1 After Rules Are Added Again [Documentation] Check reachability of vm instances by pinging to them from DHCP. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_1_VM_IPS}[0] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[0] ${NET_1_VM_IPS}[0] Ping From DHCP To Vm Instance2 After Rules Are Added Again [Documentation] Check reachability of vm instances by pinging to them from DHCP. - OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_1_VM_IPS}[1] + OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[0] ${NET_1_VM_IPS}[1] Remove the additional Security Group from First Vm - OpenStackOperations.Remove Security Group From VM @{NET_1_VMS}[0] additional-sg + OpenStackOperations.Remove Security Group From VM ${NET_1_VMS}[0] additional-sg Repeat Ping From Vm Instance1 To Vm Instance2 With Additional SG Removed From Vm1 [Documentation] Login to the vm instance and test some operations - ${vm_ips} = BuiltIn.Create List @{NET_1_VM_IPS}[1] - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${vm_ips} + ${vm_ips} = BuiltIn.Create List ${NET_1_VM_IPS}[1] + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ${vm_ips} Repeat Ping From Vm Instance2 To Vm Instance1 With Additional SG Removed From Vm1 [Documentation] Login to the vm instance and test operations - ${vm_ips} = BuiltIn.Create List @{NET_1_VM_IPS}[0] - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ${vm_ips} + ${vm_ips} = BuiltIn.Create List ${NET_1_VM_IPS}[0] + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[1] ${vm_ips} Remove Router Interfaces FOR ${interface} IN @{SUBNETS} @@ -172,13 +172,13 @@ Delete Router Repeat Ping From Vm Instance1 To Vm Instance2 With Router Removed [Documentation] Login to the vm instance and test some operations - ${vm_ips} BuiltIn.Create List @{NET_1_VM_IPS}[1] - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${vm_ips} + ${vm_ips} BuiltIn.Create List ${NET_1_VM_IPS}[1] + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ${vm_ips} Repeat Ping From Vm Instance2 To Vm Instance1 With Router Removed [Documentation] Login to the vm instance and test operations - ${vm_ips} BuiltIn.Create List @{NET_1_VM_IPS}[0] - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ${vm_ips} + ${vm_ips} BuiltIn.Create List ${NET_1_VM_IPS}[0] + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[1] ${vm_ips} Delete Vm Instances In net_2 FOR ${vm} IN @{NET_2_VMS} @@ -187,30 +187,30 @@ Delete Vm Instances In net_2 Repeat Ping From Vm Instance1 To Vm Instance2 With net_2 VM Deleted [Documentation] Login to the vm instance and test some operations - ${vm_ips} BuiltIn.Create List @{NET_1_VM_IPS}[1] - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${vm_ips} + ${vm_ips} BuiltIn.Create List ${NET_1_VM_IPS}[1] + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ${vm_ips} Repeat Ping From Vm Instance2 To Vm Instance1 With net_2 VM Deleted [Documentation] Login to the vm instance and test operations - ${vm_ips} = BuiltIn.Create List @{NET_1_VM_IPS}[0] - OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ${vm_ips} + ${vm_ips} = BuiltIn.Create List ${NET_1_VM_IPS}[0] + OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[1] ${vm_ips} *** Keywords *** Suite Setup OpenStackOperations.OpenStack Suite Setup - OpenStackOperations.Create Network @{NETWORKS}[0] - OpenStackOperations.Create Network @{NETWORKS}[1] + OpenStackOperations.Create Network ${NETWORKS}[0] + OpenStackOperations.Create Network ${NETWORKS}[1] BuiltIn.Wait Until Keyword Succeeds 10s 2s Utils.Check For Elements At URI ${NETWORK_URL} ${NETWORKS} - OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS}[0] @{SUBNET_CIDRS}[0] - OpenStackOperations.Create SubNet @{NETWORKS}[1] @{SUBNETS}[1] @{SUBNET_CIDRS}[1] + OpenStackOperations.Create SubNet ${NETWORKS}[0] ${SUBNETS}[0] ${SUBNET_CIDRS}[0] + OpenStackOperations.Create SubNet ${NETWORKS}[1] ${SUBNETS}[1] ${SUBNET_CIDRS}[1] BuiltIn.Wait Until Keyword Succeeds 10s 2s Utils.Check For Elements At URI ${SUBNETWORK_URL} ${SUBNETS} OpenStackOperations.Security Group Create Without Default Security Rules ${SECURITY_GROUP} OpenStackOperations.Neutron Security Group Rule Create ${SECURITY_GROUP} direction=ingress port_range_max=65535 port_range_min=1 protocol=tcp OpenStackOperations.Neutron Security Group Rule Create ${SECURITY_GROUP} direction=egress port_range_max=65535 port_range_min=1 protocol=tcp OpenStackOperations.Neutron Security Group Show ${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[0] @{NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[0] @{NET_1_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[1] @{NET_2_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[0] ${NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[0] ${NET_1_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node ${NETWORKS}[1] ${NET_2_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} @{NET_1_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS} @{NET_2_VM_IPS} ${NET_2_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_2_VMS} BuiltIn.Set Suite Variable @{NET_1_VM_IPS} diff --git a/csit/suites/openstack/extensions/sfc.robot b/csit/suites/openstack/extensions/sfc.robot index b7f85783d7..d094142b2f 100644 --- a/csit/suites/openstack/extensions/sfc.robot +++ b/csit/suites/openstack/extensions/sfc.robot @@ -50,9 +50,9 @@ ${CLOULD_IMAGE_CONSOLE} root *** Test Cases *** Create Flow Classifiers For Basic Test [Documentation] Create SFC Flow Classifier for TCP traffic between source VM and destination VM - OpenStackOperations.Create SFC Flow Classifier FC_80 @{NET1_VM_IPS}[0] @{NET1_VM_IPS}[1] tcp source_vm_port args=--destination-port 80:80 - OpenStackOperations.Create SFC Flow Classifier FC_81 @{NET1_VM_IPS}[0] @{NET1_VM_IPS}[1] tcp source_vm_port args=--destination-port 81:81 - OpenStackOperations.Create SFC Flow Classifier FC_83_85 @{NET1_VM_IPS}[0] @{NET1_VM_IPS}[1] tcp source_vm_port args=--destination-port 83:85 + OpenStackOperations.Create SFC Flow Classifier FC_80 ${NET1_VM_IPS}[0] ${NET1_VM_IPS}[1] tcp source_vm_port args=--destination-port 80:80 + OpenStackOperations.Create SFC Flow Classifier FC_81 ${NET1_VM_IPS}[0] ${NET1_VM_IPS}[1] tcp source_vm_port args=--destination-port 81:81 + OpenStackOperations.Create SFC Flow Classifier FC_83_85 ${NET1_VM_IPS}[0] ${NET1_VM_IPS}[1] tcp source_vm_port args=--destination-port 83:85 Create Port Pair [Documentation] Create SFC Port Pairs @@ -64,11 +64,11 @@ Create Port Pair Groups Test Communication From Vm Instance1 In net_1 No SF [Documentation] Login to the source VM instance, and send a nc req to the destination VM instance, If the SF handles the traffic, there will be delay causing the time for nc to be higher. - ${DEST_VM_LIST} BuiltIn.Create List @{NET1_VM_IPS}[1] - ${nc_resp} OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} @{NET1_VM_IPS}[1] 80 user=${CLOUD_IMAGE_USER} password=${CLOUD_IMAGE_PASS} + ${DEST_VM_LIST} BuiltIn.Create List ${NET1_VM_IPS}[1] + ${nc_resp} OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ${NET1_VM_IPS}[1] 80 user=${CLOUD_IMAGE_USER} password=${CLOUD_IMAGE_PASS} ... console=${CLOULD_IMAGE_CONSOLE} BuiltIn.Should Contain ${nc_resp} ${RES_SUCCESS} - ${nc_resp} OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} @{NET1_VM_IPS}[1] 81 user=${CLOUD_IMAGE_USER} password=${CLOUD_IMAGE_PASS} + ${nc_resp} OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ${NET1_VM_IPS}[1] 81 user=${CLOUD_IMAGE_USER} password=${CLOUD_IMAGE_PASS} ... console=${CLOULD_IMAGE_CONSOLE} BuiltIn.Should Contain ${nc_resp} ${RES_SUCCESS} [Teardown] BuiltIn.Run Keywords OpenStackOperations.Get Test Teardown Debugs @@ -81,26 +81,26 @@ Create Port Chain For Src->Dest Port 80 Test Communication From Vm Instance1 In net_1 Port 80 via SF [Documentation] Login to the source VM instance, and send a nc req to the destination VM instance, If the SF handles the traffic, there will be delay causing the time for nc to be higher. - Start Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Start Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 80 ${RES_SUCCESS} - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 81 ${RES_SUCCESS} - Stop Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} - Start Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off --block 80 + Stop Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} + Start Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off --block 80 BuiltIn.Comment Port 80 communication should fail as the SF blocks the same - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 80 ${RES_FAILURE} BuiltIn.Comment Test to confirm Port 81 is not blocked - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 81 ${RES_SUCCESS} - Stop Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} - Start Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off --block 81 - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Stop Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} + Start Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off --block 81 + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 80 ${RES_SUCCESS} - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 81 ${RES_SUCCESS} - Stop Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} + Stop Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} [Teardown] BuiltIn.Run Keywords OpenStackOperations.Get Test Teardown Debugs ... AND OpenStackOperations.Get Test Teardown Debugs For SFC ... AND OpenStackOperations.Exit From Vm Console @@ -112,27 +112,27 @@ Update Port Chain To Use Flow Classifier For Port 81 Test Communication From Vm Instance1 In net_1 Port 81 via SF [Documentation] Login to the source VM instance, and send a nc req to the destination VM instance. - Stop Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} - Start Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Stop Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} + Start Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 80 ${RES_SUCCESS} - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 81 ${RES_SUCCESS} - Stop Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} - Start Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off --block 81 + Stop Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} + Start Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off --block 81 BuiltIn.Comment Port 81 communication should fail as the SF blocks the same - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 80 ${RES_SUCCESS} - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 81 ${RES_FAILURE} BuiltIn.Comment Test to confirm Port 80 does not continue to get routed through SF - Stop Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} - Start Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off --block 80 - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Stop Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} + Start Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off --block 80 + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 80 ${RES_SUCCESS} - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 81 ${RES_SUCCESS} - Stop Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} + Stop Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} [Teardown] BuiltIn.Run Keywords OpenStackOperations.Get Test Teardown Debugs ... AND OpenStackOperations.Get Test Teardown Debugs For SFC ... AND OpenStackOperations.Exit From Vm Console @@ -143,58 +143,58 @@ Update Port Chain To Use Flow Classifier For Port Range 83-85 Test Communication From Vm Instance1 In net_1 Port 84 And 85 via SF [Documentation] Login to the source VM instance, and send a nc req to the destination VM instance. - Stop Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} - Start Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Stop Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} + Start Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 80 ${RES_SUCCESS} - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 83 ${RES_SUCCESS} - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 84 ${RES_SUCCESS} - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 85 ${RES_SUCCESS} - Stop Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} - Start Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off --block 83 + Stop Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} + Start Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off --block 83 BuiltIn.Comment Port 83 communication should fail as the SF blocks the same - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 80 ${RES_SUCCESS} - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 83 ${RES_FAILURE} - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 84 ${RES_SUCCESS} - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 85 ${RES_SUCCESS} - Stop Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} - Start Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off --block 84 + Stop Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} + Start Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off --block 84 BuiltIn.Comment Port 84 communication should fail as the SF blocks the same - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 80 ${RES_SUCCESS} - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 84 ${RES_FAILURE} - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 83 ${RES_SUCCESS} - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 85 ${RES_SUCCESS} - Stop Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} - Start Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off --block 85 + Stop Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} + Start Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off --block 85 BuiltIn.Comment Port 85 communication should fail as the SF blocks the same - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 80 ${RES_SUCCESS} - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 83 ${RES_SUCCESS} - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 84 ${RES_SUCCESS} - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 85 ${RES_FAILURE} - Stop Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} - Start Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off --block 80 - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Stop Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} + Start Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off --block 80 + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 80 ${RES_SUCCESS} - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 83 ${RES_SUCCESS} - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 84 ${RES_SUCCESS} - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} ... 85 ${RES_SUCCESS} Update Port Chain To Use Flow Classifier For Input Port Range 101-103 @@ -205,67 +205,67 @@ Update Port Chain To Use Flow Classifier For Input Port Range 101-103 OpenStackOperations.Delete SFC Flow Classifier FC_80 OpenStackOperations.Delete SFC Flow Classifier FC_81 OpenStackOperations.Delete SFC Flow Classifier FC_83_85 - OpenStackOperations.Create SFC Flow Classifier FC_101_103 @{NET1_VM_IPS}[0] @{NET1_VM_IPS}[1] tcp source_vm_port args=--source-port 101:103 + OpenStackOperations.Create SFC Flow Classifier FC_101_103 ${NET1_VM_IPS}[0] ${NET1_VM_IPS}[1] tcp source_vm_port args=--source-port 101:103 OpenStackOperations.Update SFC Port Chain With A New Flow Classifier SFPC1 FC_101_103 Test Communication From Vm Instance1 In net_1 Port 100 And 102 via SF [Documentation] Login to the source VM instance, and send a nc req to the destination VM instance. - Stop Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} - Start Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} -p 80 + Stop Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} + Start Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} -p 80 ... 83 ${RES_SUCCESS} - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} -p 100 + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} -p 100 ... 83 ${RES_SUCCESS} - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} -p 101 + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} -p 101 ... 83 ${RES_SUCCESS} - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} -p 102 + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} -p 102 ... 83 ${RES_SUCCESS} - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} -p 103 + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} -p 103 ... 83 ${RES_SUCCESS} - Stop Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} - Start Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off --block 83 - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} -p 80 + Stop Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} + Start Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off --block 83 + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} -p 80 ... 83 ${RES_SUCCESS} - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} -p 100 + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} -p 100 ... 83 ${RES_SUCCESS} - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} -p 101 + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} -p 101 ... 83 ${RES_FAILURE} - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} -p 102 + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} -p 102 ... 83 ${RES_FAILURE} - Wait Until Keyword Succeeds 3x 10s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} -p 103 + Wait Until Keyword Succeeds 3x 10s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} -p 103 ... 83 ${RES_FAILURE} Delete And Recreate Port Chain And Flow Classifiers For Symmetric Test - OpenStackOperations.Create SFC Flow Classifier FC_SYM @{NET1_VM_IPS}[0] @{NET1_VM_IPS}[1] tcp source_vm_port args=--destination-port 82:82 --source-port 2000 --logical-destination-port dest_vm_port + OpenStackOperations.Create SFC Flow Classifier FC_SYM ${NET1_VM_IPS}[0] ${NET1_VM_IPS}[1] tcp source_vm_port args=--destination-port 82:82 --source-port 2000 --logical-destination-port dest_vm_port OpenStackOperations.Delete SFC Port Chain SFPC1 OpenStackOperations.Create SFC Port Chain SFPSYM args=--port-pair-group SFPPG1 --flow-classifier FC_SYM --chain-parameters symmetric=true Test Communication From Vm Instance1 For Symmetric Chain [Documentation] Login to the source VM instance, and send a nc req to the destination VM instance. - Stop Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} - Start Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off - Start Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_OUT} --output ${ETH_IN} --verbose off - Wait Until Keyword Succeeds 8x 20s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} -p 2000 + Stop Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} + Start Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off + Start Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_OUT} --output ${ETH_IN} --verbose off + Wait Until Keyword Succeeds 8x 20s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} -p 2000 ... 82 ${RES_SUCCESS} BuiltIn.Comment Test to confirm the SRC->DEST Port 82 is routed through SF - Stop Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} - Start Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off --block 82 - Start Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_OUT} --output ${ETH_IN} --verbose off - Wait Until Keyword Succeeds 8x 20s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} -p 2000 + Stop Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} + Start Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off --block 82 + Start Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_OUT} --output ${ETH_IN} --verbose off + Wait Until Keyword Succeeds 8x 20s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} -p 2000 ... 82 ${RES_FAILURE} BuiltIn.Comment Test to confirm DEST->SRC Port 2000 path SFC traversal - Stop Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} - Start Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off - Start Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_OUT} --output ${ETH_IN} --verbose off --block 2000 - Wait Until Keyword Succeeds 8x 20s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} -p 2000 + Stop Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} + Start Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off + Start Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_OUT} --output ${ETH_IN} --verbose off --block 2000 + Wait Until Keyword Succeeds 8x 20s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} -p 2000 ... 82 ${RES_FAILURE} BuiltIn.Comment Test to confirm the Normalcy restored - Stop Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} - Start Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off - Start Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_OUT} --output ${ETH_IN} --verbose off - Wait Until Keyword Succeeds 8x 20s Check Network Reachability @{NETWORKS}[0] @{NET1_VM_IPS}[0] ${NC_COMMAND} -p 2000 + Stop Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} + Start Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_IN} --output ${ETH_OUT} --verbose off + Start Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} args=--do forward --interface ${ETH_OUT} --output ${ETH_IN} --verbose off + Wait Until Keyword Succeeds 8x 20s Check Network Reachability ${NETWORKS}[0] ${NET1_VM_IPS}[0] ${NC_COMMAND} -p 2000 ... 82 ${RES_SUCCESS} - Stop Vxlan Tool in SF @{NETWORKS}[0] ${SF1_IP} + Stop Vxlan Tool in SF ${NETWORKS}[0] ${SF1_IP} [Teardown] BuiltIn.Run Keywords OpenStackOperations.Get Test Teardown Debugs ... AND OpenStackOperations.Get Test Teardown Debugs For SFC ... AND OpenStackOperations.Exit From Vm Console @@ -304,16 +304,16 @@ Suite Setup Create Basic Networks BuiltIn.Comment Create Network For Testing - OpenStackOperations.Create Network @{NETWORKS}[0] + OpenStackOperations.Create Network ${NETWORKS}[0] BuiltIn.Comment Create Subnet For Testing - OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS}[0] @{SUBNET_CIDRS}[0] + OpenStackOperations.Create SubNet ${NETWORKS}[0] ${SUBNETS}[0] ${SUBNET_CIDRS}[0] OpenStackOperations.Create Allow All SecurityGroup ${SECURITY_GROUP} BuiltIn.Comment Create Neutron Ports with no port security for SFC Tests OpenStackOperations.Get Suite Debugs Create Ports For Testing FOR ${port} IN @{PORTS} - OpenStackOperations.Create Port @{NETWORKS}[0] ${port} sg=${SECURITY_GROUP} + OpenStackOperations.Create Port ${NETWORKS}[0] ${port} sg=${SECURITY_GROUP} END OpenStackOperations.Update Port p1in additional_args=--no-security-group OpenStackOperations.Update Port p1in additional_args=--disable-port-security @@ -342,30 +342,30 @@ Check Vm Instances Have Ip Address And Ready For Test OpenStackOperations.Poll VM Is ACTIVE destvm ${sfc1_mac} OpenStackOperations.Get Port Mac p1in ${SF1_IP} OpenStackOperations.Get Port Ip p1in - BuiltIn.Wait Until Keyword Succeeds 500s 60s OpenStackOperations.Verify If Instance Is Arpingable From Dhcp Namespace @{NETWORKS}[0] ${sfc1_mac} ${SF1_IP} + BuiltIn.Wait Until Keyword Succeeds 500s 60s OpenStackOperations.Verify If Instance Is Arpingable From Dhcp Namespace ${NETWORKS}[0] ${sfc1_mac} ${SF1_IP} ${src_mac} OpenStackOperations.Get Port Mac source_vm_port ${src_ip} OpenStackOperations.Get Port Ip source_vm_port - BuiltIn.Wait Until Keyword Succeeds 500s 60s OpenStackOperations.Verify If Instance Is Arpingable From Dhcp Namespace @{NETWORKS}[0] ${src_mac} ${src_ip} + BuiltIn.Wait Until Keyword Succeeds 500s 60s OpenStackOperations.Verify If Instance Is Arpingable From Dhcp Namespace ${NETWORKS}[0] ${src_mac} ${src_ip} ${dest_mac} OpenStackOperations.Get Port Mac dest_vm_port ${dest_ip} OpenStackOperations.Get Port Ip dest_vm_port - BuiltIn.Wait Until Keyword Succeeds 500s 60s OpenStackOperations.Verify If Instance Is Arpingable From Dhcp Namespace @{NETWORKS}[0] ${dest_mac} ${dest_ip} + BuiltIn.Wait Until Keyword Succeeds 500s 60s OpenStackOperations.Verify If Instance Is Arpingable From Dhcp Namespace ${NETWORKS}[0] ${dest_mac} ${dest_ip} BuiltIn.Comment If the Tests reach this point, all the Instances are reachable. ${NET1_VM_IPS} BuiltIn.Create List ${src_ip} ${dest_ip} BuiltIn.Set Suite Variable @{NET1_VM_IPS} BuiltIn.Set Suite Variable ${SF1_IP} BuiltIn.Set Suite Variable ${OS_SYSTEM_PROMPT} \# - BuiltIn.Wait Until Keyword Succeeds 300s 60s OpenStackOperations.Check If Instance Is Ready For Ssh Login Using Password @{NETWORKS}[0] ${SF1_IP} user=${CLOUD_IMAGE_USER} + BuiltIn.Wait Until Keyword Succeeds 300s 60s OpenStackOperations.Check If Instance Is Ready For Ssh Login Using Password ${NETWORKS}[0] ${SF1_IP} user=${CLOUD_IMAGE_USER} ... password=${CLOUD_IMAGE_PASS} console=${CLOULD_IMAGE_CONSOLE} - BuiltIn.Wait Until Keyword Succeeds 300s 60s OpenStackOperations.Check If Instance Is Ready For Ssh Login Using Password @{NETWORKS}[0] @{NET1_VM_IPS}[0] user=${CLOUD_IMAGE_USER} + BuiltIn.Wait Until Keyword Succeeds 300s 60s OpenStackOperations.Check If Instance Is Ready For Ssh Login Using Password ${NETWORKS}[0] ${NET1_VM_IPS}[0] user=${CLOUD_IMAGE_USER} ... password=${CLOUD_IMAGE_PASS} console=${CLOULD_IMAGE_CONSOLE} - BuiltIn.Wait Until Keyword Succeeds 300s 60s OpenStackOperations.Check If Instance Is Ready For Ssh Login Using Password @{NETWORKS}[0] @{NET1_VM_IPS}[1] user=${CLOUD_IMAGE_USER} + BuiltIn.Wait Until Keyword Succeeds 300s 60s OpenStackOperations.Check If Instance Is Ready For Ssh Login Using Password ${NETWORKS}[0] ${NET1_VM_IPS}[1] user=${CLOUD_IMAGE_USER} ... password=${CLOUD_IMAGE_PASS} console=${CLOULD_IMAGE_CONSOLE} OpenStackOperations.Show Debugs @{NET_1_VMS} OpenStackOperations.Get Suite Debugs Start Applications on VM Instances For Test BuiltIn.Comment Run Web server Scripts on destination vm listening to 80,81 and 82 ports - ${resp} OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET1_VM_IPS}[1] ${WEBSERVER_CMDS} && (echo done) user=${CLOUD_IMAGE_USER} password=${CLOUD_IMAGE_PASS} + ${resp} OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${NET1_VM_IPS}[1] ${WEBSERVER_CMDS} && (echo done) user=${CLOUD_IMAGE_USER} password=${CLOUD_IMAGE_PASS} ... console=${CLOULD_IMAGE_CONSOLE} BuiltIn.Should Contain ${resp} done @@ -381,6 +381,6 @@ Stop Vxlan Tool in SF Check Network Reachability [Arguments] ${net_name} ${source_vm_ip} ${command} ${port} ${ret_code} ${cmd_timeout}=30s - ${nc_resp} OpenStackOperations.Execute Command on VM Instance ${net_name} ${source_vm_ip} ${command} @{NET1_VM_IPS}[1] ${port} cmd_timeout=${cmd_timeout} user=${CLOUD_IMAGE_USER} + ${nc_resp} OpenStackOperations.Execute Command on VM Instance ${net_name} ${source_vm_ip} ${command} ${NET1_VM_IPS}[1] ${port} cmd_timeout=${cmd_timeout} user=${CLOUD_IMAGE_USER} ... password=${CLOUD_IMAGE_PASS} console=${CLOULD_IMAGE_CONSOLE} BuiltIn.Should Contain ${nc_resp} ${ret_code} diff --git a/csit/suites/openstack/securitygroup/acl.robot b/csit/suites/openstack/securitygroup/acl.robot index 9f6c839e5a..cd90ab20ab 100644 --- a/csit/suites/openstack/securitygroup/acl.robot +++ b/csit/suites/openstack/securitygroup/acl.robot @@ -40,25 +40,25 @@ ${TABLE} goto_table:217 *** Test Cases *** Verify ARP request Valid MAC and Valid IP for the VM Egress Table [Documentation] Verifying ARP resquest resolved for Valid MAC and Valid IP at the VM Egress Table - OpenStackOperations.Execute Command on VM Instance @{REQ_NETWORKS}[0] @{VM_IP_DPN1}[0] ${DHCP_CMD} - OpenStackOperations.Execute Command on VM Instance @{REQ_NETWORKS}[0] @{VM_IP_DPN2}[0] ${DHCP_CMD} - ${get_pkt_count_before_arp} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=@{DEFAULT_FLOW_TABLES}[15] | grep ${VM1_METADATA}.*${ARP_SHA} + OpenStackOperations.Execute Command on VM Instance ${REQ_NETWORKS}[0] ${VM_IP_DPN1}[0] ${DHCP_CMD} + OpenStackOperations.Execute Command on VM Instance ${REQ_NETWORKS}[0] ${VM_IP_DPN2}[0] ${DHCP_CMD} + ${get_pkt_count_before_arp} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${DEFAULT_FLOW_TABLES}[15] | grep ${VM1_METADATA}.*${ARP_SHA} ${arping_cli} = BuiltIn.Set Variable sudo arping -I eth0 -c ${PACKET_COUNT} \ ${RANDOM_IP} - OpenStackOperations.Execute Command on VM Instance ${REQ_NETWORKS[1]} @{VM_IP_DPN1}[1] ${arping_cli} - ${get_pkt_count_after_arp} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=@{DEFAULT_FLOW_TABLES}[15] | grep ${VM1_METADATA}.*${ARP_SHA} + OpenStackOperations.Execute Command on VM Instance ${REQ_NETWORKS[1]} ${VM_IP_DPN1}[1] ${arping_cli} + ${get_pkt_count_after_arp} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${DEFAULT_FLOW_TABLES}[15] | grep ${VM1_METADATA}.*${ARP_SHA} ${pkt_diff} = BuiltIn.Evaluate int(${get_pkt_count_after_arp})-int(${get_pkt_count_before_arp}) BuiltIn.Should Be Equal As Numbers ${pkt_diff} ${PACKET_COUNT} Verify ARP request generated from Spoofed IP for the VM [Documentation] Verifying ARP resquest generated for Spoofed IP with Valid MAC and Validate the packet drop at the VM Egress Table ${arp_int_up_cli} = BuiltIn.Set Variable sudo ifconfig eth0:1 ${SPOOF_IP} netmask ${NETMASK} up - ${output} = OpenStackOperations.Execute Command on VM Instance @{REQ_NETWORKS}[1] @{VM_IP_DPN1}[1] ${arp_int_up_cli} - ${get_pkt_count_before_arp} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=@{DEFAULT_FLOW_TABLES}[15] | grep ${VM1_METADATA}.*${ARP_SHA} - ${get_arp_drop_pkt_before} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=@{DEFAULT_FLOW_TABLES}[15] | grep ${ARP}.*${TABLE} + ${output} = OpenStackOperations.Execute Command on VM Instance ${REQ_NETWORKS}[1] ${VM_IP_DPN1}[1] ${arp_int_up_cli} + ${get_pkt_count_before_arp} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${DEFAULT_FLOW_TABLES}[15] | grep ${VM1_METADATA}.*${ARP_SHA} + ${get_arp_drop_pkt_before} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${DEFAULT_FLOW_TABLES}[15] | grep ${ARP}.*${TABLE} ${arping_cli} = BuiltIn.Set Variable sudo arping -s ${SPOOF_IP} -c ${PACKET_COUNT} \ ${RANDOM_IP} - ${output} = OpenStackOperations.Execute Command on VM Instance @{REQ_NETWORKS}[1] @{VM_IP_DPN1}[1] ${arping_cli} - ${get_pkt_count_after_arp} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=@{DEFAULT_FLOW_TABLES}[15] | grep ${VM1_METADATA}.*${ARP_SHA} - ${get_arp_drop_pkt_after} OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=@{DEFAULT_FLOW_TABLES}[15] | grep ${ARP}.*${TABLE} + ${output} = OpenStackOperations.Execute Command on VM Instance ${REQ_NETWORKS}[1] ${VM_IP_DPN1}[1] ${arping_cli} + ${get_pkt_count_after_arp} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${DEFAULT_FLOW_TABLES}[15] | grep ${VM1_METADATA}.*${ARP_SHA} + ${get_arp_drop_pkt_after} OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${DEFAULT_FLOW_TABLES}[15] | grep ${ARP}.*${TABLE} ${pkt_diff_arp_drop} = BuiltIn.Evaluate int(${get_arp_drop_pkt_after})-int(${get_arp_drop_pkt_before}) ${pkt_diff} = BuiltIn.Evaluate int(${get_pkt_count_after_arp})-int(${get_pkt_count_before_arp}) BuiltIn.Should Be Equal As Numbers ${pkt_diff} ${PACKET_COUNT_ZERO} @@ -69,14 +69,14 @@ Verify ARP request generated from Spoofed MAC for the VM ${count} = String.Get Line Count ${ARP_CONFIG} FOR ${index} IN RANGE 0 ${count} ${cmd} = String.Get Line ${ARP_CONFIG} ${index} - ${output} = OpenStackOperations.Execute Command on VM Instance @{REQ_NETWORKS}[1] @{VM_IP_DPN1}[1] ${cmd} + ${output} = OpenStackOperations.Execute Command on VM Instance ${REQ_NETWORKS}[1] ${VM_IP_DPN1}[1] ${cmd} END - ${get_pkt_count_before_arp} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=@{DEFAULT_FLOW_TABLES}[15] | grep ${VM1_METADATA}.*${ARP_SHA} - ${get_arp_drop_pkt_before} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=@{DEFAULT_FLOW_TABLES}[15] | grep ${ARP}.*${TABLE} + ${get_pkt_count_before_arp} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${DEFAULT_FLOW_TABLES}[15] | grep ${VM1_METADATA}.*${ARP_SHA} + ${get_arp_drop_pkt_before} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${DEFAULT_FLOW_TABLES}[15] | grep ${ARP}.*${TABLE} ${arping_cli} = BuiltIn.Set Variable sudo arping -I eth0 -c ${PACKET_COUNT} \ ${RANDOM_IP} - OpenStackOperations.Execute Command on VM Instance @{REQ_NETWORKS}[1] @{VM_IP_DPN1}[1] ${arping_cli} - ${get_pkt_count_after_arp} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=@{DEFAULT_FLOW_TABLES}[15] | grep ${VM1_METADATA}.*${ARP_SHA} - ${get_arp_drop_pkt_after} OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=@{DEFAULT_FLOW_TABLES}[15] | grep ${ARP}.*${TABLE} + OpenStackOperations.Execute Command on VM Instance ${REQ_NETWORKS}[1] ${VM_IP_DPN1}[1] ${arping_cli} + ${get_pkt_count_after_arp} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${DEFAULT_FLOW_TABLES}[15] | grep ${VM1_METADATA}.*${ARP_SHA} + ${get_arp_drop_pkt_after} OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${DEFAULT_FLOW_TABLES}[15] | grep ${ARP}.*${TABLE} ${pkt_diff} = BuiltIn.Evaluate int(${get_pkt_count_after_arp})-int(${get_pkt_count_before_arp}) ${pkt_diff_arp_drop} = BuiltIn.Evaluate int(${get_arp_drop_pkt_after})-int(${get_arp_drop_pkt_before}) BuiltIn.Should Be Equal As Numbers ${pkt_diff} ${PACKET_COUNT_ZERO} @@ -84,12 +84,12 @@ Verify ARP request generated from Spoofed MAC for the VM Verify ARP request generated from Spoofed IP and spoofed MAC for the VM [Documentation] Verifying ARP resquest generated for Spoofed MAC with Spoofed IP and Validate the ARP packet drop at the VM Egress Table - ${get_pkt_count_before_arp} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=@{DEFAULT_FLOW_TABLES}[15] | grep ${VM1_METADATA}.*${ARP_SHA} - ${get_arp_drop_pkt_before} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=@{DEFAULT_FLOW_TABLES}[15] | grep ${ARP}.*${TABLE} + ${get_pkt_count_before_arp} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${DEFAULT_FLOW_TABLES}[15] | grep ${VM1_METADATA}.*${ARP_SHA} + ${get_arp_drop_pkt_before} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${DEFAULT_FLOW_TABLES}[15] | grep ${ARP}.*${TABLE} ${arping_cli} = BuiltIn.Set Variable sudo arping -s ${SPOOF_IP} -c ${PACKET_COUNT} \ ${RANDOM_IP} - OpenStackOperations.Execute Command on VM Instance @{REQ_NETWORKS}[1] @{VM_IP_DPN1}[1] ${arping_cli} - ${get_pkt_count_after_arp} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=@{DEFAULT_FLOW_TABLES}[15] | grep ${VM1_METADATA}.*${ARP_SHA} - ${get_arp_drop_pkt_after} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=@{DEFAULT_FLOW_TABLES}[15] | grep ${ARP}.*${TABLE} + OpenStackOperations.Execute Command on VM Instance ${REQ_NETWORKS}[1] ${VM_IP_DPN1}[1] ${arping_cli} + ${get_pkt_count_after_arp} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${DEFAULT_FLOW_TABLES}[15] | grep ${VM1_METADATA}.*${ARP_SHA} + ${get_arp_drop_pkt_after} = OvsManager.Get Packet Count From Table ${OS_CMP1_IP} ${INTEGRATION_BRIDGE} table=${DEFAULT_FLOW_TABLES}[15] | grep ${ARP}.*${TABLE} ${pkt_diff} = BuiltIn.Evaluate int(${get_pkt_count_after_arp})-int(${get_pkt_count_before_arp}) ${pkt_diff_arp_drop} = BuiltIn.Evaluate int(${get_arp_drop_pkt_after})-int(${get_arp_drop_pkt_before}) BuiltIn.Should Be Equal As Numbers ${pkt_diff} ${PACKET_COUNT_ZERO} @@ -105,23 +105,23 @@ Create Setup [Documentation] Create Two Networks, Two Subnets, Four Ports Create Multiple Networks @{REQ_NETWORKS} Create Multiple Subnets ${REQ_NETWORKS} ${REQ_SUBNETS} ${REQ_SUBNET_CIDR} - OpenStackOperations.Neutron Security Group Create @{SECURITY_GROUP}[0] - OpenStackOperations.Delete All Security Group Rules @{SECURITY_GROUP}[0] - OpenStackOperations.Create Port @{REQ_NETWORKS}[0] @{PORTS}[0] sg=@{SECURITY_GROUP}[0] - OpenStackOperations.Create Port @{REQ_NETWORKS}[1] @{PORTS}[1] sg=@{SECURITY_GROUP}[0] - OpenStackOperations.Create Port @{REQ_NETWORKS}[0] @{PORTS}[2] sg=@{SECURITY_GROUP}[0] - OpenStackOperations.Create Port @{REQ_NETWORKS}[1] @{PORTS}[3] sg=@{SECURITY_GROUP}[0] - OpenStackOperations.Neutron Security Group Rule Create @{SECURITY_GROUP}[0] direction=ingress protocol=icmp remote_ip=0.0.0.0/0 - OpenStackOperations.Neutron Security Group Rule Create @{SECURITY_GROUP}[0] direction=egress protocol=icmp remote_ip=0.0.0.0/0 - OpenStackOperations.Neutron Security Group Rule Create @{SECURITY_GROUP}[0] direction=ingress port_range_max=65535 port_range_min=1 protocol=tcp remote-ip=0.0.0.0/0 - OpenStackOperations.Neutron Security Group Rule Create @{SECURITY_GROUP}[0] direction=egress port_range_max=65535 port_range_min=1 protocol=tcp remote-ip=0.0.0.0/0 - OpenStackOperations.Create Vm Instance With Ports On Compute Node @{PORTS}[0] @{PORTS}[1] @{VM_NAMES}[0] ${OS_CMP1_HOSTNAME} flavor=m1.tiny sg=@{SECURITY_GROUP}[0] - OpenStackOperations.Create Vm Instance With Ports On Compute Node @{PORTS}[2] @{PORTS}[3] @{VM_NAMES}[1] ${OS_CMP2_HOSTNAME} flavor=m1.tiny sg=@{SECURITY_GROUP}[0] + OpenStackOperations.Neutron Security Group Create ${SECURITY_GROUP}[0] + OpenStackOperations.Delete All Security Group Rules ${SECURITY_GROUP}[0] + OpenStackOperations.Create Port ${REQ_NETWORKS}[0] ${PORTS}[0] sg=${SECURITY_GROUP}[0] + OpenStackOperations.Create Port ${REQ_NETWORKS}[1] ${PORTS}[1] sg=${SECURITY_GROUP}[0] + OpenStackOperations.Create Port ${REQ_NETWORKS}[0] ${PORTS}[2] sg=${SECURITY_GROUP}[0] + OpenStackOperations.Create Port ${REQ_NETWORKS}[1] ${PORTS}[3] sg=${SECURITY_GROUP}[0] + OpenStackOperations.Neutron Security Group Rule Create ${SECURITY_GROUP}[0] direction=ingress protocol=icmp remote_ip=0.0.0.0/0 + OpenStackOperations.Neutron Security Group Rule Create ${SECURITY_GROUP}[0] direction=egress protocol=icmp remote_ip=0.0.0.0/0 + OpenStackOperations.Neutron Security Group Rule Create ${SECURITY_GROUP}[0] direction=ingress port_range_max=65535 port_range_min=1 protocol=tcp remote-ip=0.0.0.0/0 + OpenStackOperations.Neutron Security Group Rule Create ${SECURITY_GROUP}[0] direction=egress port_range_max=65535 port_range_min=1 protocol=tcp remote-ip=0.0.0.0/0 + OpenStackOperations.Create Vm Instance With Ports On Compute Node ${PORTS}[0] ${PORTS}[1] ${VM_NAMES}[0] ${OS_CMP1_HOSTNAME} flavor=m1.tiny sg=${SECURITY_GROUP}[0] + OpenStackOperations.Create Vm Instance With Ports On Compute Node ${PORTS}[2] ${PORTS}[3] ${VM_NAMES}[1] ${OS_CMP2_HOSTNAME} flavor=m1.tiny sg=${SECURITY_GROUP}[0] FOR ${vm} IN @{VM_NAMES} OpenStackOperations.Poll VM Is ACTIVE ${vm} END - @{VM_IP_DPN1} = BuiltIn.Wait Until Keyword Succeeds 300 sec 15 sec OpenStackOperations.Get All VM IP Addresses ${OS_CMP1_CONN_ID} @{VM_NAMES}[0] - @{VM_IP_DPN2} = BuiltIn.Wait Until Keyword Succeeds 300 sec 15 sec OpenStackOperations.Get All VM IP Addresses ${OS_CMP2_CONN_ID} @{VM_NAMES}[1] + ${VM_IP_DPN1} = BuiltIn.Wait Until Keyword Succeeds 300 sec 15 sec OpenStackOperations.Get All VM IP Addresses ${OS_CMP1_CONN_ID} ${VM_NAMES}[0] + ${VM_IP_DPN2} = BuiltIn.Wait Until Keyword Succeeds 300 sec 15 sec OpenStackOperations.Get All VM IP Addresses ${OS_CMP2_CONN_ID} ${VM_NAMES}[1] BuiltIn.Set Suite Variable @{VM_IP_DPN1} BuiltIn.Set Suite Variable @{VM_IP_DPN2} FOR ${ip} IN @{VM_IP_DPN1} @@ -130,6 +130,6 @@ Create Setup FOR ${ip} IN @{VM_IP_DPN2} BuiltIn.Should Not Contain ${ip} None END - ${VM1_PORT} = Get VMs OVS Port Number ${OS_CMP1_IP} @{PORTS}[0] + ${VM1_PORT} = Get VMs OVS Port Number ${OS_CMP1_IP} ${PORTS}[0] ${VM1_METADATA} = OVSDB.Get Port Metadata ${OS_CMP1_IP} ${VM1_PORT} BuiltIn.Set Suite Variable ${VM1_METADATA} diff --git a/csit/suites/openstack/securitygroup/security_group_l3bcast.robot b/csit/suites/openstack/securitygroup/security_group_l3bcast.robot index 4a7a1ad7c2..1be1169b2b 100644 --- a/csit/suites/openstack/securitygroup/security_group_l3bcast.robot +++ b/csit/suites/openstack/securitygroup/security_group_l3bcast.robot @@ -43,33 +43,33 @@ Verify Network Broadcast traffic between the VMs hosted in Single Network [Documentation] This TC is to verify Network Broadcast traffic between the VMs hosted in Same Network on same/different compute node ${pkt_check} = BuiltIn.Set Variable If "${OPENSTACK_TOPO}" == "1cmb-0ctl-0cmp" 10 5 Wait Until Keyword Succeeds 30s 5s Verify L3Broadcast With Antispoofing Table ${OS_CMP1_IP} ${EGRESS_ACL_TABLE} ${BCAST_IP} - ... @{VM_IPS}[0] same pingsuccess pkt_check=${pkt_check} + ... ${VM_IPS}[0] same pingsuccess pkt_check=${pkt_check} Verify Network Broadcast traffic between the VMs hosted in Multi Network [Documentation] This TC is to verify Network Broadcast traffic between the VMs hosted in Different Network on same/different compute node. ${pkt_check} = BuiltIn.Set Variable If "${OPENSTACK_TOPO}" == "1cmb-0ctl-0cmp" 5 0 Wait Until Keyword Succeeds 30s 5s Verify L3Broadcast With Antispoofing Table ${OS_CMP1_IP} ${EGRESS_ACL_TABLE} ${BCAST_IP} - ... @{VM_IPS}[3] different pingsuccess pkt_check=${pkt_check} + ... ${VM_IPS}[3] different pingsuccess pkt_check=${pkt_check} Verify Subnet Broadcast traffic between the VMs hosted on same compute node in Single Network [Documentation] Verify L3-Subnet Broadcast traffic between the VMs hosted on same compute node in Single Network Wait Until Keyword Succeeds 30s 5s Verify L3Broadcast With Antispoofing Table ${OS_CMP1_IP} ${EGRESS_ACL_TABLE} ${SUBNET1_BCAST_IP} - ... @{VM_IPS}[0] same pingsuccess ${VM2_SUBMETA} pkt_check=5 additional_args=| grep ${VM2_SUBMETA} + ... ${VM_IPS}[0] same pingsuccess ${VM2_SUBMETA} pkt_check=5 additional_args=| grep ${VM2_SUBMETA} Verify Subnet Broadcast traffic between the VMs hosted on Different compute node in Single Network [Documentation] Verify L3-Subnet Broadcast traffic between the VMs hosted on same compute node in Single Network Wait Until Keyword Succeeds 30s 5s Verify L3Broadcast With Antispoofing Table ${OS_CMP2_IP} ${EGRESS_ACL_TABLE} ${SUBNET1_BCAST_IP} - ... @{VM_IPS}[0] same pingsuccess ${VM3_SUBMETA} pkt_check=5 additional_args=| grep ${VM3_SUBMETA} + ... ${VM_IPS}[0] same pingsuccess ${VM3_SUBMETA} pkt_check=5 additional_args=| grep ${VM3_SUBMETA} Verify Subnet Broadcast traffic between the VMs hosted on same compute node in Multi Network [Documentation] Verify L3-Subnet Broadcast traffic between the VMs hosted on same compute node in Multi Network Wait Until Keyword Succeeds 30s 5s Verify L3Broadcast With Antispoofing Table ${OS_CMP1_IP} ${EGRESS_ACL_TABLE} ${SUBNET2_BCAST_IP} - ... @{VM_IPS}[0] different nosuccess ${VM4_SUBMETA} pkt_check=0 additional_args=| grep ${VM4_SUBMETA} + ... ${VM_IPS}[0] different nosuccess ${VM4_SUBMETA} pkt_check=0 additional_args=| grep ${VM4_SUBMETA} Verify Subnet Broadcast traffic between the VMs hosted on Different compute node in Multi Network [Documentation] Verify L3-Subnet Broadcast traffic between the VMs hosted on Different compute node in Multi Network Wait Until Keyword Succeeds 30s 5s Verify L3Broadcast With Antispoofing Table ${OS_CMP2_IP} ${EGRESS_ACL_TABLE} ${SUBNET2_BCAST_IP} - ... @{VM_IPS}[0] different nosuccess ${VM5_SUBMETA} pkt_check=0 additional_args=| grep ${VM5_SUBMETA} + ... ${VM_IPS}[0] different nosuccess ${VM5_SUBMETA} pkt_check=0 additional_args=| grep ${VM5_SUBMETA} *** Keywords *** Start Suite @@ -84,41 +84,41 @@ Create Setup OpenStackOperations.Create Network ${network} END FOR ${i} IN RANGE len(${NETWORKS}) - OpenStackOperations.Create SubNet @{NETWORKS}[${i}] @{SUBNETS}[${i}] @{SUBNET_CIDRS}[${i}] + OpenStackOperations.Create SubNet ${NETWORKS}[${i}] ${SUBNETS}[${i}] ${SUBNET_CIDRS}[${i}] END - OpenStackOperations.Create Allow All SecurityGroup @{SECURITY_GROUP}[0] + OpenStackOperations.Create Allow All SecurityGroup ${SECURITY_GROUP}[0] OpenStackOperations.Create Router ${ROUTER} FOR ${interface} IN @{SUBNETS} OpenStackOperations.Add Router Interface ${ROUTER} ${interface} END FOR ${port_net1} IN @{NET_1_PORTS} - OpenStackOperations.Create Port @{NETWORKS}[0] ${port_net1} sg=@{SECURITY_GROUP}[0] + OpenStackOperations.Create Port ${NETWORKS}[0] ${port_net1} sg=${SECURITY_GROUP}[0] END FOR ${port_net2} IN @{NET_2_PORTS} - OpenStackOperations.Create Port @{NETWORKS}[1] ${port_net2} sg=@{SECURITY_GROUP}[0] + OpenStackOperations.Create Port ${NETWORKS}[1] ${port_net2} sg=${SECURITY_GROUP}[0] END - @{ports} = BuiltIn.Create List @{NET_1_PORTS}[0] @{NET_1_PORTS}[1] @{NET_1_PORTS}[2] @{NET_2_PORTS}[0] @{NET_2_PORTS}[1] - @{vms} = BuiltIn.Create List @{NET_1_VMS}[0] @{NET_1_VMS}[1] @{NET_1_VMS}[2] @{NET_2_VMS}[0] @{NET_2_VMS}[1] + ${ports} = BuiltIn.Create List ${NET_1_PORTS}[0] ${NET_1_PORTS}[1] ${NET_1_PORTS}[2] ${NET_2_PORTS}[0] ${NET_2_PORTS}[1] + ${vms} = BuiltIn.Create List ${NET_1_VMS}[0] ${NET_1_VMS}[1] ${NET_1_VMS}[2] ${NET_2_VMS}[0] ${NET_2_VMS}[1] @{nodes} = BuiltIn.Create List ${OS_CMP1_HOSTNAME} ${OS_CMP1_HOSTNAME} ${OS_CMP2_HOSTNAME} ${OS_CMP1_HOSTNAME} ${OS_CMP2_HOSTNAME} FOR ${port} ${vm} ${node} IN ZIP ${ports} ${vms} ... ${nodes} - OpenStackOperations.Create Vm Instance With Port On Compute Node ${port} ${vm} ${node} sg=@{SECURITY_GROUP}[0] + OpenStackOperations.Create Vm Instance With Port On Compute Node ${port} ${vm} ${node} sg=${SECURITY_GROUP}[0] END @{vms} = Collections.Combine Lists ${NET_1_VMS} ${NET_2_VMS} @{VM_IPS} = OpenStackOperations.Get VM IPs @{vms} BuiltIn.Should Not Contain ${VM_IPS} None BuiltIn.Set Suite Variable @{VM_IPS} - OpenStackOperations.Execute Command on VM Instance ${NETWORKS[0]} @{VM_IPS}[0] ${ENABLE_BCAST} - OpenStackOperations.Execute Command on VM Instance ${NETWORKS[1]} @{VM_IPS}[3] ${ENABLE_BCAST} - ${vm1_in_port} ${vm1_meta} = BuiltIn.Wait Until Keyword Succeeds 60s 10s Get VMs Metadata and In Port @{NET_1_PORTS}[0] + OpenStackOperations.Execute Command on VM Instance ${NETWORKS[0]} ${VM_IPS}[0] ${ENABLE_BCAST} + OpenStackOperations.Execute Command on VM Instance ${NETWORKS[1]} ${VM_IPS}[3] ${ENABLE_BCAST} + ${vm1_in_port} ${vm1_meta} = BuiltIn.Wait Until Keyword Succeeds 60s 10s Get VMs Metadata and In Port ${NET_1_PORTS}[0] ... ${OS_CMP1_IP} - ${vm2_in_port} ${vm2_meta} = BuiltIn.Wait Until Keyword Succeeds 60s 10s Get VMs Metadata and In Port @{NET_1_PORTS}[1] + ${vm2_in_port} ${vm2_meta} = BuiltIn.Wait Until Keyword Succeeds 60s 10s Get VMs Metadata and In Port ${NET_1_PORTS}[1] ... ${OS_CMP1_IP} - ${vm3_in_port} ${vm3_meta} = BuiltIn.Wait Until Keyword Succeeds 60s 10s Get VMs Metadata and In Port @{NET_1_PORTS}[2] + ${vm3_in_port} ${vm3_meta} = BuiltIn.Wait Until Keyword Succeeds 60s 10s Get VMs Metadata and In Port ${NET_1_PORTS}[2] ... ${OS_CMP2_IP} - ${vm4_in_port} ${vm4_meta} = BuiltIn.Wait Until Keyword Succeeds 60s 10s Get VMs Metadata and In Port @{NET_2_PORTS}[0] + ${vm4_in_port} ${vm4_meta} = BuiltIn.Wait Until Keyword Succeeds 60s 10s Get VMs Metadata and In Port ${NET_2_PORTS}[0] ... ${OS_CMP1_IP} - ${vm5_in_port} ${vm5_meta} = BuiltIn.Wait Until Keyword Succeeds 60s 10s Get VMs Metadata and In Port @{NET_2_PORTS}[1] + ${vm5_in_port} ${vm5_meta} = BuiltIn.Wait Until Keyword Succeeds 60s 10s Get VMs Metadata and In Port ${NET_2_PORTS}[1] ... ${OS_CMP2_IP} ${VM1_SUBMETA} = Get Submetadata ${vm1_meta} ${VM2_SUBMETA} = Get Submetadata ${vm2_meta} @@ -164,7 +164,7 @@ Verify L3Broadcast With Antispoofing Table ... ${vm_submeta}='' ${pkt_check}=0 ${additional_args}=${EMPTY} [Documentation] Verify the l3 broadcast requests are hitting to antispoofing table in same subnet ${get_pkt_count_before_bcast} = OvsManager.Get Packet Count In Table For IP ${OS_COMPUTE_IP} ${EGRESS_ACL_TABLE} ${BCAST_IP} additional_args=| grep ${vm_submeta} - ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] ${vm_ip} ping -c ${PACKET_COUNT} ${BCAST_IP} + ${output} = OpenStackOperations.Execute Command on VM Instance ${NETWORKS}[0] ${vm_ip} ping -c ${PACKET_COUNT} ${BCAST_IP} BuiltIn.Run Keyword If '${ping_response}'=='pingsuccess' BuiltIn.Should Contain ${output} ${PING_REGEXP} ... ELSE BuiltIn.Should Contain ${output} ${NO_PING_REGEXP} ${bcast_egress} = Utils.Run Command On Remote System And Log ${OS_COMPUTE_IP} ${DUMP_FLOW} | grep table=${EGRESS_ACL_TABLE} | grep ${BCAST_IP} ${additional_args} diff --git a/tools/deployment/openstack_ha/libraries/OpenStackOperations.robot b/tools/deployment/openstack_ha/libraries/OpenStackOperations.robot index 7935c9bb2a..437d20954a 100644 --- a/tools/deployment/openstack_ha/libraries/OpenStackOperations.robot +++ b/tools/deployment/openstack_ha/libraries/OpenStackOperations.robot @@ -92,8 +92,8 @@ Create Port # if allowed_address_pairs is not empty we need to create the arguments to pass to the port create command. They are # in a different format with the neutron vs openstack cli. ${address_pair_length} = BuiltIn.Get Length ${allowed_address_pairs} - ${allowed_pairs_argv} = BuiltIn.Set Variable If '${OPENSTACK_BRANCH}'=='stable/newton' and '${address_pair_length}'=='2' --allowed-address-pairs type=dict list=true ip_address=@{allowed_address_pairs}[0] ip_address=@{allowed_address_pairs}[1] - ${allowed_pairs_argv} = BuiltIn.Set Variable If '${OPENSTACK_BRANCH}'!='stable/newton' and '${address_pair_length}'=='2' --allowed-address ip-address=@{allowed_address_pairs}[0] --allowed-address ip-address=@{allowed_address_pairs}[1] ${allowed_pairs_argv} + ${allowed_pairs_argv} = BuiltIn.Set Variable If '${OPENSTACK_BRANCH}'=='stable/newton' and '${address_pair_length}'=='2' --allowed-address-pairs type=dict list=true ip_address=${allowed_address_pairs}[0] ip_address=${allowed_address_pairs}[1] + ${allowed_pairs_argv} = BuiltIn.Set Variable If '${OPENSTACK_BRANCH}'!='stable/newton' and '${address_pair_length}'=='2' --allowed-address ip-address=${allowed_address_pairs}[0] --allowed-address ip-address=${allowed_address_pairs}[1] ${allowed_pairs_argv} ${allowed_pairs_argv} = BuiltIn.Set Variable If '${address_pair_length}'=='0' ${EMPTY} ${allowed_pairs_argv} ${cmd} = BuiltIn.Set Variable If '${OPENSTACK_BRANCH}'=='stable/newton' neutron -v port-create ${network_name} --name ${port_name} --security-group ${sg} ${additional_args} ${allowed_pairs_argv} openstack port create --network ${network_name} ${port_name} --security-group ${sg} ${additional_args} ${allowed_pairs_argv} ${rc} ${output} = OperatingSystem.Run And Return Rc And Output ${cmd} @@ -158,9 +158,9 @@ Create And Associate Floating IPs ${output} = OpenStack CLI openstack floating ip create ${external_net} @{ip} = String.Get Regexp Matches ${output} [0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3} ${ip_length} = BuiltIn.Get Length ${ip} - BuiltIn.Run Keyword If ${ip_length}>0 Collections.Append To List ${ip_list} @{ip}[0] + BuiltIn.Run Keyword If ${ip_length}>0 Collections.Append To List ${ip_list} ${ip}[0] ... ELSE Collections.Append To List ${ip_list} None - ${output} = OpenStack CLI openstack server add floating ip ${vm} @{ip}[0] + ${output} = OpenStack CLI openstack server add floating ip ${vm} ${ip}[0] END [Return] ${ip_list} @@ -284,7 +284,7 @@ Collect VM IP Addresses ${rc} ${vm_ip_line}= Run And Return Rc And Output openstack console log show ${vm} | grep -i "obtained" @{vm_ip} Get Regexp Matches ${vm_ip_line} [0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3} ${vm_ip_length} Get Length ${vm_ip} - Run Keyword If ${vm_ip_length}>0 Append To List ${ip_list} @{vm_ip}[0] + Run Keyword If ${vm_ip_length}>0 Append To List ${ip_list} ${vm_ip}[0] ... ELSE Append To List ${ip_list} None ${rc} ${dhcp_ip_line}= Run And Return Rc And Output openstack console log show ${vm} | grep "^nameserver" ${dhcp_ip} Get Regexp Matches ${dhcp_ip_line} [0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3} @@ -306,7 +306,7 @@ Get Match @{matches} = String.Get Regexp Matches ${text} ${regexp} ${matches_length} = BuiltIn.Get Length ${matches} BuiltIn.Set Suite Variable ${OS_MATCH} None - BuiltIn.Run Keyword If ${matches_length} > ${index} BuiltIn.Set Suite Variable ${OS_MATCH} @{matches}[${index}] + BuiltIn.Run Keyword If ${matches_length} > ${index} BuiltIn.Set Suite Variable ${OS_MATCH} ${matches}[${index}] [Return] ${OS_MATCH} Get VM IP @@ -959,12 +959,12 @@ Wait For Routes To Propogate [Documentation] Check propagated routes OpenStackOperations.Get ControlNode Connection FOR ${INDEX} IN RANGE 0 1 - ${net_id} = OpenStackOperations.Get Net Id @{networks}[${INDEX}] - ${is_ipv6} = String.Get Regexp Matches @{subnets}[${INDEX}] ${IP6_REGEX} + ${net_id} = OpenStackOperations.Get Net Id ${networks}[${INDEX}] + ${is_ipv6} = String.Get Regexp Matches ${subnets}[${INDEX}] ${IP6_REGEX} ${length} = BuiltIn.Get Length ${is_ipv6} ${cmd} = BuiltIn.Set Variable If ${length} == 0 ip route ip -6 route ${output} = Utils.Write Commands Until Expected Prompt sudo ip netns exec qdhcp-${net_id} ${cmd} ]> - BuiltIn.Should Contain ${output} @{subnets}[${INDEX}] + BuiltIn.Should Contain ${output} ${subnets}[${INDEX}] END Neutron Cleanup -- 2.36.6