From: Oleksandr Zharov Date: Wed, 13 Dec 2023 14:50:25 +0000 (+0100) Subject: Remove code for genius X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=942b5eed3c0615eedfede1f6a3c29db28218a1f4;p=integration%2Ftest.git Remove code for genius Removed code for no more active genius project. JIRA: INTTEST-140 Change-Id: Ia509dbd4c6faa5361c161c015adffbc70bb607f7 Signed-off-by: Oleksandr Zharov --- diff --git a/csit/libraries/Genius.robot b/csit/libraries/Genius.robot deleted file mode 100644 index da585dbc89..0000000000 --- a/csit/libraries/Genius.robot +++ /dev/null @@ -1,434 +0,0 @@ -*** Settings *** -Documentation This suite is a common keywords file for genius project. - -Library Collections -Library OperatingSystem -Library RequestsLibrary -Library SSHLibrary -Library string -Resource ClusterManagement.robot -Resource DataModels.robot -Resource KarafKeywords.robot -Resource ODLTools.robot -Resource OVSDB.robot -Resource ToolsSystem.robot -Resource Utils.robot -Resource VpnOperations.robot -Resource ../variables/Variables.robot -Resource ../variables/netvirt/Variables.robot - - -*** Variables *** -@{itm_created} TZA -${genius_config_dir} ${CURDIR}/../variables/genius -${Bridge} ${INTEGRATION_BRIDGE} -${DEFAULT_MONITORING_INTERVAL} Tunnel Monitoring Interval (for VXLAN tunnels): 1000 -@{GENIUS_DIAG_SERVICES} OPENFLOW IFM ITM DATASTORE OVSDB -${gateway_ip} 0.0.0.0 -${port_name} br-int-eth1 -${VLAN} 100 -${NO_VLAN} 0 -${DEFAULT_TRANSPORT_ZONE} default-transport-zone -${SET_LOCAL_IP} sudo ovs-vsctl set O . other_config:local_ip= -${REMOVE_LOCAL_IP} sudo ovs-vsctl remove O . other_config local_ip -${odl_stream_check } ${Stream_dict}[${ODL_STREAM}] <= ${Stream_dict}[neon] - - -*** Keywords *** -Genius Suite Setup - [Documentation] Create Rest Session to http://${ODL_SYSTEM_IP}:${RESTCONFPORT} - Genius.Start Suite - RequestsLibrary.Create Session - ... session - ... http://${ODL_SYSTEM_IP}:${RESTCONFPORT} - ... auth=${AUTH} - ... headers=${HEADERS} - ... timeout=5 - -Genius Suite Teardown - [Documentation] Delete all sessions - RequestsLibrary.Delete All Sessions - Genius.Stop Suite - -Start Suite - [Documentation] Initial setup for Genius test suites - Wait Until Keyword Succeeds - ... 60 - ... 2 - ... ClusterManagement.Check Status Of Services Is OPERATIONAL - ... @{GENIUS_DIAG_SERVICES} - KarafKeywords.Setup_Karaf_Keywords - ToolsSystem.Get Tools System Nodes Data - ${karaf_debug_enabled} = BuiltIn.Get_Variable_Value ${KARAF_DEBUG} ${False} - IF ${karaf_debug_enabled} - KarafKeywords.Execute_Controller_Karaf_Command_On_Background log:set DEBUG org.opendaylight.genius - END - Genius.Set Switch Configuration - ${check} = BuiltIn.Wait Until Keyword Succeeds - ... 30 - ... 10 - ... Check Port Status Is ESTABLISHED - ... ${ODL_OF_PORT_6653} - ... @{TOOLS_SYSTEM_ALL_IPS} - ${check} = BuiltIn.Wait Until Keyword Succeeds - ... 30 - ... 10 - ... Check Port Status Is ESTABLISHED - ... ${OVSDBPORT} - ... @{TOOLS_SYSTEM_ALL_IPS} - Genius.Build Dpn List - @{SWITCH_DATA} = Collections.Combine Lists ${DPN_ID_LIST} ${TOOLS_SYSTEM_ALL_IPS} - BuiltIn.Set Suite Variable @{SWITCH_DATA} - ${substr} = Should Match Regexp ${TOOLS_SYSTEM_1_IP} [0-9]\{1,3}\.[0-9]\{1,3}\.[0-9]\{1,3}\. - ${SUBNET} = Catenate ${substr}0 - BuiltIn.Set Suite Variable ${SUBNET} - -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.Execute Command sudo ovs-vsctl del-br ${Bridge} - SSHLibrary.Execute Command sudo ovs-vsctl del-manager - SSHLibrary.Write exit - SSHLibrary.Close Connection - END - -Check Port Status Is ESTABLISHED - [Documentation] This keyword will check whether ports are established or not on OVS - [Arguments] ${port} @{tools_ips} - FOR ${tools_ip} IN @{tools_ips} - ${check_establishment} = Utils.Run Command On Remote System And Log - ... ${tools_ip} - ... netstat -anp | grep ${port} - BuiltIn.Should Contain ${check_establishment} ESTABLISHED - END - RETURN ${check_establishment} - -Create Vteps - [Documentation] This keyword creates VTEPs between OVS - [Arguments] ${vlan_id} ${gateway_ip} - ${body} = Genius.Set Json ${vlan_id} ${gateway_ip} ${SUBNET} @{TOOLS_SYSTEM_ALL_IPS} - ${resp} = RequestsLibrary.Put Request - ... session - ... ${CONFIG_API}/itm:transport-zones/transport-zone/TZA - ... data=${body} - BuiltIn.Should Contain ${ALLOWED_STATUS_CODES} ${resp.status_code} - -Set Json - [Documentation] Sets Json with the values passed for it. - [Arguments] ${vlan} ${gateway_ip} ${subnet} @{tools_ips} - IF ${odl_stream_check } - ${body} = OperatingSystem.Get File ${genius_config_dir}/Itm_creation_no_vlan_below_sodium.json - ELSE - ${body} = OperatingSystem.Get File ${genius_config_dir}/Itm_creation_no_vlan_sodium_and_above.json - END - IF ${odl_stream_check } - ${body} = String.Replace String ${body} 1.1.1.1 ${subnet} - ELSE - ${body} = BuiltIn.Set Variable ${body} - END - IF ${odl_stream_check } - ${body} = String.Replace String ${body} "vlan-id": 0 "vlan-id": ${vlan} - ELSE - ${body} = BuiltIn.Set Variable ${body} - END - IF ${odl_stream_check } - ${body} = String.Replace String ${body} "gateway-ip": "0.0.0.0" "gateway-ip": "${gateway_ip}" - ELSE - ${body} = BuiltIn.Set Variable ${body} - END - 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}]" - END - BuiltIn.Log ${body} - RETURN ${body} # returns complete json that has been updated - -Build Dpn List - [Documentation] This keyword builds the list of DPN ids after configuring OVS bridges on each of the TOOLS_SYSTEM_IPs. - @{DPN_ID_LIST} = BuiltIn.Create List - FOR ${tools_ip} IN @{TOOLS_SYSTEM_ALL_IPS} - ${output} = Utils.Run Command On Remote System And Log - ... ${tools_ip} - ... sudo ovs-ofctl show -O Openflow13 ${Bridge} | head -1 | awk -F "dpid:" '{ print $2 }' - ${dpn_id} = Utils.Run Command On Remote System And Log ${tools_ip} echo \$\(\(16\#${output}\)\) - Collections.Append To List ${DPN_ID_LIST} ${dpn_id} - END - BuiltIn.Set Suite Variable @{DPN_ID_LIST} - -BFD Suite Teardown - [Documentation] Run at end of BFD suite - Genius.Delete All Vteps - Genius.Stop Suite - -Delete All Vteps - [Documentation] This will delete vtep. - ${resp} = RequestsLibrary.Delete Request session ${CONFIG_API}/itm:transport-zones/ - BuiltIn.Should Be Equal As Strings ${resp.status_code} 200 - BuiltIn.Wait Until Keyword Succeeds 30 5 Genius.Verify Tunnel Delete on DS tun - -Genius Test Setup - [Documentation] Genius test case setup - BuiltIn.Run Keyword And Ignore Error KarafKeywords.Log_Testcase_Start_To_Controller_Karaf - -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} - 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} - ODLTools.Get All test_name=${test_name} - -Genius Suite Debugs - [Arguments] ${data_models} - Genius.Genius Test Teardown ${data_models} test_name=${SUITE_NAME} fail=False - -ITM Direct Tunnels Start Suite - [Documentation] start suite for itm scalability - ClusterManagement.ClusterManagement_Setup - ClusterManagement.Stop_Members_From_List_Or_All - FOR ${controller_index} IN RANGE ${NUM_ODL_SYSTEM} - Utils.Run Command On Remote System And Log - ... ${ODL_SYSTEM_${controller_index+1}_IP} - ... sed -i -- 's/false/true/g' ${GENIUS_IFM_CONFIG_FLAG} - END - ClusterManagement.Start_Members_From_List_Or_All - Genius.Genius Suite Setup - -ITM Direct Tunnels Stop Suite - [Documentation] Stop suite for ITM Direct Tunnels. - FOR ${controller_index} IN RANGE ${NUM_ODL_SYSTEM} - Utils.Run Command On Remote System And Log - ... ${ODL_SYSTEM_${controller_index+1}_IP} - ... sed -i -- 's/true/false/g' ${GENIUS_IFM_CONFIG_FLAG} - END - Genius.Genius Suite Teardown - -Ovs Interface Verification - [Documentation] Checks whether the created Interface is seen on OVS or not. - FOR ${tools_ip} IN @{TOOLS_SYSTEM_ALL_IPS} - Genius.Ovs Verification For Each Dpn ${tools_ip} ${TOOLS_SYSTEM_ALL_IPS} - END - -Get ITM - [Documentation] It returns the created ITM Transport zone with the passed values during the creation is done. - [Arguments] ${itm_created[0]} ${switch_data}=${SWITCH_DATA} - Collections.Append To List ${switch_data} ${itm_created[0]} - Utils.Check For Elements At URI ${TUNNEL_TRANSPORTZONE}/transport-zone/${itm_created[0]} ${switch_data} - -Check Tunnel Delete On OVS - [Documentation] Verifies the Tunnel is deleted from OVS. - [Arguments] ${tunnel_list} - FOR ${tools_ip} IN @{TOOLS_SYSTEM_ALL_IPS} - ${output} = Utils.Run Command On Remote System ${tools_ip} sudo ovs-vsctl show - Genius.Verify Deleted Tunnels on OVS ${tunnel_list} ${output} - END - -Check Table0 Entry In a Dpn - [Documentation] Checks the Table 0 entry in the OVS when flows are dumped. - [Arguments] ${tools_ip} ${bridgename} ${port_numbers} - ${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}] - END - -Verify Tunnel Status As Up - [Documentation] Verify that the number of tunnels are UP - [Arguments] ${no_of_switches}=${NUM_TOOLS_SYSTEM} - ${no_of_tunnels} = KarafKeywords.Issue Command On Karaf Console ${TEP_SHOW_STATE} - ${lines_of_state_up} = String.Get Lines Containing String ${no_of_tunnels} ${STATE_UP} - ${actual_tunnel_count} = String.Get Line Count ${lines_of_state_up} - ${expected_tunnel_count} = BuiltIn.Evaluate ${no_of_switches}*(${no_of_switches}-1) - BuiltIn.Should Be Equal As Strings ${actual_tunnel_count} ${expected_tunnel_count} - -Verify Tunnel Status - [Documentation] Verifies if all tunnels in the input, has the expected status(UP/DOWN/UNKNOWN) - [Arguments] ${tunnel_status} ${tunnel_names} - ${tep_result} = KarafKeywords.Issue Command On Karaf Console ${TEP_SHOW_STATE} - ${number_of_tunnels} = BuiltIn.Get Length ${tunnel_names} - FOR ${each_tunnel} IN RANGE ${number_of_tunnels} - ${tunnel} = Collections.Get From List ${tunnel_names} ${each_tunnel} - ${tep_output} = String.Get Lines Containing String ${tep_result} ${tunnel} - BuiltIn.Should Contain ${tep_output} ${tunnel_status} - END - -Get Tunnels On OVS - [Documentation] Retrieves the list of tunnel ports present on OVS - [Arguments] ${connection_id} - SSHLibrary.Switch Connection ${connection_id} - ${ovs_result} = Utils.Write Commands Until Expected Prompt - ... sudo ovs-vsctl show - ... ${DEFAULT_LINUX_PROMPT_STRICT} - @{tunnel_names} = BuiltIn.Create List - ${tunnels} = String.Get Lines Matching Regexp ${ovs_result} Interface "tun.*" True - @{tunnels_list} = String.Split To Lines ${tunnels} - FOR ${tun} IN @{tunnels_list} - ${tun_list} = Get Regexp Matches ${tun} tun.*\\w - Collections.Append To List ${tunnel_names} @{tun_list} - END - ${items_in_list} = BuiltIn.Get Length ${tunnel_names} - RETURN @{tunnel_names} - -Get Tunnel - [Documentation] This keyword returns tunnel interface name between source DPN and destination DPN. - ... Statements are executed depending on whether it is itm tunnel state(default) or dpn tep state. - [Arguments] ${src} ${dst} ${type} ${config_api_type}=${EMPTY} - IF '${config_api_type}' == '${EMPTY}' - ${resp} = RequestsLibrary.Get Request - ... session - ... ${CONFIG_API}/itm-state:tunnel-list/internal-tunnel/${src}/${dst}/${type}/ - ELSE - ${resp} = RequestsLibrary.Get Request - ... session - ... ${CONFIG_API}/itm-state:dpn-teps-state/dpns-teps/${src}/remote-dpns/${dst}/ - END - BuiltIn.Should Be Equal As Strings ${resp.status_code} ${RESP_CODE} - BuiltIn.Log ${resp.text} - ${respjson} = RequestsLibrary.To Json ${resp.text} pretty_print=True - ${json} = Utils.Json Parse From String ${resp.text} - BuiltIn.Should Contain ${resp.text} ${dst} - IF '${config_api_type}' == '${EMPTY}' - BuiltIn.Should Contain ${resp.text} ${src} - END - IF "tunnel-interface-names" in "${json}" - ${tunnel_interface_name} = Genius.Get Tunnel Interface Name - ... ${json["internal-tunnel"][0]} - ... tunnel-interface-names - ELSE - ${tunnel_interface_name} = Set Variable ${None} - END - IF '${config_api_type}' != '${EMPTY}' - ${tunnel_name_output} ${tunnel_name} = BuiltIn.Should Match Regexp - ... ${resp.text} - ... "tunnel-name":"(tun[\\w\\d]+)" - ELSE - ${tunnel_name_output} ${tunnel_name} = Set Variable ${None} ${None} - END - ${tunnel} = BuiltIn.Set Variable If - ... '${config_api_type}' == '${EMPTY}' - ... ${tunnel_interface_name} - ... ${tunnel_name} - RETURN ${tunnel} - -Get Tunnel Interface Name - [Documentation] This keyword extracts tunnel interface name from json given as input. - [Arguments] ${json} ${expected_tunnel_interface_name} - ${tunnels} = Collections.Get From Dictionary ${json} ${expected_tunnel_interface_name} - RETURN ${tunnels[0]} - -Verify Tunnel Delete on DS - [Documentation] This keyword confirms that specified tunnel is not present by giving command from karaf console. - [Arguments] ${tunnel} - ${output} = KarafKeywords.Issue Command On Karaf Console ${TEP_SHOW_STATE} - BuiltIn.Should Not Contain ${output} ${tunnel} - -SRM Start Suite - [Documentation] Start suite for service recovery. - Genius Suite Setup - Genius.Create Vteps ${NO_VLAN} ${gateway_ip} - BuiltIn.Wait Until Keyword Succeeds 60s 5s Genius.Verify Tunnel Status As Up - Genius.Genius Suite Debugs ${data_models} - -SRM Stop Suite - [Documentation] Stop suite for service recovery. - Genius.Delete All Vteps - Genius.Genius Suite Debugs ${data_models} - Genius.Genius Suite Teardown - -Verify Tunnel Monitoring Status - [Arguments] ${tunnel_monitor_status} - ${output} = KarafKeywords.Issue Command On Karaf Console ${TEP_SHOW} - BuiltIn.Should Contain ${output} ${tunnel_monitor_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.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 - SSHLibrary.Execute Command sudo ovs-vsctl set-controller ${Bridge} tcp:${ODL_SYSTEM_IP}:${ODL_OF_PORT_6653} - SSHLibrary.Execute Command sudo ifconfig ${Bridge} up - SSHLibrary.Execute Command - ... sudo ovs-vsctl add-port ${Bridge} tap${tool_system_index}ed70586-6c -- set Interface tap${tool_system_index}ed70586-6c type=tap - SSHLibrary.Execute Command sudo ovs-vsctl set-manager tcp:${ODL_SYSTEM_IP}:${OVSDBPORT} - SSHLibrary.Execute Command sudo ovs-vsctl show - END - -Ovs Verification For Each Dpn - [Documentation] This keyword will verify whether local and remote ip are present on the tunnels available on OVS - [Arguments] ${tools_system_ip} ${tools_ips} - ${ovs_output} = Utils.Run Command On Remote System And Log ${tools_system_ip} sudo ovs-vsctl show - @{updated_tools_ip_list} = BuiltIn.Create List @{tools_ips} - Collections.Remove Values From List ${updated_tools_ip_list} ${tools_system_ip} - BuiltIn.Log Many @{updated_tools_ip_list} - ${num_tool_ips} = BuiltIn.Get Length ${updated_tools_ip_list} - FOR ${num} IN RANGE ${num_tool_ips} - ${tools_ip} = Collections.Get From List ${updated_tools_ip_list} ${num} - BuiltIn.Should Contain ${ovs_output} ${tools_ip} - END - -Get Tunnels List - [Documentation] The keyword fetches the list of operational tunnels from ODL - ${no_of_tunnels} = KarafKeywords.Issue Command On Karaf Console ${TEP_SHOW_STATE} - ${tunnels} = String.Get Regexp Matches ${no_of_tunnels} tun[\\w\\d]+ - BuiltIn.Log ${tunnels} - RETURN ${tunnels} - -Verify Table0 Entry After fetching Port Number - [Documentation] This keyword will get the port number and checks the table0 entry for each dpn - FOR ${tools_ip} IN @{TOOLS_SYSTEM_ALL_IPS} - ${check} = Utils.Run Command On Remote System And Log - ... ${tools_ip} - ... sudo ovs-ofctl -O OpenFlow13 show ${Bridge} - ${port_numbers} = String.Get Regexp Matches ${check} (\\d+).tun.* 1 - Genius.Check Table0 Entry In a Dpn ${tools_ip} ${Bridge} ${port_numbers} - END - -Verify Deleted Tunnels On OVS - [Documentation] This will verify whether tunnel is deleted. - [Arguments] ${tunnel_list} ${resp_data} - BuiltIn.Log ${resp_data} - FOR ${tunnel} IN @{tunnel_list} - BuiltIn.Should Not Contain ${resp_data} ${tunnel} - END - -Verify Response Code Of Dpn End Point Config API - [Documentation] This keyword will verify response code from itm-state: dpn endpoints config api for each dpn - [Arguments] ${dpn_list}=${DPN_ID_LIST} - FOR ${dpn} IN @{dpn_list} - BuiltIn.Wait Until Keyword Succeeds - ... 40 - ... 5 - ... Utils.Get Data From URI - ... session - ... ${CONFIG_API}/itm-state:dpn-endpoints/DPN-TEPs-info/${dpn}/ - END - -Get Tunnel Between DPNs - [Documentation] This keyword will Get All the Tunnels available on DPN's - [Arguments] ${tunnel_type} ${config_api_type} ${src_dpn_id} @{dst_dpn_ids} - FOR ${dst_dpn_id} IN @{dst_dpn_ids} - ${tunnel} = BuiltIn.Wait Until Keyword Succeeds 30 10 Genius.Get Tunnel ${src_dpn_id} - ... ${dst_dpn_id} ${tunnel_type} ${config_api_type} - END - -Update Dpn id List And Get Tunnels - [Documentation] Update the exisisting dpn id list to form different combination of dpn ids such that tunnel formation between all dpns is verified. - [Arguments] ${tunnel_type} ${config_api_type}=${EMPTY} ${dpn_ids}=${DPN_ID_LIST} - FOR ${dpn_id} IN @{dpn_ids} - @{dpn_ids_updated} = BuiltIn.Create List @{dpn_ids} - Collections.Remove Values From List ${dpn_ids_updated} ${dpn_id} - BuiltIn.Log Many ${dpn_ids_updated} - Genius.Get Tunnel Between DPNs ${tunnel_type} ${config_api_type} ${dpn_id} @{dpn_ids_updated} - END diff --git a/csit/scriptplans/genius-carbon-nitrogen.txt b/csit/scriptplans/genius-carbon-nitrogen.txt deleted file mode 120000 index 0d9237ef22..0000000000 --- a/csit/scriptplans/genius-carbon-nitrogen.txt +++ /dev/null @@ -1 +0,0 @@ -genius-upstream.txt \ No newline at end of file diff --git a/csit/scriptplans/genius-gate.txt b/csit/scriptplans/genius-gate.txt deleted file mode 120000 index 0d9237ef22..0000000000 --- a/csit/scriptplans/genius-gate.txt +++ /dev/null @@ -1 +0,0 @@ -genius-upstream.txt \ No newline at end of file diff --git a/csit/scriptplans/genius-tdd-wip.txt b/csit/scriptplans/genius-tdd-wip.txt deleted file mode 120000 index 0d9237ef22..0000000000 --- a/csit/scriptplans/genius-tdd-wip.txt +++ /dev/null @@ -1 +0,0 @@ -genius-upstream.txt \ No newline at end of file diff --git a/csit/scriptplans/genius-upstream.txt b/csit/scriptplans/genius-upstream.txt deleted file mode 100644 index 55efdfbce1..0000000000 --- a/csit/scriptplans/genius-upstream.txt +++ /dev/null @@ -1,2 +0,0 @@ -# Place the scripts in run order: -integration/test/csit/scripts/set_unique_node_uuid.sh diff --git a/csit/scriptplans/genius-verify.txt b/csit/scriptplans/genius-verify.txt deleted file mode 120000 index 0d9237ef22..0000000000 --- a/csit/scriptplans/genius-verify.txt +++ /dev/null @@ -1 +0,0 @@ -genius-upstream.txt \ No newline at end of file diff --git a/csit/suites/genius/BFD_monitoring.robot b/csit/suites/genius/BFD_monitoring.robot deleted file mode 100644 index 2802feb84c..0000000000 --- a/csit/suites/genius/BFD_monitoring.robot +++ /dev/null @@ -1,227 +0,0 @@ -*** Settings *** -Documentation Test Suite for BFD tunnel monitoring - -Library OperatingSystem -Library String -Library RequestsLibrary -Library Collections -Library SSHLibrary -Resource ../../libraries/DataModels.robot -Resource ../../libraries/Genius.robot -Resource ../../libraries/KarafKeywords.robot -Resource ../../libraries/OVSDB.robot -Resource ../../libraries/ToolsSystem.robot -Resource ../../libraries/Utils.robot -Resource ../../libraries/VpnOperations.robot -Resource ../../variables/netvirt/Variables.robot -Resource ../../variables/Variables.robot -Resource ../../libraries/CompareStream.robot -Variables ../../variables/genius/Modules.py - -Suite Setup Genius Suite Setup -Suite Teardown BFD Suite Teardown -Test Setup Genius Test Setup -Test Teardown Genius Test Teardown ${data_models} - - -*** Variables *** -${TUNNEL_MONITOR_ON} Tunnel Monitoring (for VXLAN tunnels): On -${DEFAULT_MONITORING_INTERVAL} Tunnel Monitoring Interval (for VXLAN tunnels): 1000 -${TUNNEL_MONITOR_OFF} Tunnel Monitoring (for VXLAN tunnels): Off -${INTERVAL_5000} {"tunnel-monitor-interval":{"interval":5000}} -${ENABLE_MONITORING} -... {"tunnel-monitor-params":{"enabled":true,"monitor-protocol":"odl-interface:tunnel-monitoring-type-bfd"}} -${DISABLE_MONITORING} -... {"tunnel-monitor-params":{"enabled":"false","monitor-protocol":"odl-interface:tunnel-monitoring-type-bfd"}} -${TUNNEL_MONI_PARAMS_TRUE} true -${TUNNEL_MONI_PARAMS_FALSE} false -${INTERFACE_DS_MONI_FALSE} "odl-interface:monitor-enabled": false -${INTERFACE_DS_MONI_TRUE} "odl-interface:monitor-enabled": true -${INTERFACE_DS_MONI_INT_1000} "odl-interface:monitor-interval": 1000 -${INTERFACE_DS_MONI_INT_5000} "odl-interface:monitor-interval": 5000 -${TUNNEL_MONI_PROTO} tunnel-monitoring-type-bfd - - -*** Test Cases *** -BFD_TC00 Create ITM between DPNs - [Documentation] Create ITM between DPNs - Genius.Create Vteps ${NO_VLAN} ${gateway_ip} - BuiltIn.Wait Until Keyword Succeeds 30s 5s Genius.Verify Tunnel Status As Up - -BFD_TC01 Verify default BFD monitoring status on Controller - [Documentation] Verify the default value of BFD monitoring \ on the Controller - BuiltIn.Wait Until Keyword Succeeds - ... 10s - ... 2s - ... Genius.Verify Tunnel Monitoring Status - ... ${TUNNEL_MONITOR_OFF} - BuiltIn.Wait Until Keyword Succeeds - ... 10s - ... 2s - ... Verify Config Ietf Interface Output - ... ${INTERFACE_DS_MONI_FALSE} - ... ${INTERFACE_DS_MONI_INT_1000} - ... ${TUNNEL_MONI_PROTO} - -BFD_TC02 Enable BFD Monitoring And Verify On Controller - [Documentation] Enable BFD monitoring in branches greater than neon and verify that BFD is enabled in the controller. - Enable BFD And Verify ${INTERFACE_DS_MONI_INT_1000} - -BFD_TC03 Verify that BFD tunnel monitoring interval is set with appropriate default value i.e.,1000 - [Documentation] This will verify BFD tunnel monitoring default interval - ${output} = KarafKeywords.Issue Command On Karaf Console ${TEP_SHOW} - ${tunnel_monitoring} = String.Get Lines Containing String ${output} Tunnel Monitoring Interval - BuiltIn.Should Be Equal ${tunnel_monitoring} ${DEFAULT_MONITORING_INTERVAL} - BuiltIn.Wait Until Keyword Succeeds - ... 10s - ... 2s - ... Verify Config Ietf Interface Output - ... ${INTERFACE_DS_MONI_TRUE} - ... ${INTERFACE_DS_MONI_INT_1000} - ... ${TUNNEL_MONI_PROTO} - -BFD_TC04 Verify that in controller tunnel status is up when ITM tunnel interface is brought up. - [Documentation] Verify that in controller tunnel status is up when ITM tunnel interface is brought up. - BuiltIn.Wait Until Keyword Succeeds 10s 2s Genius.Verify Tunnel Monitoring Status ${TUNNEL_MONITOR_ON} - BuiltIn.Wait Until Keyword Succeeds 10s 1s Genius.Verify Tunnel Status As Up - BuiltIn.Wait Until Keyword Succeeds - ... 10s - ... 2s - ... Verify Config Ietf Interface Output - ... ${INTERFACE_DS_MONI_TRUE} - ... ${INTERFACE_DS_MONI_INT_1000} - ... ${TUNNEL_MONI_PROTO} - -BFD_TC05 Verify BFD tunnel monitoring interval can be changed. - [Documentation] Verify BFD tunnel monitoring interval can be changed. - ${oper_int} = RequestsLibrary.Put Request - ... session - ... ${CONFIG_API}/itm-config:tunnel-monitor-interval/ - ... data=${INTERVAL_5000} - ${Bfd_updated_value} = BuiltIn.Create List 5000 - Wait Until Keyword Succeeds - ... 30s - ... 10s - ... Utils.Check For Elements At URI - ... ${OPERATIONAL_API}/itm-config:tunnel-monitor-interval/ - ... ${Bfd_updated_value} - Wait Until Keyword Succeeds - ... 30s - ... 10s - ... Utils.Check For Elements At URI - ... ${CONFIG_API}/itm-config:tunnel-monitor-interval/ - ... ${Bfd_updated_value} - Wait Until Keyword Succeeds - ... 10s - ... 2s - ... Verify Config Ietf Interface Output - ... ${INTERFACE_DS_MONI_TRUE} - ... ${INTERFACE_DS_MONI_INT_5000} - ... ${TUNNEL_MONI_PROTO} - FOR ${tool_system_index} IN RANGE ${NUM_TOOLS_SYSTEM} - ${tun_names} = Genius.Get Tunnels On OVS ${TOOLS_SYSTEM_ALL_CONN_IDS[${tool_system_index}]} - Verify ovs-vsctl Output For Each Tunnel ${tun_names} ${tool_system_index} - END - -BFD_TC06 Verify that the tunnel state goes to UNKNOWN when DPN is disconnected - [Documentation] Verify that the tunnel state goes to UNKNOWN when DPN is disconnected - ToolsSystem.Run Command On All Tools Systems sudo ovs-vsctl del-controller ${Bridge} - BuiltIn.Wait Until Keyword Succeeds 10s 1s VpnOperations.Verify Tunnel Status as UNKNOWN - BuiltIn.Wait Until Keyword Succeeds - ... 10s - ... 2s - ... Verify Config Ietf Interface Output - ... ${INTERFACE_DS_MONI_TRUE} - ... ${INTERFACE_DS_MONI_INT_5000} - ... ${TUNNEL_MONI_PROTO} - ToolsSystem.Run Command On All Tools Systems - ... sudo ovs-vsctl set-controller ${Bridge} tcp:${ODL_SYSTEM_IP}:${ODL_OF_PORT} - BuiltIn.Wait Until Keyword Succeeds 10s 1s Genius.Verify Tunnel Status As Up - BuiltIn.Wait Until Keyword Succeeds - ... 10s - ... 2s - ... Verify Config Ietf Interface Output - ... ${INTERFACE_DS_MONI_TRUE} - ... ${INTERFACE_DS_MONI_INT_5000} - ... ${TUNNEL_MONI_PROTO} - -BFD_TC07 Set BFD monitoring To Default Value - [Documentation] Disable BFD monitoring(setting it to default value) and verify that BFD is disabled on the controller. - Disable BFD And Verify - - -*** Keywords *** -Verify Config Ietf Interface Output - [Documentation] This keyword will get request from config ietf interface and verifies state, interval and proto are present - [Arguments] ${state} ${interval} ${proto} - ${int_resp} = RequestsLibrary.Get Request session ${CONFIG_API}/ietf-interfaces:interfaces/ - ${respjson} = RequestsLibrary.To Json ${int_resp.content} pretty_print=True - BuiltIn.Should Contain ${respjson} ${state} - BuiltIn.Should Contain ${respjson} ${interval} - BuiltIn.Should Contain ${respjson} ${proto} - -Ovs Tunnel Get - [Documentation] This keyword will return the tunnel name on OVS - [Arguments] ${tools_ip} - ${list_interface} = Utils.Run Command On Remote System ${tools_ip} sudo ovs-vsctl list interface - ${tun_line} = ${tun_name} = BuiltIn.Should Match Regexp ${list_interface} name\\s+: "(tun.*)" - BuiltIn.Log ${tun_name} - BuiltIn.Should Not Be Empty ${tun_name} - RETURN ${tun_name} - -Verify Tunnel Monitoring Params - [Documentation] This keyword will verify the tunnel monitoring is true or false - [Arguments] ${flag} - @{checklist} = BuiltIn.Create List ${flag} - Utils.Check For Elements At URI ${OPERATIONAL_API}/itm-config:tunnel-monitor-params/ ${checklist} - -Enable BFD And Verify - [Documentation] Enable BFD Monitoring And Verify On Controller. - [Arguments] ${interface_ds_moni_int} - ${resp} = RequestsLibrary.Put Request - ... session - ... ${CONFIG_API}/itm-config:tunnel-monitor-params/ - ... data=${ENABLE_MONITORING} - BuiltIn.Should Be Equal As Strings ${resp.status_code} 201 - BuiltIn.Wait Until Keyword Succeeds 10s 2s Verify Tunnel Monitoring Params ${TUNNEL_MONI_PARAMS_TRUE} - BuiltIn.Wait Until Keyword Succeeds 10s 2s Genius.Verify Tunnel Monitoring Status ${TUNNEL_MONITOR_ON} - BuiltIn.Wait Until Keyword Succeeds - ... 10s - ... 2s - ... Verify Config Ietf Interface Output - ... ${INTERFACE_DS_MONI_TRUE} - ... ${interface_ds_moni_int} - ... ${TUNNEL_MONI_PROTO} - BuiltIn.Wait Until Keyword Succeeds 10s 1s Genius.Verify Tunnel Status As Up - -Disable BFD And Verify - [Documentation] Disable BFD Monitoring And Verify On Controller. - ${resp} = RequestsLibrary.Put Request - ... session - ... ${CONFIG_API}/itm-config:tunnel-monitor-params/ - ... data=${DISABLE_MONITORING} - BuiltIn.Should Be Equal As Strings ${resp.status_code} 200 - BuiltIn.Wait Until Keyword Succeeds 10s 2s Verify Tunnel Monitoring Params ${TUNNEL_MONI_PARAMS_FALSE} - BuiltIn.Wait Until Keyword Succeeds 10s 2s Genius.Verify Tunnel Monitoring Status ${TUNNEL_MONITOR_OFF} - BuiltIn.Wait Until Keyword Succeeds - ... 10s - ... 2s - ... Verify Config Ietf Interface Output - ... ${INTERFACE_DS_MONI_FALSE} - ... ${INTERFACE_DS_MONI_INT_5000} - ... ${TUNNEL_MONI_PROTO} - BuiltIn.Wait Until Keyword Succeeds 10s 1s Genius.Verify Tunnel Status As Up - -Verify ovs-vsctl Output For Each Tunnel - [Arguments] ${tun_names} ${tool_system_index} - ${no of tunnels} = BuiltIn.Get Length ${tun_names} - FOR ${each_tun} IN RANGE ${no of tunnels} - ${tun} = Collections.Get From List ${tun_names} ${each_tun} - BuiltIn.Wait Until Keyword Succeeds - ... 20 - ... 5 - ... OVSDB.Verify Ovs-vsctl Output - ... list interface ${tun} - ... 5000 - ... ovs_system=${TOOLS_SYSTEM_ALL_IPS}[${tool_system_index}] - END diff --git a/csit/suites/genius/Configure_ITM.robot b/csit/suites/genius/Configure_ITM.robot deleted file mode 100644 index e0c3fd420e..0000000000 --- a/csit/suites/genius/Configure_ITM.robot +++ /dev/null @@ -1,271 +0,0 @@ -*** Settings *** -Documentation Test Suite for ITM - -Library Collections -Library OperatingSystem -Library RequestsLibrary -Library String -Resource ../../libraries/DataModels.robot -Resource ../../libraries/Genius.robot -Resource ../../libraries/KarafKeywords.robot -Resource ../../libraries/ToolsSystem.robot -Resource ../../libraries/Utils.robot -Resource ../../variables/netvirt/Variables.robot -Resource ../../variables/Variables.robot -Variables ../../variables/genius/Modules.py - -Suite Setup Genius Suite Setup -Suite Teardown Genius Suite Teardown -Test Setup Genius Test Setup -Test Teardown Genius Test Teardown ${data_models} - - -*** Variables *** -${gateway_regex_IPV4} [0-9]\{1,3}\.[0-9]\{1,3}\.[0-9]\{1,3}\. -${gateway_regex_IPV6} -... [0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4}: - - -*** Test Cases *** -Create and Verify VTEP -No Vlan - [Documentation] This testcase creates a Internal Transport Manager - ITM tunnel between 2 DPNs without VLAN and Gateway configured in Json. - Genius.Create Vteps ${NO_VLAN} ${gateway_ip} - BuiltIn.Wait Until Keyword Succeeds 40 10 Genius.Get ITM ${itm_created[0]} - ${type} = BuiltIn.Set Variable odl-interface:tunnel-type-vxlan - Genius.Update Dpn id list and get tunnels ${type} - Genius.Verify Response Code Of Dpn Endpointconfig API - BuiltIn.Wait Until Keyword Succeeds 40 10 Genius.Ovs Interface Verification - BuiltIn.Wait Until Keyword Succeeds 60 5 Genius.Verify Tunnel Status As Up - Verify Network Topology - Verify Ietf Interface State - BuiltIn.Wait Until Keyword Succeeds 40 10 Genius.Verify Table0 Entry After fetching Port Number - ${resp} = RequestsLibrary.Get Request session ${OPERATIONAL_NODES_API} - ${respjson} = RequestsLibrary.To Json ${resp.content} pretty_print=True - BuiltIn.Log ${respjson} - BuiltIn.Should Be Equal As Strings ${resp.status_code} 200 - -Delete and Verify VTEP -No Vlan - [Documentation] This Delete testcase , deletes the ITM tunnel created between 2 dpns. - ${tunnel_list} = Genius.Get Tunnels List - FOR ${dpn_id} IN @{DPN_ID_LIST} - CompareStream.Run_Keyword_If_Less_Than_Sodium - ... Utils.Remove All Elements At URI And Verify - ... ${CONFIG_API}/itm:transport-zones/transport-zone/${itm_created[0]}/subnets/${SUBNET}%2F16/vteps/${dpn_id}/${port_name} - CompareStream.Run_Keyword_If_At_Least_Sodium - ... Utils.Remove All Elements At URI And Verify - ... ${CONFIG_API}/itm:transport-zones/transport-zone/${itm_created[0]}/vteps/${dpn_id} - END - ${output} = KarafKeywords.Issue Command On Karaf Console ${TEP_SHOW} - BuiltIn.Should Not Contain ${output} ${itm_created[0]} - Utils.Remove All Elements At URI And Verify ${CONFIG_API}/itm:transport-zones/transport-zone/${itm_created[0]}/ - ${resp} = Utils.Get Data From URI session ${CONFIG_API}/itm:transport-zones/ - BuiltIn.Should Not Contain ${resp} = ${itm_created[0]} - BuiltIn.Wait Until Keyword Succeeds - ... 40 - ... 10 - ... Genius.Verify Deleted Tunnels On OVS - ... ${tunnel_list} - ... ${resp} - BuiltIn.Wait Until Keyword Succeeds 40 10 Genius.Check Tunnel Delete On OVS ${tunnel_list} - -Create and Verify VTEP IPv6 - No Vlan - [Documentation] This testcase creates a Internal Transport Manager - ITM tunnel between 2 DPNs without VLAN and Gateway configured in Json. - ${gateway_ip} = BuiltIn.Set Variable :: - Build Tools System IPV6 List - Create Vteps IPv6 ${NO_VLAN} ${gateway_ip} ${TOOLS_SYSTEM_IPV6_LIST} - BuiltIn.Wait Until Keyword Succeeds 40 10 Get ITM IPV6 ${itm_created[0]} - ${type} = BuiltIn.Set Variable odl-interface:tunnel-type-vxlan - Genius.Update Dpn id list and get tunnels ${type} - FOR ${dpn} IN @{DPN_ID_LIST} - BuiltIn.Wait Until Keyword Succeeds - ... 40 - ... 5 - ... Utils.Get Data From URI - ... session - ... ${CONFIG_API}/itm-state:dpn-endpoints/DPN-TEPs-info/${dpn}/ - ... headers=${ACCEPT_XML} - END - BuiltIn.Wait Until Keyword Succeeds 40 10 OVS Verification Between IPV6 - @{all_tunnels} = BuiltIn.Create List - FOR ${conn_id} IN @{TOOLS_SYSTEM_ALL_CONN_IDS} - ${tun_names} = Genius.Get Tunnels On OVS ${conn_id} - Collections.Append To List ${all_tunnels} @{tun_names} - END - @{network_topology_list} = BuiltIn.Create List @{all_tunnels} - @{network_topology_list} = Collections.Append To List ${network_topology_list} ${Bridge} - ${resp} = BuiltIn.Wait Until Keyword Succeeds - ... 40 - ... 10 - ... Get Network Topology with Tunnel - ... ${OPERATIONAL_TOPO_API} - ... ${network_topology_list} - -Delete and Verify VTEP IPv6 -No Vlan - [Documentation] This Delete testcase , deletes the ITM tunnel created between 2 dpns. - ${type} = BuiltIn.Set Variable odl-interface:tunnel-type-vxlan - ${tunnel_list} = Genius.Get Tunnels List - FOR ${dpn_id} IN @{DPN_ID_LIST} - CompareStream.Run_Keyword_If_Less_Than_Sodium - ... Utils.Remove All Elements At URI And Verify - ... ${CONFIG_API}/itm:transport-zones/transport-zone/${itm_created[0]}/subnets/${SUBNET_IPV6}%2F16/vteps/${dpn_id}/${port_name} - CompareStream.Run_Keyword_If_At_Least_Sodium - ... Utils.Remove All Elements At URI And Verify - ... ${CONFIG_API}/itm:transport-zones/transport-zone/${itm_created[0]}/vteps/${dpn_id} - END - ${output} = KarafKeywords.Issue Command On Karaf Console ${TEP_SHOW} - BuiltIn.Should Not Contain ${output} ${itm_created[0]} - BuiltIn.Run Keyword And Ignore Error - ... Utils.Remove All Elements At URI And Verify - ... ${CONFIG_API}/itm:transport-zones/transport-zone/${itm_created[0]}/ - ${resp} = Utils.Get Data From URI session ${CONFIG_API}/itm:transport-zones/ - BuiltIn.Should Not Contain ${resp} ${itm_created[0]} - BuiltIn.Wait Until Keyword Succeeds - ... 40 - ... 10 - ... Genius.Verify Deleted Tunnels On OVS - ... ${tunnel_list} - ... ${resp} - BuiltIn.Wait Until Keyword Succeeds 40 10 Genius.Check Tunnel Delete On OVS ${tunnel_list} - -Create and Verify VTEP-Vlan - [Documentation] This testcase creates a Internal Transport Manager - ITM tunnel between 2 DPNs with VLAN and without Gateway configured in Json. - Genius.Create Vteps ${VLAN} ${gateway_ip} - BuiltIn.Wait Until Keyword Succeeds 40 10 Genius.Get ITM ${itm_created[0]} - ${type} = BuiltIn.Set Variable odl-interface:tunnel-type-vxlan - Genius.Update Dpn id list and get tunnels ${type} - Genius.Verify Response Code Of Dpn Endpointconfig API - BuiltIn.Wait Until Keyword Succeeds 40 10 Genius.Ovs Interface Verification - Verify Network Topology - Verify Ietf Interface State - BuiltIn.Wait Until Keyword Succeeds 40 10 Genius.Verify Table0 Entry After fetching Port Number - -Delete and Verify VTEP -Vlan - [Documentation] This Delete testcase , deletes the ITM tunnel created between 2 dpns. - ${type} = BuiltIn.Set Variable odl-interface:tunnel-type-vxlan - ${tunnel_list} = Genius.Get Tunnels List - FOR ${dpn_id} IN @{DPN_ID_LIST} - CompareStream.Run_Keyword_If_Less_Than_Sodium - ... Utils.Remove All Elements At URI And Verify - ... ${CONFIG_API}/itm:transport-zones/transport-zone/${itm_created[0]}/subnets/${SUBNET}%2F16/vteps/${dpn_id}/${port_name} - CompareStream.Run_Keyword_If_At_Least_Sodium - ... Utils.Remove All Elements At URI And Verify - ... ${CONFIG_API}/itm:transport-zones/transport-zone/${itm_created[0]}/vteps/${dpn_id} - END - ${output} = KarafKeywords.Issue Command On Karaf Console ${TEP_SHOW} - BuiltIn.Should Not Contain ${output} ${itm_created[0]} - Utils.Remove All Elements At URI And Verify ${CONFIG_API}/itm:transport-zones/transport-zone/${itm_created[0]}/ - ${resp} = Utils.Get Data From URI session ${CONFIG_API}/itm:transport-zones/ - BuiltIn.Should Not Contain ${resp} ${itm_created[0]} - BuiltIn.Wait Until Keyword Succeeds - ... 40 - ... 10 - ... Genius.Verify Deleted Tunnels On OVS - ... ${tunnel_list} - ... ${resp} - BuiltIn.Wait Until Keyword Succeeds 40 10 Genius.Check Tunnel Delete On OVS ${tunnel_list} - -Create VTEP - Vlan and Gateway - [Documentation] This testcase creates a Internal Transport Manager - ITM tunnel between 2 DPNs with VLAN and Gateway configured in Json. - ${substr} = BuiltIn.Should Match Regexp ${TOOLS_SYSTEM_IP} ${gateway_regex_IPV4} - ${gateway_ip} = BuiltIn.Catenate ${substr}1 - Genius.Create Vteps ${VLAN} ${gateway_ip} - BuiltIn.Wait Until Keyword Succeeds 40 10 Genius.Get ITM ${itm_created[0]} - ${type} = BuiltIn.Set Variable odl-interface:tunnel-type-vxlan - Genius.Update Dpn id list and get tunnels ${type} - ${tunnel-type} = BuiltIn.Set Variable type: vxlan - Genius.Verify Response Code Of Dpn Endpointconfig API - BuiltIn.Wait Until Keyword Succeeds 40 10 Genius.Ovs Interface Verification - BuiltIn.Wait Until Keyword Succeeds 60 5 Genius.Verify Tunnel Status As Up - Verify Network Topology - Verify Ietf Interface State - BuiltIn.Wait Until Keyword Succeeds 40 10 Genius.Verify Table0 Entry After fetching Port Number - -Delete VTEP -Vlan and gateway - [Documentation] This testcase deletes the ITM tunnel created between 2 dpns. - ${type} = BuiltIn.Set Variable odl-interface:tunnel-type-vxlan - ${tunnel_list} = Genius.Get Tunnels List - FOR ${dpn_id} IN @{DPN_ID_LIST} - CompareStream.Run_Keyword_If_Less_Than_Sodium - ... Utils.Remove All Elements At URI And Verify - ... ${CONFIG_API}/itm:transport-zones/transport-zone/${itm_created[0]}/subnets/${SUBNET}%2F16/vteps/${dpn_id}/${port_name} - CompareStream.Run_Keyword_If_At_Least_Sodium - ... Utils.Remove All Elements At URI And Verify - ... ${CONFIG_API}/itm:transport-zones/transport-zone/${itm_created[0]}/vteps/${dpn_id} - END - ${output} = KarafKeywords.Issue Command On Karaf Console ${TEP_SHOW} - BuiltIn.Should Not Contain ${output} ${itm_created[0]} - Utils.Remove All Elements At URI And Verify ${CONFIG_API}/itm:transport-zones/transport-zone/${itm_created[0]}/ - ${resp} = Utils.Get Data From URI session ${CONFIG_API}/itm:transport-zones/ - BuiltIn.Should Not Contain ${resp} ${itm_created[0]} - BuiltIn.Wait Until Keyword Succeeds - ... 40 - ... 10 - ... Genius.Verify Deleted Tunnels On OVS - ... ${tunnel_list} - ... ${resp} - BuiltIn.Wait Until Keyword Succeeds 40 10 Genius.Check Tunnel Delete On OVS ${tunnel_list} - - -*** Keywords *** -Create Vteps IPv6 - [Documentation] This keyword creates VTEPs between IPV6 ip's - [Arguments] ${vlan} ${gateway_ip} ${tools_ips} - ${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} - Utils.Post Log Check ${CONFIG_API}/itm:transport-zones/ ${body} status_codes=${204} - -Get Network Topology with Tunnel - [Documentation] Returns the Network topology with Tunnel info in it. - [Arguments] ${url} ${network_topology_list} - Utils.Check For Elements At URI ${url} ${network_topology_list} - -Get ITM IPV6 - [Documentation] It returns the created ITM Transport zone with the passed values during the creation is done. - [Arguments] ${itm_created[0]} - @{Itm-no-vlan} = Collections.Combine Lists ${TOOLS_SYSTEM_IPV6_LIST} ${DPN_ID_LIST} - Collections.Append To List ${Itm-no-vlan} ${itm_created[0]} - Utils.Check For Elements At URI - ... ${CONFIG_API}/itm:transport-zones/transport-zone/${itm_created[0]} - ... ${Itm-no-vlan} - -OVS Verification Between IPV6 - [Documentation] This keyword will verify tunnels available on ovs - FOR ${tools_ip} IN @{TOOLS_SYSTEM_ALL_IPS} - Genius.Ovs Verification For Each Dpn ${tools_ip} ${TOOLS_SYSTEM_IPV6_LIST} - END - -Verify Network Topology - [Documentation] This keyword will verify whether all tunnels and bridges are populated in network topology - ${all_tunnels} = Genius.Get Tunnels List - @{network_topology_list} = BuiltIn.Create List - @{network_topology_list} = Collections.Append To List ${network_topology_list} ${Bridge} - @{network_topology_list} = Collections.Combine Lists ${network_topology_list} ${all_tunnels} - ${resp} = BuiltIn.Wait Until Keyword Succeeds - ... 40 - ... 10 - ... Get Network Topology with Tunnel - ... ${OPERATIONAL_TOPO_API} - ... ${network_topology_list} - -Verify Ietf Interface State - Utils.Check For Elements At URI - ... ${OPERATIONAL_API}/ietf-interfaces:interfaces-state/ - ... ${DPN_ID_LIST} - ... session - ... True - ${all_tunnels} = Genius.Get Tunnels List - Utils.Check For Elements At URI - ... ${OPERATIONAL_API}/ietf-interfaces:interfaces-state/ - ... ${all_tunnels} - ... session - ... True - -Build Tools System IPV6 List - [Documentation] Create a list of tools system ips with IPV6. - @{TOOLS_SYSTEM_IPV6_LIST} = BuiltIn.Create List - FOR ${tool_system_index} IN RANGE ${NUM_TOOLS_SYSTEM} - Collections.Append To List ${TOOLS_SYSTEM_IPV6_LIST} fd96:2a25:4ad3:3c7d:0:0:${tool_system_index}:1000 - END - BuiltIn.Set Suite Variable @{TOOLS_SYSTEM_IPV6_LIST} diff --git a/csit/suites/genius/ID_manager.robot b/csit/suites/genius/ID_manager.robot deleted file mode 100644 index f648ed8e82..0000000000 --- a/csit/suites/genius/ID_manager.robot +++ /dev/null @@ -1,119 +0,0 @@ -*** Settings *** -Documentation Test Suite for IdManager - -Library OperatingSystem -Library String -Library RequestsLibrary -Library Collections -Library re -Variables ../../variables/genius/Modules.py -Resource ../../libraries/DataModels.robot -Resource ../../libraries/Utils.robot -Resource ../../libraries/Genius.robot -Resource ../../variables/Variables.robot - -Suite Setup Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS} timeout=5 -Suite Teardown Delete All Sessions -Test Setup Genius Test Setup -Test Teardown Get Model Dump ${ODL_SYSTEM_IP} ${idmanager_data_models} - - -*** Variables *** -${genius_config_dir} ${CURDIR}/../../variables/genius -${pool-name} test-pool -@{test_keys} test-key1 test-key2 test-key3 -${create_json} createIdpool.json -${allocaterange_json} allocateIdRange.json -${OPERATIONS_API} /restconf/operations - - -*** Test Cases *** -Create ID pool in range 10:20 - [Documentation] This testcase creates Id pool in range 10 to 20. - Utils.Post Elements To URI From File - ... ${OPERATIONS_API}/id-manager:createIdPool - ... ${genius_config_dir}/${create_json} - @{poolrange} = BuiltIn.Create list ${pool-name} 10 20 - Utils.Check For Elements At URI ${CONFIG_API}/id-manager:id-pools/id-pool/${pool-name}/ ${poolrange} - @{availiable_pool} = BuiltIn.Create list 10 20 10 - Utils.Check For Elements At URI - ... ${CONFIG_API}/id-manager:id-pools/id-pool/${pool-name}/available-ids-holder/ - ... ${availiable_pool} - -Allocate Ids from pool created within size as 5 - [Documentation] This testcase allocated IDs of specified size for the pool created in 1st testcase. - ${body} = OperatingSystem.Get File ${genius_config_dir}/${allocaterange_json} - ${body} = String.Replace string ${body} test-key ${test_keys[0]} - BuiltIn.Log ${body} - Utils.Post Elements To URI ${OPERATIONS_API}/id-manager:allocateIdRange ${body} - get Id pool - -Neg_Allocate ids of size 10 from the same pool - [Documentation] This is a Negative testcase where when trying to allocate Id range out of the availiable IDs we have, the IDs are not allocated. - ${pool-name} = BuiltIn.Set Variable test-pool - ${body} = OperatingSystem.Get File ${genius_config_dir}/${allocaterange_json} - ${body} = String.Replace String ${body} 5 6 - ${body} = String.Replace String ${body} test-key ${test_keys[1]} - BuiltIn.Log ${body} - ${resp} = RequestsLibrary.Post Request - ... session - ... ${OPERATIONS_API}/id-manager:allocateIdRange - ... data=${body} - BuiltIn.Log ${resp.content} - BuiltIn.Should Be Equal As Strings ${resp.status_code} 500 - -Allocate IDs of size 3 from the pool - [Documentation] This testcase allocates 3 Ids from the created pool in test case 1 - ${body} = OperatingSystem.Get File ${genius_config_dir}/${allocaterange_json} - ${body} = String.Replace string ${body} test-key ${test_keys[2]} - ${body} = String.Replace string ${body} 5 3 - BuiltIn.Log ${body} - Utils.Post Elements To URI ${OPERATIONS_API}/id-manager:allocateIdRange ${body} - ${get_resp} = RequestsLibrary.Get Request - ... session - ... ${CONFIG_API}/id-manager:id-pools/id-pool/${pool-name}/available-ids-holder/ - ${respjson} = RequestsLibrary.To Json ${get_resp.content} pretty_print=True - BuiltIn.Log ${respjson} - BuiltIn.Should Contain ${get_resp.text} 17 - BuiltIn.Should Be Equal As Strings ${get_resp.status_code} 200 - -Release a block of IDs allocated using releaseIds RPC - [Documentation] This testcase Releases the block of Ids by using the key which is sent in json. - ${body} = OperatingSystem.Get File ${genius_config_dir}/releaseIds.json - BuiltIn.Log ${body} - ${body} = String.Replace String ${body} test-key ${test_keys[2]} - Utils.Post Elements To URI ${OPERATIONS_API}/id-manager:releaseId ${body} - ${get_resp} = RequestsLibrary.Get Request session ${CONFIG_API}/id-manager:id-pools/id-pool/${pool-name}/ - ${respjson} = RequestsLibrary.To Json ${get_resp.text} pretty_print=True - BuiltIn.Log ${respjson} - BuiltIn.Should Be Equal As Strings ${get_resp.status_code} 200 - ${child-pool-name} = BuiltIn.Should Match Regexp ${get_resp.text} ${pool-name}\.[-]?[0-9]+ - BuiltIn.Log ${child-pool-name} - ${get_releasedIds} = RequestsLibrary.Get Request - ... session - ... ${CONFIG_API}/id-manager:id-pools/id-pool/${child-pool-name}/released-ids-holder/ - ${respjson} = RequestsLibrary.To Json ${get_releasedIds.text} pretty_print=True - BuiltIn.Log ${respjson} - Should Be Equal As Strings ${get_releasedIds.status_code} 200 - @{released_ids} = re.Findall [0-9]+ ${get_releasedIds.text} - BuiltIn.Log ${released_ids} - -Delete the ID Pool using deleteIdPool RPC - [Documentation] This testcase deletes the ID pool craeted in the 1st testcase. - ${body} = OperatingSystem.Get File ${genius_config_dir}/deleteIdPool.json - ${body} = String.Replace String ${body} poolname ${pool-name} - BuiltIn.Log ${body} - Utils.Post Elements To URI ${OPERATIONS_API}/id-manager:deleteIdPool ${body} - Utils.No Content From URI session ${CONFIG_API}/id-manager:id-pools/id-pool/${pool-name}/ - - -*** Keywords *** -get Id pool - [Documentation] This keyword checks the created ID pool by doing GET. - ${get_resp} = RequestsLibrary.Get Request - ... session - ... ${CONFIG_API}/id-manager:id-pools/id-pool/${pool-name}/available-ids-holder/ - ${respjson} = RequestsLibrary.To Json ${get_resp.content} pretty_print=True - BuiltIn.Log ${respjson} - BuiltIn.Should Contain ${get_resp.text} 14 - BuiltIn.Should Be Equal As Strings ${get_resp.status_code} 200 diff --git a/csit/suites/genius/ITM_Direct_Tunnels.robot b/csit/suites/genius/ITM_Direct_Tunnels.robot deleted file mode 100644 index a81bb8cda3..0000000000 --- a/csit/suites/genius/ITM_Direct_Tunnels.robot +++ /dev/null @@ -1,127 +0,0 @@ -*** Settings *** -Documentation This test suite is to by-pass interface manager and create/delete the tunnels between the switches directly inorder for ITM to scale and build mesh among more number of switches. - -Library Collections -Library OperatingSystem -Library RequestsLibrary -Library String -Resource ../../libraries/ClusterManagement.robot -Resource ../../libraries/DataModels.robot -Resource ../../libraries/Genius.robot -Resource ../../libraries/KarafKeywords.robot -Resource ../../variables/netvirt/Variables.robot -Resource ../../libraries/OVSDB.robot -Resource ../../libraries/ToolsSystem.robot -Resource ../../libraries/Utils.robot -Resource ../../libraries/VpnOperations.robot -Resource ../../variables/Variables.robot -Variables ../../variables/genius/Modules.py - -Suite Setup ITM Direct Tunnels Start Suite -Suite Teardown ITM Direct Tunnels Stop Suite -Test Setup Genius Test Setup -Test Teardown Genius Test Teardown ${data_models} - - -*** Test Cases *** -Create and Verify VTEP - [Documentation] This testcase creates a Internal Transport Manager - ITM tunnel between 2 DPNs - Genius.Create Vteps ${NO_VLAN} ${gateway_ip} - BuiltIn.Wait Until Keyword Succeeds 40 10 Genius.Get ITM ${itm_created[0]} - ${type} = BuiltIn.Set Variable odl-interface:tunnel-type-vxlan - Genius.Update Dpn id list and get tunnels ${type} dpn-teps-state - Genius.Verify Response Code Of Dpn Endpointconfig API - BuiltIn.Wait Until Keyword Succeeds 40 10 Genius.Ovs Interface Verification - ${resp} = RequestsLibrary.Get Request session ${OPERATIONAL_API}/itm-state:tunnels_state/ - BuiltIn.Should Be Equal As Strings ${resp.status_code} 200 - BuiltIn.Wait Until Keyword Succeeds 60 5 Genius.Verify Tunnel Status As Up - BuiltIn.Wait Until Keyword Succeeds 40 10 Genius.Verify Table0 Entry After fetching Port Number - -Verify VTEP After Restarting OVS - [Documentation] Verify Testcase, Verifying tunnel state by restarting OVS - BuiltIn.Wait Until Keyword Succeeds 20 2 Genius.Verify Tunnel Status As Up - OVSDB.Restart OVSDB ${TOOLS_SYSTEM_IP} - -Verify VTEP After Restarting Controller - [Documentation] Verify Testcase, Verifying tunnel state by restarting CONTROLLER - BuiltIn.Wait Until Keyword Succeeds 30 3 Genius.Verify Tunnel Status As Up - ClusterManagement.Stop_Members_From_List_Or_All - ClusterManagement.Start_Members_From_List_Or_All - BuiltIn.Wait Until Keyword Succeeds - ... 60 - ... 3 - ... ClusterManagement.Check Status Of Services Is OPERATIONAL - ... @{GENIUS_DIAG_SERVICES} - BuiltIn.Wait Until Keyword Succeeds 30 3 Genius.Verify Tunnel Status As Up - -Verify Tunnels By Enabling/Disabling BFD - [Documentation] Verify tunnel creation by enabling and disabling BFD one after another with respect to the branch in such a way default value is retained at last. - Verify Tunnels By Enabling BFD - Verify Tunnels By Disabling BFD - -Delete and Verify VTEP - [Documentation] This Delete testcase , deletes the ITM tunnel created between 2 dpns. - ${tunnel_list} = Genius.Get Tunnels List - FOR ${dpn_id} IN @{DPN_ID_LIST} - CompareStream.Run_Keyword_If_Less_Than_Sodium - ... Utils.Remove All Elements At URI And Verify - ... ${CONFIG_API}/itm:transport-zones/transport-zone/${itm_created[0]}/subnets/${SUBNET}%2F16/vteps/${dpn_id}/${port_name} - CompareStream.Run_Keyword_If_At_Least_Sodium - ... Utils.Remove All Elements At URI And Verify - ... ${CONFIG_API}/itm:transport-zones/transport-zone/${itm_created[0]}/vteps/${dpn_id} - END - ${output} = KarafKeywords.Issue Command On Karaf Console ${TEP_SHOW} - BuiltIn.Should Not Contain ${output} ${itm_created[0]} - Utils.Remove All Elements At URI And Verify ${CONFIG_API}/itm:transport-zones/transport-zone/${itm_created[0]}/ - ${resp} = Utils.Get Data From URI session ${CONFIG_API}/itm:transport-zones/ - BuiltIn.Should Not Contain ${resp} ${itm_created[0]} - BuiltIn.Wait Until Keyword Succeeds - ... 40 - ... 10 - ... Genius.Verify Deleted Tunnels On OVS - ... ${tunnel_list} - ... ${resp} - BuiltIn.Wait Until Keyword Succeeds 40 10 Genius.Check Tunnel Delete On OVS ${tunnel_list} - - -*** Keywords *** -Enable_Tunnel_Monitoring - [Documentation] In this we will enable tunnel monitoring by tep:enable command running in karaf console - KarafKeywords.Issue_Command_On_Karaf_Console tep:enable-tunnel-monitor true - -Verify Tunnel State After OVS Restart - [Documentation] In this we will Verify Tunnel State by Stopping/Starting Switch - [Arguments] ${TOOLS_SYSTEM_IP} - OVSDB.Stop OVS ${TOOLS_SYSTEM_IP} - BuiltIn.Wait Until Keyword Succeeds 2min 20 sec Verify Tunnel Down - OVSDB.Start OVS ${TOOLS_SYSTEM_IP} - BuiltIn.Wait Until Keyword Succeeds 2min 20 sec Genius.Verify Tunnel Status As Up - -Verify Tunnel Down - [Documentation] In this we will check whether tunnel is in down or not - ${output} = KarafKeywords.Issue_Command_On_Karaf_Console ${TEP_SHOW_STATE} - BuiltIn.Should Contain ${output} DOWN - -Disable_Tunnel_Monitoring - [Documentation] In this we will disable tunnel monitoring by tep:enable command running in karaf console - KarafKeywords.Issue_Command_On_Karaf_Console tep:enable-tunnel-monitor false - -Verify Tunnels By Enabling BFD - [Documentation] Verify tunnel creation by enabling BFD monitoring. - ${result} = BuiltIn.Run Keyword And Return Status - ... Genius.Verify Tunnel Monitoring Status - ... ${TUNNEL_MONITOR_ON} - IF '${result}' == 'False' Enable_Tunnel_monitoring - FOR ${tools_ip} IN @{TOOLS_SYSTEM_ALL_IPS} - Verify Tunnel State After OVS Restart ${tools_ip} - END - -Verify Tunnels By Disabling BFD - [Documentation] Verify tunnel creation by disabling BFD monitoring. - ${result} = Run Keyword And Return Status Genius.Verify Tunnel Monitoring Status ${TUNNEL_MONITOR_ON} - IF '${result}' == 'True' Disable_Tunnel_Monitoring - ${tunnels_on_OVS} = Genius.Get Tunnels On OVS ${TOOLS_SYSTEM_ALL_CONN_IDS[0]} - OVSDB.Stop OVS ${TOOLS_SYSTEM_IP} - BuiltIn.Wait Until Keyword Succeeds 10s 1s Genius.Verify Tunnel Status UNKNOWN ${tunnels_on_OVS} - OVSDB.Start OVS ${TOOLS_SYSTEM_IP} - BuiltIn.Wait Until Keyword Succeeds 10s 1s Genius.Verify Tunnel Status As Up diff --git a/csit/suites/genius/ITM_Vtep_Auto_Tunnel.robot b/csit/suites/genius/ITM_Vtep_Auto_Tunnel.robot deleted file mode 100644 index 68c96f82be..0000000000 --- a/csit/suites/genius/ITM_Vtep_Auto_Tunnel.robot +++ /dev/null @@ -1,106 +0,0 @@ -*** Settings *** -Documentation Test suite to validate ITM VTEP auto-configuration functionality in openstack integrated environment. - -Library OperatingSystem -Library RequestsLibrary -Library SSHLibrary -Library String -Resource ../../libraries/Genius.robot -Resource ../../libraries/KarafKeywords.robot -Resource ../../libraries/OVSDB.robot -Resource ../../libraries/OvsManager.robot -Resource ../../libraries/Utils.robot -Resource ../../libraries/VpnOperations.robot -Resource ../../variables/netvirt/Variables.robot -Resource ../../variables/Variables.robot -Variables ../../variables/genius/Modules.py - -Suite Setup BuiltIn.Run Keywords Genius.Genius Suite Setup -... AND OvsManager.Verify Ovs Version Greater Than Or Equal To ${OVS_VERSION} @{TOOLS_SYSTEM_ALL_IPS} -Suite Teardown Genius.Genius Suite Teardown -Test Setup Genius Test Setup -Test Teardown Genius Test Teardown ${data_models} - - -*** Variables *** -${CHANGE_TRANSPORT_ZONE} sudo ovs-vsctl set O . external_ids:transport-zone -${TZA_JSON} ${GENIUS_VAR_DIR}/Itm_Auto_Tunnel_Create.json -${DELETE_TRANSPORT_ZONE} sudo ovs-vsctl remove O . external_ids transport-zone -${GET_EXTERNAL_IDS} sudo ovsdb-client dump -f list Open_vSwitch | grep external_ids -${GET_NETWORK_TOPOLOGY_URL} ${OPERATIONAL_API}/network-topology:network-topology/topology/ovsdb:1/ -${OVS_VERSION} 2.5 -${SHOW_OTHER_CONFIG} sudo ovsdb-client dump -f list Open_vSwitch | grep other_config -${STATUS_CHECK} DOWN -${TRANSPORT_ZONE} TZA -${TRANSPORTZONE_POST_URL} ${CONFIG_API}/itm:transport-zones - - -*** Test Cases *** -Verify TEP in controller and transport zone in OVSDB table of compute nodes - [Documentation] Set local ip in compute nodes and verify default transport zone tunnels are up in controller - @{LOCAL_IPS} = BuiltIn.Create List - FOR ${ip} IN @{TOOLS_SYSTEM_ALL_IPS} - ${localip} = Utils.Run Command On Remote System ${ip} ${SET_LOCAL_IP}${ip} - END - FOR ${node_ip} IN @{TOOLS_SYSTEM_ALL_IPS} - ${ip} = OvsManager.Get OVS Local Ip ${node_ip} - Collections.Append To List ${LOCAL_IPS} ${ip} - END - BuiltIn.Set Suite Variable @{LOCAL_IPS} - BuiltIn.Wait Until Keyword Succeeds 3x 10 sec Genius.Verify Tunnel Status as Up - -Verify TEPs with transport zone configured from OVS will be added to corresponding transport zone - [Documentation] To Verify transport zone name change in external id field of ovsdb and check status when moved from tep nohosted zone to TZA - 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] - 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} - END - FOR ${node} IN @{TOOLS_SYSTEM_ALL_IPS} - ${output} = Utils.Run Command On Remote System ${node} ${GET_EXTERNAL_IDS} - BuiltIn.Should Contain ${output} ${TRANSPORT_ZONE} - 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.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 - [Documentation] validate local_ip and transport-zone value from controller datastore and Verify value of external-id-key with transport_zone in Controller operational datastore - ${controller-data} = Utils.Get Data From URI session ${GET_NETWORK_TOPOLOGY_URL} - FOR ${node_ip} IN @{LOCAL_IPS} - BuiltIn.Should Contain ${controller-data} "other-config-value":"${node_ip}" - END - BuiltIn.Should Contain ${controller-data} "external-id-value":"${TRANSPORT_ZONE}" - -Delete transport zone on OVS and check ovsdb update to controller - [Documentation] To verify transport zone moves to default zone after deleting zone name in compute nodes - FOR ${node} IN @{TOOLS_SYSTEM_ALL_IPS} - Utils.Run Command On Remote System ${node} ${DELETE_TRANSPORT_ZONE} - END - ${tep_show_output} = KarafKeywords.Issue Command On Karaf Console ${TEP_SHOW} - BuiltIn.Should Contain ${tep_show_output} ${DEFAULT_TRANSPORT_ZONE} - BuiltIn.Wait Until Keyword Succeeds 3x 10 sec Genius.Verify Tunnel Status as Up - VpnOperations.ITM Delete Tunnel ${TRANSPORT_ZONE} - - -*** Keywords *** -Change Transport Zone In Compute - [Documentation] Change transport zone in Compute and verify its configuration - [Arguments] ${compute_ip} ${zone_name} - Utils.Run Command On Remote System ${compute_ip} ${CHANGE_TRANSPORT_ZONE}=${zone_name} - ${output} = Utils.Run Command On Remote System ${compute_ip} ${GET_EXTERNAL_IDS} - BuiltIn.Should Contain ${output} ${zone_name} diff --git a/csit/suites/genius/Interface_manager.robot b/csit/suites/genius/Interface_manager.robot deleted file mode 100644 index b91db1ec82..0000000000 --- a/csit/suites/genius/Interface_manager.robot +++ /dev/null @@ -1,171 +0,0 @@ -*** Settings *** -Documentation Test Suite for Interface manager - -Library Collections -Library OperatingSystem -Library RequestsLibrary -Library String -Resource ../../libraries/DataModels.robot -Resource ../../libraries/Genius.robot -Resource ../../libraries/Utils.robot -Resource ../../variables/Variables.robot -Variables ../../variables/genius/Modules.py - -Suite Setup Genius Suite Setup -Suite Teardown Genius Suite Teardown -Test Setup Genius Test Setup -Test Teardown Genius Test Teardown ${data_models} - - -*** Variables *** -${interface_name} l2vlan-trunk -${trunk_json} l2vlan.json -${trunk_member_json} l2vlan_member.json - - -*** Test Cases *** -Create l2vlan transparent interface - [Documentation] This testcase creates a l2vlan transparent interface between 2 dpns. - Create Interface ${trunk_json} transparent - @{l2vlan} = BuiltIn.Create List l2vlan-trunk l2vlan transparent l2vlan true - Utils.Check For Elements At URI ${CONFIG_API}/ietf-interfaces:interfaces/ ${l2vlan} - BuiltIn.Wait Until Keyword Succeeds 50 5 get operational interface ${interface_name} - BuiltIn.Wait Until Keyword Succeeds 40 10 table0 entry ${TOOLS_SYSTEM_1_IP} - -Delete l2vlan transparent interface - [Documentation] This testcase deletes the l2vlan transparent interface created between 2 dpns. - Utils.Remove All Elements At URI And Verify ${CONFIG_API}/ietf-interfaces:interfaces/ - Utils.No Content From URI session ${OPERATIONAL_API}/ietf-interfaces:interfaces/ - BuiltIn.Wait Until Keyword Succeeds 30 10 no table0 entry - -Create l2vlan trunk interface - [Documentation] This testcase creates a l2vlan trunk interface between 2 DPNs. - Create Interface ${trunk_json} trunk - @{l2vlan} = BuiltIn.Create list l2vlan-trunk l2vlan trunk tap0ed70586-6c true - Utils.Check For Elements At URI ${CONFIG_API}/ietf-interfaces:interfaces/ ${l2vlan} - BuiltIn.Wait Until Keyword Succeeds 50 5 get operational interface ${interface_name} - BuiltIn.Wait Until Keyword Succeeds 30 10 table0 entry ${TOOLS_SYSTEM_1_IP} - -Create l2vlan Trunk member interface - [Documentation] This testcase creates a l2vlan Trunk member interface for the l2vlan trunk interface created in 1st testcase. - ${body} = OperatingSystem.Get File ${genius_config_dir}/l2vlan_member.json - ${post_resp} = RequestsLibrary.Post Request - ... session - ... ${CONFIG_API}/ietf-interfaces:interfaces/ - ... data=${body} - BuiltIn.Should Be Equal As Strings ${post_resp.status_code} 204 - @{l2vlan} = create list l2vlan-trunk1 l2vlan trunk-member 1000 l2vlan-trunk - ... true - Utils.Check For Elements At URI ${CONFIG_API}/ietf-interfaces:interfaces/ ${l2vlan} - BuiltIn.Wait Until Keyword Succeeds 10 5 get operational interface ${l2vlan[0]} - BuiltIn.Wait Until Keyword Succeeds 40 10 ovs check for member interface creation ${TOOLS_SYSTEM_1_IP} - -Bind service on Interface - [Documentation] This testcase binds service to the interface created . - ${body} = OperatingSystem.Get File ${genius_config_dir}/bind_service.json - ${body} = String.Replace string ${body} service1 VPN - ${body} = String.Replace string ${body} service2 elan - BuiltIn.Log ${body} - ${service_mode} = BuiltIn.Set Variable interface-service-bindings:service-mode-ingress - ${post_resp} = RequestsLibrary.Post Request - ... session - ... ${CONFIG_API}/interface-service-bindings:service-bindings/services-info/${interface_name}/${service_mode}/ - ... data=${body} - BuiltIn.Should Be Equal As Strings ${post_resp.status_code} 204 - @{bind_array} = BuiltIn.Create List 2 3 VPN elan 50 - ... 21 - Utils.Check For Elements At URI - ... ${CONFIG_API}/interface-service-bindings:service-bindings/services-info/${interface_name}/${service_mode}/ - ... ${bind_array} - BuiltIn.Wait Until Keyword Succeeds 40 10 table entry - -unbind service on interface - [Documentation] This testcase Unbinds the service which is binded by the 3rd testcase. - ${service-priority-1} = BuiltIn.Set Variable 3 - ${service-priority-2} = BuiltIn.Set Variable 4 - ${service_mode} = BuiltIn.Set Variable interface-service-bindings:service-mode-ingress - Utils.Remove All Elements At URI And Verify - ... ${CONFIG_API}/interface-service-bindings:service-bindings/services-info/${interface_name}/${service_mode}/bound-services/${service-priority-1}/ - ${table-id} = BuiltIn.Set Variable 21 - BuiltIn.Wait Until Keyword Succeeds 10 2 no goto_table entry ${table-id} - Utils.Remove All Elements At URI And Verify - ... ${CONFIG_API}/interface-service-bindings:service-bindings/services-info/${interface_name}/${service_mode}/bound-services/${service-priority-2}/ - Utils.No Content From URI - ... session - ... ${CONFIG_API}/interface-service-bindings:service-bindings/services-info/${interface_name}/${service_mode}/bound-services/${service-priority-2}/ - ${table-id} = BuiltIn.Set Variable 50 - BuiltIn.Wait Until Keyword Succeeds 10 2 no goto_table entry ${table-id} - -Delete l2vlan trunk interface - [Documentation] Deletion of l2vlan trunk interface is done. - Utils.Remove All Elements At URI And Verify ${CONFIG_API}/ietf-interfaces:interfaces/ - Utils.No Content From URI session ${OPERATIONAL_API}/ietf-interfaces:interfaces/ - BuiltIn.Wait Until Keyword Succeeds 30 10 no table0 entry - - -*** Keywords *** -get operational interface - [Documentation] checks operational status of the interface. - [Arguments] ${interface_name} - ${get_oper_resp} = RequestsLibrary.Get Request - ... session - ... ${OPERATIONAL_API}/ietf-interfaces:interfaces-state/interface/${interface_name}/ - ${respjson} = RequestsLibrary.To Json ${get_oper_resp.content} pretty_print=True - BuiltIn.Log ${respjson} - BuiltIn.Should Be Equal As Strings ${get_oper_resp.status_code} 200 - BuiltIn.Should Not Contain ${get_oper_resp.text} down - BuiltIn.Should Contain ${get_oper_resp.text} up up - -table entry - [Documentation] Checks for tables entry wrt the service the Interface is binded. - ${result} = Utils.Run Command On Remote System - ... ${TOOLS_SYSTEM_1_IP} - ... sudo ovs-ofctl -O OpenFlow13 dump-flows ${Bridge} - BuiltIn.Should Contain ${result} table=17 - BuiltIn.Should Contain ${result} goto_table:21 - BuiltIn.Should Contain ${result} goto_table:50 - -no table0 entry - [Documentation] After Deleting trunk interface, checking for absence of table 0 in the flow dumps - ${ovs-check} = Utils.Run Command On Remote System - ... ${TOOLS_SYSTEM_1_IP} - ... sudo ovs-ofctl -O OpenFlow13 dump-flows ${Bridge} - BuiltIn.Should Not Contain ${ovs-check} table=0 - BuiltIn.Should Not Contain ${ovs-check} goto_table:17 - -no goto_table entry - [Documentation] Checks for absence of no goto_table after unbinding the service on the interface. - [Arguments] ${table-id} - ${ovs-check1} = Utils.Run Command On Remote System - ... ${TOOLS_SYSTEM_1_IP} - ... sudo ovs-ofctl -O OpenFlow13 dump-flows ${Bridge} - BuiltIn.Should Not Contain ${ovs-check1} goto_table:${table-id} - -table0 entry - [Documentation] After Creating the trunk interface , checking for table 0 entry exist in the flow dumps - [Arguments] ${tools_ip} - ${ovs-check} = Utils.Run Command On Remote System - ... ${tools_ip} - ... sudo ovs-ofctl -O OpenFlow13 dump-flows ${Bridge} - BuiltIn.Should Contain ${ovs-check} table=0 - -ovs check for member interface creation - [Documentation] This keyword verifies the member interface created on OVS by checking the table0 ,vlan and action=pop_vlan entries - [Arguments] ${tools_ip} - ${ovs-check} = Utils.Run Command On Remote System - ... ${tools_ip} - ... sudo ovs-ofctl -O OpenFlow13 dump-flows ${Bridge} - BuiltIn.Should Contain ${ovs-check} table=0 - BuiltIn.Should Contain ${ovs-check} dl_vlan=1000 - BuiltIn.Should Contain ${ovs-check} actions=pop_vlan - -Create Interface - [Documentation] Creates an trunk/transparent interface based on input provided to the json body - [Arguments] ${json_file} ${interface_mode} - ${body} = OperatingSystem.Get File ${genius_config_dir}/${json_file} - ${body} = String.Replace String ${body} "l2vlan-mode":"trunk" "l2vlan-mode":"${interface_mode}" - ${post_resp} = RequestsLibrary.Post Request - ... session - ... ${CONFIG_API}/ietf-interfaces:interfaces/ - ... data=${body} - BuiltIn.Should Be Equal As Strings ${post_resp.status_code} 204 diff --git a/csit/suites/genius/OF_Tunnels.robot b/csit/suites/genius/OF_Tunnels.robot deleted file mode 100644 index 8887331776..0000000000 --- a/csit/suites/genius/OF_Tunnels.robot +++ /dev/null @@ -1,295 +0,0 @@ -*** Settings *** -Documentation This test suite is to verify working of OF based Tunnels - -Library Collections -Library OperatingSystem -Library RequestsLibrary -Library SSHLibrary -Library String -Resource ../../libraries/ClusterManagement.robot -Resource ../../libraries/DataModels.robot -Resource ../../libraries/Genius.robot -Resource ../../libraries/KarafKeywords.robot -Resource ../../libraries/ODLTools.robot -Resource ../../libraries/OVSDB.robot -Resource ../../libraries/Utils.robot -Resource ../../libraries/VpnOperations.robot -Resource ../../variables/Variables.robot -Variables ../../variables/genius/Modules.py -Resource ../../variables/netvirt/Variables.robot - -Suite Setup OF Tunnels Start Suite -Suite Teardown OF Tunnels Stop Suite -Test Setup Genius Test Setup -Test Teardown Genius Test Teardown ${data_models} - - -*** Variables *** -${FLOWS_FILTER_TABLE0} | grep table=0 -${FLOWS_FILTER_TABLE95} | grep table=95 - - -*** Test Cases *** -Create and Verify OFT TEPs - [Documentation] Create TEPs set to use OF based Tunnels and verify. - CompareStream.Run_Keyword_If_Less_Than_Sodium - ... BuiltIn.Pass Execution - ... Test case valid only for versions Sodium and above - OFT Create Vteps using Auto Tunnels @{TOOLS_SYSTEM_ALL_IPS} - OFT Verify Vteps Created ${DPN_ID_LIST} ${TOOLS_SYSTEM_ALL_IPS} - -Delete and Verify OFT TEPs - [Documentation] Delete TEPs set to use OF based Tunnels and verify. - CompareStream.Run_Keyword_If_Less_Than_Sodium - ... BuiltIn.Pass Execution - ... Test case valid only for versions Sodium and above - OFT Delete Vteps using Auto Tunnels @{TOOLS_SYSTEM_ALL_IPS} - OFT Verify Vteps Deleted ${DPN_ID_LIST} ${TOOLS_SYSTEM_ALL_IPS} - BuiltIn.Wait Until Keyword Succeeds - ... 60 - ... 5 - ... Utils.No Content From URI - ... session - ... ${OPERATIONAL_API}/itm-state:tunnels_state - -Create and Verify single OFT TEPs - [Documentation] Create single TEPs set to use OF based Tunnels and verify. - CompareStream.Run_Keyword_If_Less_Than_Sodium - ... BuiltIn.Pass Execution - ... Test case valid only for versions Sodium and above - ${tools_ips} = BuiltIn.Create List @{TOOLS_SYSTEM_ALL_IPS} - Collections.Remove From List ${tools_ips} -1 - ${dpn_ids} = BuiltIn.CreateList @{DPN_ID_LIST} - Collections.Remove From List ${dpn_ids} -1 - OFT Create Vteps using Auto Tunnels @{tools_ips} - OFT Verify Vteps Created ${dpn_ids} ${tools_ips} - OFT Create Vteps using Auto Tunnels ${TOOLS_SYSTEM_ALL_IPS}[-1] - OFT Verify Vteps Created ${DPN_ID_LIST} ${TOOLS_SYSTEM_ALL_IPS} - -Delete and Verify single OFT TEPs - [Documentation] Delete single TEPs set to use OF based Tunnels and verify. - CompareStream.Run_Keyword_If_Less_Than_Sodium - ... BuiltIn.Pass Execution - ... Test case valid only for versions Sodium and above - ${deleted_tools_ip_list} = BuiltIn.Set Variable ${TOOLS_SYSTEM_ALL_IPS}[0] - OFT Delete Vteps using Auto Tunnels ${deleted_tools_ip_list} - ${deleted_tools_ip_list} = BuiltIn.CreateList ${TOOLS_SYSTEM_ALL_IPS}[0] - ${deleted_dpn_id_list} = BuiltIn.CreateList ${DPN_ID_LIST}[0] - OFT Verify Vteps Deleted ${deleted_dpn_id_list} ${deleted_tools_ip_list} - - -*** Keywords *** -OFT Create Vteps using Auto Tunnels - [Documentation] Create VTEPs for selected tools systems in ODL using Auto Tunnels. - [Arguments] @{tools_ip_list} - FOR ${tools_ip} IN @{tools_ip_list} - Utils.Run Command On Remote System And Log ${tools_ip} ${SET_LOCAL_IP}${tools_ip} - END - -OFT Verify Vteps Created - [Documentation] Verify if OFT VTEPs are created successfully or not for given Tools IPs and DPN-IDs. - [Arguments] ${dpn_id_list} ${tools_ip_list} - ${switch_data} = BuiltIn.Create List @{dpn_id_list} @{tools_ip_list} - BuiltIn.Wait Until Keyword Succeeds 60 5 Genius.Get ITM ${DEFAULT_TRANSPORT_ZONE} ${switch_data} - ${tep_show_output} = BuiltIn.Wait Until Keyword Succeeds - ... 60 - ... 5 - ... KarafKeywords.Issue Command On Karaf Console - ... ${TEP_SHOW} - BuiltIn.Should Contain Any ${tep_show_output} ${DEFAULT_TRANSPORT_ZONE} VXLAN @{switch_data} - BuiltIn.Wait Until Keyword Succeeds - ... 60 - ... 5 - ... Genius.Update Dpn id List And Get Tunnels - ... odl-interface:tunnel-type-vxlan - ... dpn-teps-state - ... ${dpn_id_list} - BuiltIn.Wait Until Keyword Succeeds - ... 60 - ... 5 - ... Genius.Verify Response Code Of Dpn End Point Config API - ... ${dpn_id_list} - ${num_switches} = BuiltIn.Get Length ${dpn_id_list} - BuiltIn.Wait Until Keyword Succeeds 60 5 Genius.Verify Tunnel Status As Up ${num_switches} - BuiltIn.Wait Until Keyword Succeeds 40 10 OFT OVS Verify Tunnels Created @{tools_ip_list} - ${tools_system_len} = BuiltIn.Get Length ${tools_ip_list} - FOR ${tools_system_index} IN RANGE ${tools_system_len} - ${tun_ip_list} = BuiltIn.CreateList @{tools_ip_list} - Collections.Remove From List ${tun_ip_list} ${tools_system_index} - ${ports_output} = Utils.Run Command On Remote System And Log - ... ${tools_ip_list}[${tools_system_index}] - ... sudo ovs-ofctl -Oopenflow13 dump-ports-desc ${Bridge} - ${port_numbers} = String.Get Regexp Matches ${ports_output} (\\d+).of.* ${1} - BuiltIn.Wait Until Keyword Succeeds - ... 40 - ... 10 - ... OFT OVS Verify Ingress Flows Created per Switch - ... ${tools_ip_list}[${tools_system_index}] - ... ${tun_ip_list} - ... ${port_numbers} - BuiltIn.Wait Until Keyword Succeeds - ... 40 - ... 10 - ... OFT OVS Verify Egress Flows Created per Switch - ... ${tools_ip_list}[${tools_system_index}] - ... ${tun_ip_list} - ... ${port_numbers} - BuiltIn.Wait Until Keyword Succeeds - ... 40 - ... 10 - ... OFT OVS Verify Ingress Flows Created per Switch - ... ${tools_ip_list}[${tools_system_index}] - ... ${tun_ip_list} - ... ${port_numbers} - END - -OFT OVS Verify Tunnels Created - [Documentation] Verify if tunnels are created in OVS for selected tools systems. - [Arguments] @{tools_ip_list} - FOR ${tools_ip} IN @{tools_ip_list} - ${output} = Utils.Run Command On Remote System And Log ${tools_ip} sudo ovs-vsctl show - BuiltIn.Should Contain X Times ${output} local_ip="${tools_ip}", remote_ip=flow ${1} - END - -OFT OVS Verify Ingress Flows Created per Switch - [Documentation] Verify if Ingress flow rules are created in OVS for a given switch. - [Arguments] ${tools_ip} ${tun_src_list} ${port_numbers} - ${flows_table0_output} = Utils.Run Command On Remote System And Log - ... ${tools_ip} - ... sudo ovs-ofctl -OOpenFlow13 dump-flows ${Bridge} ${FLOWS_FILTER_TABLE0} - BuiltIn.Should Not Contain ${flows_table0_output} tun_src=${tools_ip}, - FOR ${tun_src} IN @{tun_src_list} - BuiltIn.Should Contain ${flows_table0_output} tun_src=${tun_src}, - END - FOR ${port_number} IN @{port_numbers} - BuiltIn.Should Contain ${flows_table0_output} in_port=${port_number} - END - -OFT OVS Verify Egress Flows Created per Switch - [Documentation] Verify if Egress flow rules are created in OVS for a given switch. - [Arguments] ${tools_ip} ${tun_dst_list} ${port_numbers} - ${flows_table95_output} = Utils.Run Command On Remote System And Log - ... ${tools_ip} - ... sudo ovs-ofctl -OOpenFlow13 dump-flows ${Bridge} ${FLOWS_FILTER_TABLE95} - FOR ${tun_dst} IN @{tun_dst_list} - ${tun_dst_hex} = BuiltIn.Evaluate - ... hex(struct.unpack('!I',socket.inet_aton('${tun_dst}'))[0]) - ... modules=socket,struct - BuiltIn.Should Contain ${flows_table95_output} load:${tun_dst_hex}->NXM_NX_TUN_IPV4_DST[] - END - FOR ${port_number} IN @{port_numbers} - BuiltIn.Should Contain ${flows_table95_output} output:${port_number} - END - -OFT Delete Vteps using Auto Tunnels - [Documentation] Delete VTEPs for selected tools systems in ODL using Auto Tunnel. - [Arguments] @{tools_ip_list} - FOR ${tools_ip} IN @{tools_ip_list} - Utils.Run Command On Remote System And Log ${tools_ip} ${REMOVE_LOCAL_IP} - END - -OFT Verify Vteps Deleted - [Documentation] Verify if OFT Vteps are created successfully or not for given Tools IPs and DPN-IDs. - [Arguments] ${dpn_id_list} ${tools_ip_list} - ${deleted_tep_len} = BuiltIn.Get Length ${dpn_id_list} - ${existing_tep_len} = BuiltIn.Evaluate ${NUM_TOOLS_SYSTEM}-${deleted_tep_len} - IF ${existing_tep_len} > 0 - BuiltIn.Wait Until Keyword Succeeds 60 5 Genius.Verify Tunnel Status As Up ${existing_tep_len} - END - ${tep_show_output} = KarafKeywords.Issue Command On Karaf Console ${TEP_SHOW} - ${tep_show_state_output} = KarafKeywords.Issue Command On Karaf Console ${TEP_SHOW_STATE} - FOR ${tools_system_index} IN RANGE ${deleted_tep_len} - ${tep_show_state_output_1} = KarafKeywords.Issue Command On Karaf Console ${TEP_SHOW_STATE} - BuiltIn.Log ${tools_ip_list}[${tools_system_index}] - BuiltIn.Should Not Contain ${tep_show_output} ${tools_ip_list}[${tools_system_index}] - BuiltIn.Should Not Contain ${tep_show_state_output} ${tools_ip_list}[${tools_system_index}] - BuiltIn.Wait Until Keyword Succeeds - ... 60 - ... 5 - ... Utils.No Content From URI - ... session - ... ${CONFIG_API}/itm-state:dpn-endpoints/DPN-TEPs-info/${dpn_id_list}[${tools_system_index}]/ - ${dst_dpn_id_list} = BuiltIn.Create List @{DPN_ID_LIST} - Collections.Remove From List ${dst_dpn_id_list} ${tools_system_index} - BuiltIn.Wait Until Keyword Succeeds - ... 60 - ... 5 - ... OFT Verify Vteps Deleted at Dpn Teps State per Interface - ... ${dpn_id_list}[${tools_system_index}] - ... ${dst_dpn_id_list} - ${ovs_vsctl_output} = BuiltIn.Wait Until Keyword Succeeds - ... 40 - ... 10 - ... Utils.Run Command On Remote System And Log - ... ${tools_ip_list}[${tools_system_index}] - ... sudo ovs-vsctl show - BuiltIn.Should Not Contain ${ovs_vsctl_output} remote_ip=flow - BuiltIn.Wait Until Keyword Succeeds - ... 40 - ... 10 - ... OFT OVS Verify Ingress Flows Deleted per Switch - ... ${tools_ip_list}[${tools_system_index}] - BuiltIn.Wait Until Keyword Succeeds - ... 40 - ... 10 - ... OFT OVS Verify Egress Flows Deleted per Switch - ... ${tools_ip_list}[${tools_system_index}] - END - -OFT Verify Vteps Deleted at Dpn Teps State per Interface - [Documentation] Verify if vteps are deleted for all src-dst intf pair at dpn-teps-state in ODL for a given src intf. - [Arguments] ${src_dpn_id} ${dst_dpn_id_list} - FOR ${dst_dpn_id} IN @{dst_dpn_id_list} - ${status} = BuiltIn.Run Keyword And Return Status - ... Genius.Get Tunnel - ... ${src_dpn_id} - ... ${dst_dpn_id} - ... odl-interface:tunnel-type-vxlan - ... dpn-teps-state - BuiltIn.Should Be True ${status} == ${False} - END - -OFT OVS Verify Ingress Flows Deleted per Switch - [Documentation] Verify if Ingress flow rules are deleted in OVS for a given switch. - [Arguments] ${tools_ip} - ${flows_table0_output} = Utils.Run Command On Remote System And Log - ... ${tools_ip} - ... sudo ovs-ofctl -OOpenFlow13 dump-flows ${Bridge} ${FLOWS_FILTER_TABLE0} - BuiltIn.Should Not Contain ${flows_table0_output} tun_src= - -OFT OVS Verify Egress Flows Deleted per Switch - [Documentation] Verify if Egress flow rules are deleted in OVS for a given switch. - [Arguments] ${tools_ip} - ${flows_table95_output} = Utils.Run Command On Remote System And Log - ... ${tools_ip} - ... sudo ovs-ofctl -OOpenFlow13 dump-flows ${Bridge} ${FLOWS_FILTER_TABLE95} - BuiltIn.Should Not Contain ${flows_table95_output} output: - -OF Tunnels Start Suite - [Documentation] Start suite for OF Tunnels. - ClusterManagement.ClusterManagement_Setup - ClusterManagement.Stop_Members_From_List_Or_All - FOR ${controller_index} IN RANGE ${NUM_ODL_SYSTEM} - Run Command On Remote System And Log - ... ${ODL_SYSTEM_${controller_index+1}_IP} - ... sed -i -- 's/false/true/g' ${GENIUS_IFM_CONFIG_FLAG} - Run Command On Remote System And Log - ... ${ODL_SYSTEM_${controller_index+1}_IP} - ... sed -i -- 's/false/true/g' ${GENIUS_ITM_CONFIG_FLAG} - END - ClusterManagement.Start_Members_From_List_Or_All - Genius Suite Setup - -OF Tunnels Stop Suite - [Documentation] Stop suite for OF Tunnels. - FOR ${controller_index} IN RANGE ${NUM_ODL_SYSTEM} - Run Command On Remote System And Log - ... ${ODL_SYSTEM_${controller_index+1}_IP} - ... sed -i -- 's/true/false/g' ${GENIUS_IFM_CONFIG_FLAG} - Run Command On Remote System And Log - ... ${ODL_SYSTEM_${controller_index+1}_IP} - ... sed -i -- 's/true/false/g' ${GENIUS_IFM_CONFIG_FLAG} - END - ClusterManagement.Stop_Members_From_List_Or_All - ClusterManagement.Start_Members_From_List_Or_All - Genius Suite Teardown diff --git a/csit/suites/genius/Service_Recovery.robot b/csit/suites/genius/Service_Recovery.robot deleted file mode 100644 index c3030f95d9..0000000000 --- a/csit/suites/genius/Service_Recovery.robot +++ /dev/null @@ -1,90 +0,0 @@ -*** Settings *** -Documentation Test Suite for Service Recovery. -... Find detailed test plan here, http://docs.opendaylight.org/en/latest/submodules/genius/docs/testplans/service-recovery.html - -Resource ../../libraries/DataModels.robot -Resource ../../libraries/Genius.robot -Resource ../../libraries/OVSDB.robot -Resource ../../libraries/Utils.robot -Resource ../../libraries/VpnOperations.robot -Resource ../../variables/Variables.robot -Variables ../../variables/genius/Modules.py - -Suite Setup Genius.SRM Start Suite -Suite Teardown Genius.SRM Stop Suite -Test Setup Genius Test Setup -Test Teardown Genius Test Teardown ${data_models} - - -*** Test Cases *** -ITM TZ Recovery - [Documentation] This test case recovers the tunnels using transportzone name. - Delete Tunnel on OVS - KarafKeywords.Issue Command On Karaf Console srm:recover INSTANCE ITM-TZ TZA - BuiltIn.Wait Until Keyword Succeeds 60s 5s Genius.Verify Tunnel Status As Up - -ITM TEP Recovery - [Documentation] This test case recovers the tunnels using transportzone name and tunnel's ip address. - Delete Tunnel on OVS - KarafKeywords.Issue Command On Karaf Console srm:recover INSTANCE ITM-TEP TZA:${TOOLS_SYSTEM_1_IP} - BuiltIn.Wait Until Keyword Succeeds 60s 5s Genius.Verify Tunnel Status As Up - -ITM Service Recovery - [Documentation] This test case recovers ITM Service. - ${tunnel} = BuiltIn.Wait Until Keyword Succeeds - ... 40 - ... 20 - ... Genius.Get Tunnel - ... ${DPN_ID_LIST[0]} - ... ${DPN_ID_LIST[1]} - ... odl-interface:tunnel-type-vxlan - Utils.Remove All Elements At URI And Verify ${CONFIG_API}/ietf-interfaces:interfaces/interface/${tunnel} - BuiltIn.Wait Until Keyword Succeeds 60s 5s Genius.Verify Tunnel Delete on DS ${tunnel} - KarafKeywords.Issue Command On Karaf Console srm:recover SERVICE ITM - BuiltIn.Wait Until Keyword Succeeds 60s 5s Genius.Verify Tunnel Status As Up - -IFM Instance Recovery - [Documentation] This test case recovers tunnel interface instance using interface name. - ${tunnel} = BuiltIn.Wait Until Keyword Succeeds - ... 40 - ... 20 - ... Genius.Get Tunnel - ... ${DPN_ID_LIST[0]} - ... ${DPN_ID_LIST[1]} - ... odl-interface:tunnel-type-vxlan - Delete Tunnel on OVS - KarafKeywords.Issue Command On Karaf Console srm:recover INSTANCE IFM-IFACE ${tunnel} - BuiltIn.Wait Until Keyword Succeeds 60s 5s Genius.Verify Tunnel Status As Up - -IFM Service Recovery - [Documentation] This test case recovers IFM Service. - ${tunnel} = BuiltIn.Wait Until Keyword Succeeds - ... 40 - ... 20 - ... Genius.Get Tunnel - ... ${DPN_ID_LIST[0]} - ... ${DPN_ID_LIST[1]} - ... odl-interface:tunnel-type-vxlan - SSHLibrary.Switch Connection ${TOOLS_SYSTEM_ALL_CONN_IDS[0]} - ${uuid} ${bridge} = OVSDB.Get Bridge Data - ${resp} = RequestsLibrary.Delete Request - ... session - ... ${CONFIG_TOPO_API}/topology/ovsdb:1/node/ovsdb:%2F%2Fuuid%2F${uuid}%2Fbridge%2F${bridge} - BuiltIn.Should Be Equal As Strings ${resp.status_code} ${RESP_CODE} - BuiltIn.Wait Until Keyword Succeeds 60s 5s Genius.Verify Tunnel Delete on DS ${tunnel} - KarafKeywords.Issue Command On Karaf Console srm:recover SERVICE IFM - BuiltIn.Wait Until Keyword Succeeds 60s 5s Genius.Verify Tunnel Status As Up - - -*** Keywords *** -Delete Tunnel on OVS - [Documentation] Deletes a tunnel interface on switch and verify deletion on OVS. - ${tunnel} = BuiltIn.Wait Until Keyword Succeeds - ... 40 - ... 20 - ... Genius.Get Tunnel - ... ${DPN_ID_LIST[0]} - ... ${DPN_ID_LIST[1]} - ... odl-interface:tunnel-type-vxlan - Utils.Run Command On Remote System ${TOOLS_SYSTEM_1_IP} sudo ovs-vsctl del-port ${tunnel} - BuiltIn.Wait Until Keyword Succeeds 60s 5s Genius.Verify Tunnel Delete on DS ${tunnel} diff --git a/csit/testplans/genius-carbon-nitrogen.txt b/csit/testplans/genius-carbon-nitrogen.txt deleted file mode 100644 index 3054043287..0000000000 --- a/csit/testplans/genius-carbon-nitrogen.txt +++ /dev/null @@ -1,5 +0,0 @@ -# Place the suites in run order: -integration/test/csit/suites/genius/Interface_manager.robot -integration/test/csit/suites/genius/ID_manager.robot -integration/test/csit/suites/genius/Configure_ITM.robot -integration/test/csit/suites/genius/BFD_monitoring.robot diff --git a/csit/testplans/genius-gate.txt b/csit/testplans/genius-gate.txt deleted file mode 120000 index 0aa6c5df90..0000000000 --- a/csit/testplans/genius-gate.txt +++ /dev/null @@ -1 +0,0 @@ -genius-genius.txt \ No newline at end of file diff --git a/csit/testplans/genius-genius.txt b/csit/testplans/genius-genius.txt deleted file mode 100644 index 396ff1a454..0000000000 --- a/csit/testplans/genius-genius.txt +++ /dev/null @@ -1,9 +0,0 @@ -# Place the suites in run order: -integration/test/csit/suites/genius/Interface_manager.robot -integration/test/csit/suites/genius/ID_manager.robot -integration/test/csit/suites/genius/Configure_ITM.robot -integration/test/csit/suites/genius/BFD_monitoring.robot -integration/test/csit/suites/genius/Service_Recovery.robot -integration/test/csit/suites/genius/ITM_Direct_Tunnels.robot -integration/test/csit/suites/genius/ITM_Vtep_Auto_Tunnel.robot -integration/test/csit/suites/genius/OF_Tunnels.robot diff --git a/csit/testplans/genius-tdd-wip.txt b/csit/testplans/genius-tdd-wip.txt deleted file mode 100644 index a33b834295..0000000000 --- a/csit/testplans/genius-tdd-wip.txt +++ /dev/null @@ -1,6 +0,0 @@ -# Suites listed here are intended to help with test driven development and/or when we want to allow -# CSIT suites to be run without risk of causing our "hopefully" stable existing CSIT jobs to have -# unnecessary failures. -# -# Place the suites in run order: - diff --git a/csit/testplans/genius-upstream.txt b/csit/testplans/genius-upstream.txt deleted file mode 120000 index 0aa6c5df90..0000000000 --- a/csit/testplans/genius-upstream.txt +++ /dev/null @@ -1 +0,0 @@ -genius-genius.txt \ No newline at end of file diff --git a/csit/testplans/genius-verify.txt b/csit/testplans/genius-verify.txt deleted file mode 100644 index c6635a56f7..0000000000 --- a/csit/testplans/genius-verify.txt +++ /dev/null @@ -1,8 +0,0 @@ -# Place the suites in run order: -integration/test/csit/suites/genius/Interface_manager.robot -integration/test/csit/suites/genius/ID_manager.robot -integration/test/csit/suites/genius/Configure_ITM.robot -integration/test/csit/suites/genius/BFD_monitoring.robot -integration/test/csit/suites/genius/Service_Recovery.robot -integration/test/csit/suites/genius/ITM_Direct_Tunnels.robot -integration/test/csit/suites/genius/ITM_Vtep_Auto_Tunnel.robot diff --git a/tools/distchanges/tests/resources/changes.genius.10.json.txt b/tools/distchanges/tests/resources/changes.genius.10.json.txt deleted file mode 100644 index 18cb990345..0000000000 --- a/tools/distchanges/tests/resources/changes.genius.10.json.txt +++ /dev/null @@ -1,11 +0,0 @@ -{"project":"genius","branch":"master","id":"I2f363becf04bc2903fb249af7070c94018349ce8","number":"50131","subject":"ITM POM minor clean up","owner":{"name":"Michael Vorburger","email":"vorburger@redhat.com","username":"vorburger"},"url":"https://git.opendaylight.org/gerrit/50131","commitMessage":"ITM POM minor clean up\n\nmoved all Testing Dependencies together\n\nremoved not needed \u003cversion\u003e of org.apache.karaf.shell\n\nChange-Id: I2f363becf04bc2903fb249af7070c94018349ce8\nSigned-off-by: Michael Vorburger \u003cvorburger@redhat.com\u003e\n","createdOn":1483969621,"lastUpdated":1483984978,"open":false,"status":"MERGED","patchSets":[{"number":"1","revision":"9a98ab9623d9a91ab9fd98662b55a27ab44fc67f","parents":["03fbe49dc82f35103b3fa85ffebd0088d579e80b"],"ref":"refs/changes/31/50131/1","uploader":{"name":"Michael Vorburger","email":"vorburger@redhat.com","username":"vorburger"},"createdOn":1483969621,"author":{"name":"Michael Vorburger","email":"vorburger@redhat.com","username":"vorburger"},"isDraft":false,"kind":"REWORK","approvals":[{"type":"Verified","description":"Verified","value":"1","grantedOn":1483971510,"by":{"name":"jenkins-releng","email":"jenkins-releng@opendaylight.org","username":"jenkins-releng"}},{"type":"Code-Review","description":"Code-Review","value":"2","grantedOn":1483979185,"by":{"name":"Michael Vorburger","email":"vorburger@redhat.com","username":"vorburger"}},{"type":"SUBM","value":"1","grantedOn":1483979188,"by":{"name":"Michael Vorburger","email":"vorburger@redhat.com","username":"vorburger"}}],"sizeInsertions":13,"sizeDeletions":-13}]} -{"project":"genius","branch":"master","topic":"toStringIpAddress","id":"Ife5fa781542a8465626d8a6bc2feb6d66cfa62b6","number":"49835","subject":"Refactor NWUtil.toStringIpAddress","owner":{"name":"Miguel Perez","email":"francisco.miguel.perez@ericsson.com","username":"eperefr"},"url":"https://git.opendaylight.org/gerrit/49835","commitMessage":"Refactor NWUtil.toStringIpAddress\n\n + Replaces the current StringBuilder approach with the\n InetAddress.getByAddress() method that is 1) faster and\n 2) IpV6 compatible.\n\n + This method is not used anywhere (yet), but it will.\n\nChange-Id: Ife5fa781542a8465626d8a6bc2feb6d66cfa62b6\nSigned-off-by: Miguel Perez \u003cfrancisco.miguel.perez@ericsson.com\u003e\n","createdOn":1482863073,"lastUpdated":1483970835,"open":false,"status":"MERGED","patchSets":[{"number":"1","revision":"8a29d854bda088b766134fce478626c0cfd61e32","parents":["864bae12a0dc6ee45381ab705838141e65170f75"],"ref":"refs/changes/35/49835/1","uploader":{"name":"Miguel Perez","email":"francisco.miguel.perez@ericsson.com","username":"eperefr"},"createdOn":1482863073,"author":{"name":"Miguel Perez","email":"francisco.miguel.perez@ericsson.com","username":"eperefr"},"isDraft":false,"kind":"REWORK","approvals":[{"type":"Verified","description":"Verified","value":"-1","grantedOn":1482863388,"by":{"name":"jenkins-releng","email":"jenkins-releng@opendaylight.org","username":"jenkins-releng"}}],"sizeInsertions":6,"sizeDeletions":-8},{"number":"2","revision":"1f9b8614e8c5a31499d6275a08b3a38938ec7b36","parents":["864bae12a0dc6ee45381ab705838141e65170f75"],"ref":"refs/changes/35/49835/2","uploader":{"name":"Miguel Perez","email":"francisco.miguel.perez@ericsson.com","username":"eperefr"},"createdOn":1482863373,"author":{"name":"Miguel Perez","email":"francisco.miguel.perez@ericsson.com","username":"eperefr"},"isDraft":false,"kind":"REWORK","approvals":[{"type":"Verified","description":"Verified","value":"1","grantedOn":1482864957,"by":{"name":"jenkins-releng","email":"jenkins-releng@opendaylight.org","username":"jenkins-releng"}}],"sizeInsertions":5,"sizeDeletions":-7},{"number":"3","revision":"c48eb54d93b19b7f2b217fcfbd27402ffdd4b8cc","parents":["864bae12a0dc6ee45381ab705838141e65170f75"],"ref":"refs/changes/35/49835/3","uploader":{"name":"Miguel Perez","email":"francisco.miguel.perez@ericsson.com","username":"eperefr"},"createdOn":1482942586,"author":{"name":"Miguel Perez","email":"francisco.miguel.perez@ericsson.com","username":"eperefr"},"isDraft":false,"kind":"REWORK","approvals":[{"type":"Verified","description":"Verified","value":"-1","grantedOn":1482942769,"by":{"name":"jenkins-releng","email":"jenkins-releng@opendaylight.org","username":"jenkins-releng"}}],"sizeInsertions":20,"sizeDeletions":-10},{"number":"4","revision":"04abf285c4089f953b96d590d164c10a0bd59f50","parents":["864bae12a0dc6ee45381ab705838141e65170f75"],"ref":"refs/changes/35/49835/4","uploader":{"name":"Miguel Perez","email":"francisco.miguel.perez@ericsson.com","username":"eperefr"},"createdOn":1482942754,"author":{"name":"Miguel Perez","email":"francisco.miguel.perez@ericsson.com","username":"eperefr"},"isDraft":false,"kind":"REWORK","approvals":[{"type":"Verified","description":"Verified","value":"1","grantedOn":1483194591,"by":{"name":"jenkins-releng","email":"jenkins-releng@opendaylight.org","username":"jenkins-releng"}},{"type":"Code-Review","description":"Code-Review","value":"1","grantedOn":1483615464,"by":{"name":"David Suarez","email":"david.suarez.fuentes@ericsson.com","username":"edavsua"}}],"sizeInsertions":20,"sizeDeletions":-10},{"number":"5","revision":"25fcfd8da20bb31dde4847195798f1b9de7e57f8","parents":["03fbe49dc82f35103b3fa85ffebd0088d579e80b"],"ref":"refs/changes/35/49835/5","uploader":{"name":"David Suarez","email":"david.suarez.fuentes@ericsson.com","username":"edavsua"},"createdOn":1483960917,"author":{"name":"Miguel Perez","email":"francisco.miguel.perez@ericsson.com","username":"eperefr"},"isDraft":false,"kind":"TRIVIAL_REBASE","approvals":[{"type":"Verified","description":"Verified","value":"1","grantedOn":1483962369,"by":{"name":"jenkins-releng","email":"jenkins-releng@opendaylight.org","username":"jenkins-releng"}},{"type":"Code-Review","description":"Code-Review","value":"2","grantedOn":1483969330,"by":{"name":"David Suarez","email":"david.suarez.fuentes@ericsson.com","username":"edavsua"}},{"type":"SUBM","value":"1","grantedOn":1483969332,"by":{"name":"David Suarez","email":"david.suarez.fuentes@ericsson.com","username":"edavsua"}}],"sizeInsertions":20,"sizeDeletions":-10}]} -{"project":"genius","branch":"master","topic":"dlux-split","id":"I4cfeef30c7e83820ef628831c9a2ff6fb2622421","number":"49342","subject":"Replace dlux with dluxapps features","owner":{"name":"Daniel Malachovsky","email":"dmalacho@cisco.com","username":"malachovsky"},"url":"https://git.opendaylight.org/gerrit/49342","commitMessage":"Replace dlux with dluxapps features\n\nRenaming is due to DLUX project split.\nAlso, replacing yangui feature with yangman, new, redesigned and restyled\napplication.\n\nhttps://wiki.opendaylight.org/view/Weather#Rename_some_odl-dlux-.2A_features_to_odl-dluxapps-.2A\n\nChange-Id: I4cfeef30c7e83820ef628831c9a2ff6fb2622421\nSigned-off-by: Daniel Malachovsky \u003cdmalacho@cisco.com\u003e\n","createdOn":1481715890,"lastUpdated":1483846857,"open":false,"status":"MERGED","patchSets":[{"number":"1","revision":"ea5a578065302f93f76ce1667284d5c6c1bd0337","parents":["397e795d74c1291cf5104edd3bce8bbb60c73ea3"],"ref":"refs/changes/42/49342/1","uploader":{"name":"Daniel Malachovsky","email":"dmalacho@cisco.com","username":"malachovsky"},"createdOn":1481715890,"author":{"name":"Daniel Malachovsky","email":"dmalacho@cisco.com","username":"malachovsky"},"isDraft":false,"kind":"REWORK","approvals":[{"type":"Verified","description":"Verified","value":"1","grantedOn":1482224474,"by":{"name":"jenkins-releng","email":"jenkins-releng@opendaylight.org","username":"jenkins-releng"}}],"sizeInsertions":6,"sizeDeletions":-6},{"number":"2","revision":"a513a93b44897b005ac82539c2dd3f2e7363b61f","parents":["397e795d74c1291cf5104edd3bce8bbb60c73ea3"],"ref":"refs/changes/42/49342/2","uploader":{"name":"Daniel Malachovsky","email":"dmalacho@cisco.com","username":"malachovsky"},"createdOn":1483641452,"author":{"name":"Daniel Malachovsky","email":"dmalacho@cisco.com","username":"malachovsky"},"isDraft":false,"kind":"NO_CODE_CHANGE","approvals":[{"type":"Verified","description":"Verified","value":"-1","grantedOn":1483648069,"by":{"name":"jenkins-releng","email":"jenkins-releng@opendaylight.org","username":"jenkins-releng"}}],"sizeInsertions":6,"sizeDeletions":-6},{"number":"3","revision":"0de4aadfbef91892c102bda3d8a3004f88716e0a","parents":["b072ba5ef5f34c8545a688094125124653556475"],"ref":"refs/changes/42/49342/3","uploader":{"name":"Daniel Malachovsky","email":"dmalacho@cisco.com","username":"malachovsky"},"createdOn":1483648484,"author":{"name":"Daniel Malachovsky","email":"dmalacho@cisco.com","username":"malachovsky"},"isDraft":false,"kind":"TRIVIAL_REBASE","approvals":[{"type":"Verified","description":"Verified","value":"-1","grantedOn":1483649880,"by":{"name":"jenkins-releng","email":"jenkins-releng@opendaylight.org","username":"jenkins-releng"}}],"sizeInsertions":6,"sizeDeletions":-6},{"number":"4","revision":"305659cf8ae9d1a1a4c56a9f38910997b201efde","parents":["397e795d74c1291cf5104edd3bce8bbb60c73ea3"],"ref":"refs/changes/42/49342/4","uploader":{"name":"Daniel Malachovsky","email":"dmalacho@cisco.com","username":"malachovsky"},"createdOn":1483649834,"author":{"name":"Daniel Malachovsky","email":"dmalacho@cisco.com","username":"malachovsky"},"isDraft":false,"kind":"REWORK","approvals":[{"type":"Verified","description":"Verified","value":"-1","grantedOn":1483651338,"by":{"name":"jenkins-releng","email":"jenkins-releng@opendaylight.org","username":"jenkins-releng"}}],"sizeInsertions":6,"sizeDeletions":-6},{"number":"5","revision":"ce441f4f431b7b834b04c451d7d4dab05a35ed79","parents":["b072ba5ef5f34c8545a688094125124653556475"],"ref":"refs/changes/42/49342/5","uploader":{"name":"Daniel Malachovsky","email":"dmalacho@cisco.com","username":"malachovsky"},"createdOn":1483651377,"author":{"name":"Daniel Malachovsky","email":"dmalacho@cisco.com","username":"malachovsky"},"isDraft":false,"kind":"TRIVIAL_REBASE","approvals":[{"type":"Code-Review","description":"Code-Review","value":"2","grantedOn":1483845361,"by":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"}},{"type":"SUBM","value":"1","grantedOn":1483845365,"by":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"}},{"type":"Verified","description":"Verified","value":"1","grantedOn":1483845361,"by":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"}},{"type":"Code-Review","description":"Code-Review","value":"1","grantedOn":1483693453,"by":{"name":"Vivek Srivastava","email":"vivek.v.srivastava@ericsson.com","username":"esravik"}}],"sizeInsertions":6,"sizeDeletions":-6}]} -{"project":"genius","branch":"master","topic":"batch-delete","id":"Ifb8f54786405c93bdee3357d625881cf1671255e","number":"50023","subject":"Use batching in interface Delete path","owner":{"name":"Vishal Thapar","email":"vishal.thapar@ericsson.com","username":"thapar"},"url":"https://git.opendaylight.org/gerrit/50023","commitMessage":"Use batching in interface Delete path\n\nInterface delete path is still not using batching which has performance\nissues in a scale setup.\n\nChange-Id: Ifb8f54786405c93bdee3357d625881cf1671255e\nSigned-off-by: Vishal Thapar \u003cvishal.thapar@ericsson.com\u003e\n","createdOn":1483542579,"lastUpdated":1483770127,"open":false,"status":"MERGED","patchSets":[{"number":"1","revision":"a654f2678967d669f6de80d1ee701b4b268ac14a","parents":["732d7db4cad1d18b83c6361d31e914bf32463646"],"ref":"refs/changes/23/50023/1","uploader":{"name":"Vishal Thapar","email":"vishal.thapar@ericsson.com","username":"thapar"},"createdOn":1483542579,"author":{"name":"Vishal Thapar","email":"vishal.thapar@ericsson.com","username":"thapar"},"isDraft":false,"kind":"REWORK","approvals":[{"type":"Code-Review","description":"Code-Review","value":"1","grantedOn":1483544898,"by":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"}},{"type":"Verified","description":"Verified","value":"-1","grantedOn":1483546504,"by":{"name":"jenkins-releng","email":"jenkins-releng@opendaylight.org","username":"jenkins-releng"}}],"sizeInsertions":8,"sizeDeletions":-9},{"number":"2","revision":"2bb8bff62eb89cfbca423ae457d6e2a181d3e154","parents":["ead51e8d1d9ef920a712bf2b076bfde97a6d4134"],"ref":"refs/changes/23/50023/2","uploader":{"name":"Vishal Thapar","email":"vishal.thapar@ericsson.com","username":"thapar"},"createdOn":1483598553,"author":{"name":"Vishal Thapar","email":"vishal.thapar@ericsson.com","username":"thapar"},"isDraft":false,"kind":"REWORK","approvals":[{"type":"Code-Review","description":"Code-Review","value":"1","grantedOn":1483613161,"by":{"name":"Hema Gopalakrishnan","email":"hema.gopalkrishnan@ericsson.com","username":"HemaTG"}},{"type":"Code-Review","description":"Code-Review","value":"2","grantedOn":1483768725,"by":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"}},{"type":"SUBM","value":"1","grantedOn":1483768728,"by":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"}},{"type":"Verified","description":"Verified","value":"1","grantedOn":1483682863,"by":{"name":"Vishal Thapar","email":"vishal.thapar@ericsson.com","username":"thapar"}}],"sizeInsertions":9,"sizeDeletions":-10}]} -{"project":"genius","branch":"master","topic":"action-redesign","id":"I1403cad670c2f0f8c60efbf69da38e2006d211d0","number":"49047","subject":"Action redesign: add regression test for ActionType.learn","owner":{"name":"Stephen Kitt","email":"skitt@redhat.com","username":"skitt"},"url":"https://git.opendaylight.org/gerrit/49047","commitMessage":"Action redesign: add regression test for ActionType.learn\n\nChange-Id: I1403cad670c2f0f8c60efbf69da38e2006d211d0\nSigned-off-by: Stephen Kitt \u003cskitt@redhat.com\u003e\n","createdOn":1481046022,"lastUpdated":1483607842,"open":false,"status":"MERGED","patchSets":[{"number":"1","revision":"0f935f8ef037e91d9e7ac1f6a93a1bd117c7c2ff","parents":["fc9d69776a6681a238bbb0022ec6259abe5e1ba0"],"ref":"refs/changes/47/49047/1","uploader":{"name":"Stephen Kitt","email":"skitt@redhat.com","username":"skitt"},"createdOn":1481046022,"author":{"name":"Stephen Kitt","email":"skitt@redhat.com","username":"skitt"},"isDraft":false,"kind":"REWORK","approvals":[{"type":"Verified","description":"Verified","value":"1","grantedOn":1481047576,"by":{"name":"jenkins-releng","email":"jenkins-releng@opendaylight.org","username":"jenkins-releng"}}],"sizeInsertions":136,"sizeDeletions":0},{"number":"2","revision":"d26005c5fa1e6aeedd518c27de7c674938922cc1","parents":["ec49800f3e6076597eaae4fe812d4a6efaf4e67d"],"ref":"refs/changes/47/49047/2","uploader":{"name":"Stephen Kitt","email":"skitt@redhat.com","username":"skitt"},"createdOn":1481163856,"author":{"name":"Stephen Kitt","email":"skitt@redhat.com","username":"skitt"},"isDraft":false,"kind":"TRIVIAL_REBASE","approvals":[{"type":"Code-Review","description":"Code-Review","value":"1","grantedOn":1481184549,"by":{"name":"Alon Kochba","email":"alonko@hpe.com","username":"alonko"}},{"type":"Verified","description":"Verified","value":"1","grantedOn":1481165561,"by":{"name":"jenkins-releng","email":"jenkins-releng@opendaylight.org","username":"jenkins-releng"}}],"sizeInsertions":136,"sizeDeletions":0},{"number":"3","revision":"5f03664b9f514ca079e54e7bfe140adfa5f3ee64","parents":["80f49454e5cf380aff9cc2ccba7977acc29c495c"],"ref":"refs/changes/47/49047/3","uploader":{"name":"Stephen Kitt","email":"skitt@redhat.com","username":"skitt"},"createdOn":1481274420,"author":{"name":"Stephen Kitt","email":"skitt@redhat.com","username":"skitt"},"isDraft":false,"kind":"TRIVIAL_REBASE","approvals":[{"type":"Verified","description":"Verified","value":"1","grantedOn":1481276913,"by":{"name":"jenkins-releng","email":"jenkins-releng@opendaylight.org","username":"jenkins-releng"}}],"sizeInsertions":136,"sizeDeletions":0},{"number":"4","revision":"3d2a1d90df0dea12d13af888644247adebaafd01","parents":["fa710f327db056ccc631afc474dc96bfb5b36668"],"ref":"refs/changes/47/49047/4","uploader":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"},"createdOn":1481527767,"author":{"name":"Stephen Kitt","email":"skitt@redhat.com","username":"skitt"},"isDraft":false,"kind":"TRIVIAL_REBASE","approvals":[{"type":"Verified","description":"Verified","value":"1","grantedOn":1481529050,"by":{"name":"jenkins-releng","email":"jenkins-releng@opendaylight.org","username":"jenkins-releng"}}],"sizeInsertions":136,"sizeDeletions":0},{"number":"5","revision":"811ea01543b5a366cbd014b3be62bee709075f78","parents":["e778d4e7b5ec582b9f798f9e3e4618565bcfe7f8"],"ref":"refs/changes/47/49047/5","uploader":{"name":"Stephen Kitt","email":"skitt@redhat.com","username":"skitt"},"createdOn":1481535138,"author":{"name":"Stephen Kitt","email":"skitt@redhat.com","username":"skitt"},"isDraft":false,"kind":"TRIVIAL_REBASE","approvals":[{"type":"Verified","description":"Verified","value":"1","grantedOn":1481536968,"by":{"name":"jenkins-releng","email":"jenkins-releng@opendaylight.org","username":"jenkins-releng"}}],"sizeInsertions":136,"sizeDeletions":0},{"number":"6","revision":"4c86a4867463f6b1b49faa2c4098c966aa01dd10","parents":["424aebaf3bcfec186755a5c8a0c3b125e335ce1b"],"ref":"refs/changes/47/49047/6","uploader":{"name":"Stephen Kitt","email":"skitt@redhat.com","username":"skitt"},"createdOn":1481718372,"author":{"name":"Stephen Kitt","email":"skitt@redhat.com","username":"skitt"},"isDraft":false,"kind":"TRIVIAL_REBASE","approvals":[{"type":"Verified","description":"Verified","value":"1","grantedOn":1481721026,"by":{"name":"jenkins-releng","email":"jenkins-releng@opendaylight.org","username":"jenkins-releng"}}],"sizeInsertions":136,"sizeDeletions":0},{"number":"7","revision":"dbb82039a49f7426c36af92ad8166b8aebeda1ab","parents":["093bf739adc0bb53830e98e74f8a65b51ed2437e"],"ref":"refs/changes/47/49047/7","uploader":{"name":"Stephen Kitt","email":"skitt@redhat.com","username":"skitt"},"createdOn":1481886794,"author":{"name":"Stephen Kitt","email":"skitt@redhat.com","username":"skitt"},"isDraft":false,"kind":"TRIVIAL_REBASE","approvals":[{"type":"Verified","description":"Verified","value":"1","grantedOn":1481889287,"by":{"name":"jenkins-releng","email":"jenkins-releng@opendaylight.org","username":"jenkins-releng"}}],"sizeInsertions":136,"sizeDeletions":0},{"number":"8","revision":"05730e2869f77460f429047459b9868c258b2633","parents":["526b1ec02db5243ece2e1c96ec21f042d04d74ff"],"ref":"refs/changes/47/49047/8","uploader":{"name":"Stephen Kitt","email":"skitt@redhat.com","username":"skitt"},"createdOn":1482429775,"author":{"name":"Stephen Kitt","email":"skitt@redhat.com","username":"skitt"},"isDraft":false,"kind":"TRIVIAL_REBASE","approvals":[{"type":"Code-Review","description":"Code-Review","value":"1","grantedOn":1483548018,"by":{"name":"Alon Kochba","email":"alonko@hpe.com","username":"alonko"}}],"sizeInsertions":136,"sizeDeletions":0},{"number":"9","revision":"b072ba5ef5f34c8545a688094125124653556475","parents":["ead51e8d1d9ef920a712bf2b076bfde97a6d4134"],"ref":"refs/changes/47/49047/9","uploader":{"name":"David Suarez","email":"david.suarez.fuentes@ericsson.com","username":"edavsua"},"createdOn":1483604307,"author":{"name":"Stephen Kitt","email":"skitt@redhat.com","username":"skitt"},"isDraft":false,"kind":"TRIVIAL_REBASE","approvals":[{"type":"Verified","description":"Verified","value":"1","grantedOn":1483605993,"by":{"name":"jenkins-releng","email":"jenkins-releng@opendaylight.org","username":"jenkins-releng"}},{"type":"Code-Review","description":"Code-Review","value":"2","grantedOn":1483604350,"by":{"name":"David Suarez","email":"david.suarez.fuentes@ericsson.com","username":"edavsua"}},{"type":"SUBM","value":"1","grantedOn":1483606656,"by":{"name":"David Suarez","email":"david.suarez.fuentes@ericsson.com","username":"edavsua"}}],"sizeInsertions":136,"sizeDeletions":0}]} -{"project":"genius","branch":"master","id":"I91531d00dad320efba3737c3dff661dc57601604","number":"49966","subject":"Allow Nicira Extension Actions in BoundServices","owner":{"name":"Deepthi V V","email":"deepthi.v.v@ericsson.com","username":"deepthivv88"},"url":"https://git.opendaylight.org/gerrit/49966","commitMessage":"Allow Nicira Extension Actions in BoundServices\n\nChange-Id: I91531d00dad320efba3737c3dff661dc57601604\nSigned-off-by: deepthivv88 \u003cdeepthi.v.v@ericsson.com\u003e\n","createdOn":1483442920,"lastUpdated":1483549276,"open":false,"status":"MERGED","patchSets":[{"number":"1","revision":"b083f6d71d635ef645f668adb3c72af5b58c2565","parents":["732d7db4cad1d18b83c6361d31e914bf32463646"],"ref":"refs/changes/66/49966/1","uploader":{"name":"Deepthi V V","email":"deepthi.v.v@ericsson.com","username":"deepthivv88"},"createdOn":1483442920,"author":{"name":"Deepthi V V","email":"deepthi.v.v@ericsson.com","username":"deepthivv88"},"isDraft":false,"kind":"REWORK","approvals":[{"type":"Verified","description":"Verified","value":"-1","grantedOn":1483443339,"by":{"name":"jenkins-releng","email":"jenkins-releng@opendaylight.org","username":"jenkins-releng"}}],"sizeInsertions":299,"sizeDeletions":0},{"number":"2","revision":"073416fdbb31f5206e575b0fcdfed456860b390d","parents":["732d7db4cad1d18b83c6361d31e914bf32463646"],"ref":"refs/changes/66/49966/2","uploader":{"name":"Deepthi V V","email":"deepthi.v.v@ericsson.com","username":"deepthivv88"},"createdOn":1483458274,"author":{"name":"Deepthi V V","email":"deepthi.v.v@ericsson.com","username":"deepthivv88"},"isDraft":false,"kind":"REWORK","approvals":[{"type":"Code-Review","description":"Code-Review","value":"1","grantedOn":1483508036,"by":{"name":"Deepthi V V","email":"deepthi.v.v@ericsson.com","username":"deepthivv88"}},{"type":"Code-Review","description":"Code-Review","value":"2","grantedOn":1483545261,"by":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"}},{"type":"SUBM","value":"1","grantedOn":1483545267,"by":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"}},{"type":"Verified","description":"Verified","value":"1","grantedOn":1483545261,"by":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"}},{"type":"Code-Review","description":"Code-Review","value":"1","grantedOn":1483510317,"by":{"name":"D Arunprakash","email":"d.arunprakash@ericsson.com","username":"arunprakashd"}}],"sizeInsertions":299,"sizeDeletions":0}]} -{"project":"genius","branch":"master","id":"I37312000019b6eb7826f10f19b9fa7b2695101a3","number":"49764","subject":"handling idmanager csit intermittent failures","owner":{"name":"Periyasamy Palanisamy","email":"periyasamy.palanisamy@ericsson.com","username":"pperiyasamy"},"url":"https://git.opendaylight.org/gerrit/49764","commitMessage":"handling idmanager csit intermittent failures\n\n* Due to faster allocation/deallocation of ids, release id is not able to\nfind the idKey in parent pool ds which is being fixed by a latch.\n* Fix NPE by throwing IdManagerExcepion if requested id range is not\navailable\n\nChange-Id: I37312000019b6eb7826f10f19b9fa7b2695101a3\nSigned-off-by: Periyasamy Palanisamy \u003cperiyasamy.palanisamy@ericsson.com\u003e\n","createdOn":1482469344,"lastUpdated":1483547804,"open":false,"status":"MERGED","patchSets":[{"number":"1","revision":"12ef920fcec27334bf33271ae14dfd8b2f9eb601","parents":["3dd38ef8a108839a4ba5e49c3fe8c96b0ec73ac8"],"ref":"refs/changes/64/49764/1","uploader":{"name":"Periyasamy Palanisamy","email":"periyasamy.palanisamy@ericsson.com","username":"pperiyasamy"},"createdOn":1482469344,"author":{"name":"Periyasamy Palanisamy","email":"periyasamy.palanisamy@ericsson.com","username":"pperiyasamy"},"isDraft":false,"kind":"REWORK","approvals":[{"type":"Verified","description":"Verified","value":"-1","grantedOn":1482470696,"by":{"name":"jenkins-releng","email":"jenkins-releng@opendaylight.org","username":"jenkins-releng"}}],"sizeInsertions":18,"sizeDeletions":-2},{"number":"2","revision":"308cbe31f2508e0b7b921dbd476227d30a56c3ce","parents":["3dd38ef8a108839a4ba5e49c3fe8c96b0ec73ac8"],"ref":"refs/changes/64/49764/2","uploader":{"name":"Periyasamy Palanisamy","email":"periyasamy.palanisamy@ericsson.com","username":"pperiyasamy"},"createdOn":1482471732,"author":{"name":"Periyasamy Palanisamy","email":"periyasamy.palanisamy@ericsson.com","username":"pperiyasamy"},"isDraft":false,"kind":"REWORK","approvals":[{"type":"Verified","description":"Verified","value":"-1","grantedOn":1482472991,"by":{"name":"jenkins-releng","email":"jenkins-releng@opendaylight.org","username":"jenkins-releng"}}],"sizeInsertions":21,"sizeDeletions":-4},{"number":"3","revision":"8543b4496d8066f2fd9f54564ce64d55c7ddb48e","parents":["3dd38ef8a108839a4ba5e49c3fe8c96b0ec73ac8"],"ref":"refs/changes/64/49764/3","uploader":{"name":"Periyasamy Palanisamy","email":"periyasamy.palanisamy@ericsson.com","username":"pperiyasamy"},"createdOn":1482474435,"author":{"name":"Periyasamy Palanisamy","email":"periyasamy.palanisamy@ericsson.com","username":"pperiyasamy"},"isDraft":false,"kind":"REWORK","approvals":[{"type":"Verified","description":"Verified","value":"-1","grantedOn":1482475888,"by":{"name":"jenkins-releng","email":"jenkins-releng@opendaylight.org","username":"jenkins-releng"}}],"sizeInsertions":21,"sizeDeletions":-5},{"number":"4","revision":"786eb4396b4751b2c113e25d9258c723a2b61d19","parents":["9c41fd02fd048a04dc1416b133ef16f8eeff5a29"],"ref":"refs/changes/64/49764/4","uploader":{"name":"Periyasamy Palanisamy","email":"periyasamy.palanisamy@ericsson.com","username":"pperiyasamy"},"createdOn":1482733899,"author":{"name":"Periyasamy Palanisamy","email":"periyasamy.palanisamy@ericsson.com","username":"pperiyasamy"},"isDraft":false,"kind":"REWORK","approvals":[{"type":"Code-Review","description":"Code-Review","value":"2","grantedOn":1483545047,"by":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"}},{"type":"SUBM","value":"1","grantedOn":1483545051,"by":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"}},{"type":"Verified","description":"Verified","value":"1","grantedOn":1483545047,"by":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"}},{"type":"Code-Review","description":"Code-Review","value":"1","grantedOn":1483510197,"by":{"name":"Vishal Thapar","email":"vishal.thapar@ericsson.com","username":"thapar"}},{"type":"Code-Review","description":"Code-Review","value":"1","grantedOn":1483436306,"by":{"name":"Kency Kurian","email":"kency.kurian@ericsson.com","username":"Kency"}}],"sizeInsertions":22,"sizeDeletions":-5}]} -{"project":"genius","branch":"master","id":"Ie592618dbf2b1db6d1891b111b14db04c01272eb","number":"49924","subject":"Bug 7450 : suppressing unnecessary warning logs","owner":{"name":"Periyasamy Palanisamy","email":"periyasamy.palanisamy@ericsson.com","username":"pperiyasamy"},"url":"https://git.opendaylight.org/gerrit/49924","commitMessage":"Bug 7450 : suppressing unnecessary warning logs\n\n* check to remove unncessary alivenessmonitor warn logs while packet\nin handling\n\nChange-Id: Ie592618dbf2b1db6d1891b111b14db04c01272eb\nSigned-off-by: Periyasamy Palanisamy \u003cperiyasamy.palanisamy@ericsson.com\u003e\n","createdOn":1483333787,"lastUpdated":1483436798,"open":false,"status":"MERGED","patchSets":[{"number":"1","revision":"732d7db4cad1d18b83c6361d31e914bf32463646","parents":["8529e46223c7d580c305c50fcf4f5b41bc450805"],"ref":"refs/changes/24/49924/1","uploader":{"name":"Periyasamy Palanisamy","email":"periyasamy.palanisamy@ericsson.com","username":"pperiyasamy"},"createdOn":1483333787,"author":{"name":"Periyasamy Palanisamy","email":"periyasamy.palanisamy@ericsson.com","username":"pperiyasamy"},"isDraft":false,"kind":"REWORK","approvals":[{"type":"Code-Review","description":"Code-Review","value":"1","grantedOn":1483375023,"by":{"name":"Alon Kochba","email":"alonko@hpe.com","username":"alonko"}},{"type":"Code-Review","description":"Code-Review","value":"2","grantedOn":1483435249,"by":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"}},{"type":"SUBM","value":"1","grantedOn":1483435252,"by":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"}},{"type":"Verified","description":"Verified","value":"1","grantedOn":1483334994,"by":{"name":"jenkins-releng","email":"jenkins-releng@opendaylight.org","username":"jenkins-releng"}},{"type":"Code-Review","description":"Code-Review","value":"1","grantedOn":1483350274,"by":{"name":"Tali Ben-Meir","email":"tali.ben-meir@hpe.com","username":"tali"}}],"sizeInsertions":8,"sizeDeletions":-3}]} -{"project":"genius","branch":"master","id":"Ia5f7cd262b892fafd3b74551e8e82a0b3a1b5720","number":"49469","subject":"Moving interface-manager CLI utils to use cached entries","owner":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"},"url":"https://git.opendaylight.org/gerrit/49469","commitMessage":"Moving interface-manager CLI utils to use cached entries\n\nDescription : vlan:show and vxlan:show commands in interface-manager were\ndoing a read from datastore, when the entries are available in cache\nactually. Changing the utils to make use of the same, so that the reads\ncan be faster in scaled scenarios\n\nChange-Id: Ia5f7cd262b892fafd3b74551e8e82a0b3a1b5720\nSigned-off-by: Faseela K \u003cfaseela.k@ericsson.com\u003e\n","createdOn":1481885722,"lastUpdated":1482917228,"open":false,"status":"MERGED","patchSets":[{"number":"1","revision":"0420a799abc5adc63d758586b8216ba8ead944b8","parents":["093bf739adc0bb53830e98e74f8a65b51ed2437e"],"ref":"refs/changes/69/49469/1","uploader":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"},"createdOn":1481885722,"author":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"},"isDraft":false,"kind":"REWORK","sizeInsertions":28,"sizeDeletions":-19},{"number":"2","revision":"228320c183c28a841b53d5c8fb1544f76b34c1d2","parents":["093bf739adc0bb53830e98e74f8a65b51ed2437e"],"ref":"refs/changes/69/49469/2","uploader":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"},"createdOn":1481885804,"author":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"},"isDraft":false,"kind":"REWORK","approvals":[{"type":"Verified","description":"Verified","value":"1","grantedOn":1481887491,"by":{"name":"jenkins-releng","email":"jenkins-releng@opendaylight.org","username":"jenkins-releng"}}],"sizeInsertions":28,"sizeDeletions":-16},{"number":"3","revision":"1a95c4ec0df6b0a87548e2a11a074e4a3d8d24aa","parents":["093bf739adc0bb53830e98e74f8a65b51ed2437e"],"ref":"refs/changes/69/49469/3","uploader":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"},"createdOn":1481892167,"author":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"},"isDraft":false,"kind":"REWORK","approvals":[{"type":"Code-Review","description":"Code-Review","value":"1","grantedOn":1482213949,"by":{"name":"Periyasamy Palanisamy","email":"periyasamy.palanisamy@ericsson.com","username":"pperiyasamy"}}],"sizeInsertions":16,"sizeDeletions":-19},{"number":"4","revision":"8625b69886be7e829373587ac9c18c347bdb3b4c","parents":["526b1ec02db5243ece2e1c96ec21f042d04d74ff"],"ref":"refs/changes/69/49469/4","uploader":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"},"createdOn":1482458109,"author":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"},"isDraft":false,"kind":"TRIVIAL_REBASE","approvals":[{"type":"Code-Review","description":"Code-Review","value":"2","grantedOn":1482915905,"by":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"}},{"type":"SUBM","value":"1","grantedOn":1482915914,"by":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"}},{"type":"Verified","description":"Verified","value":"1","grantedOn":1482915905,"by":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"}}],"sizeInsertions":16,"sizeDeletions":-19}]} -{"project":"genius","branch":"master","topic":"bug/7419","id":"Id5550bb2a483d14572803f0e346f2209b9cb9bcc","number":"49694","subject":"Bug 7419 : Ids from id pool exhausted","owner":{"name":"Kency Kurian","email":"kency.kurian@ericsson.com","username":"Kency"},"url":"https://git.opendaylight.org/gerrit/49694","commitMessage":"Bug 7419 : Ids from id pool exhausted\n\nObserved that there were many threads waiting to allocate block of ids\nfrom parent pool. Once a thread acquired lock it just used to update its\navailableIdHolder with that block without checking if some other thread\nhas already updated the localPoolCache.\n\nAfter acquiring lock, a check has been added to know if some other thread\nhas already updated the availableIdHolder/releaseIdHolder.\n\nChange-Id: Id5550bb2a483d14572803f0e346f2209b9cb9bcc\nSigned-off-by: Kency Kurian \u003ckency.kurian@ericsson.com\u003e\n","createdOn":1482323675,"lastUpdated":1482776505,"open":false,"status":"MERGED","patchSets":[{"number":"1","revision":"3822d081dcaeb3eed8cba915b2cf9bf244ca71a4","parents":["a58f5005d708469bdc262bc41f3b091520b80467"],"ref":"refs/changes/94/49694/1","uploader":{"name":"Kency Kurian","email":"kency.kurian@ericsson.com","username":"Kency"},"createdOn":1482323675,"author":{"name":"Kency Kurian","email":"kency.kurian@ericsson.com","username":"Kency"},"isDraft":false,"kind":"REWORK","sizeInsertions":9,"sizeDeletions":-2},{"number":"2","revision":"7183c61beb35a0240357f7b0bf3cd091c0eab9f4","parents":["a58f5005d708469bdc262bc41f3b091520b80467"],"ref":"refs/changes/94/49694/2","uploader":{"name":"Kency Kurian","email":"kency.kurian@ericsson.com","username":"Kency"},"createdOn":1482385532,"author":{"name":"Kency Kurian","email":"kency.kurian@ericsson.com","username":"Kency"},"isDraft":false,"kind":"REWORK","approvals":[{"type":"Verified","description":"Verified","value":"-1","grantedOn":1482386215,"by":{"name":"jenkins-releng","email":"jenkins-releng@opendaylight.org","username":"jenkins-releng"}}],"sizeInsertions":11,"sizeDeletions":-4},{"number":"3","revision":"5116512fe4e40f3943594bb3cc48fab8f34aa3a1","parents":["a58f5005d708469bdc262bc41f3b091520b80467"],"ref":"refs/changes/94/49694/3","uploader":{"name":"Kency Kurian","email":"kency.kurian@ericsson.com","username":"Kency"},"createdOn":1482386197,"author":{"name":"Kency Kurian","email":"kency.kurian@ericsson.com","username":"Kency"},"isDraft":false,"kind":"REWORK","approvals":[{"type":"Verified","description":"Verified","value":"-1","grantedOn":1482386411,"by":{"name":"jenkins-releng","email":"jenkins-releng@opendaylight.org","username":"jenkins-releng"}}],"sizeInsertions":13,"sizeDeletions":-10},{"number":"4","revision":"66628bb7f103a9814e61c0b384585d83e1183017","parents":["a58f5005d708469bdc262bc41f3b091520b80467"],"ref":"refs/changes/94/49694/4","uploader":{"name":"Kency Kurian","email":"kency.kurian@ericsson.com","username":"Kency"},"createdOn":1482386702,"author":{"name":"Kency Kurian","email":"kency.kurian@ericsson.com","username":"Kency"},"isDraft":false,"kind":"REWORK","sizeInsertions":13,"sizeDeletions":-14},{"number":"5","revision":"cdb47780cb36aff59de8fe0294808642e1f18faa","parents":["526b1ec02db5243ece2e1c96ec21f042d04d74ff"],"ref":"refs/changes/94/49694/5","uploader":{"name":"Kency Kurian","email":"kency.kurian@ericsson.com","username":"Kency"},"createdOn":1482472747,"author":{"name":"Kency Kurian","email":"kency.kurian@ericsson.com","username":"Kency"},"isDraft":false,"kind":"TRIVIAL_REBASE","approvals":[{"type":"Code-Review","description":"Code-Review","value":"2","grantedOn":1482775210,"by":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"}},{"type":"SUBM","value":"1","grantedOn":1482775215,"by":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"}},{"type":"Verified","description":"Verified","value":"1","grantedOn":1482775210,"by":{"name":"Faseela K","email":"faseela.k@ericsson.com","username":"k.faseela"}},{"type":"Code-Review","description":"Code-Review","value":"1","grantedOn":1482736614,"by":{"name":"Periyasamy Palanisamy","email":"periyasamy.palanisamy@ericsson.com","username":"pperiyasamy"}}],"sizeInsertions":13,"sizeDeletions":-14}]} -{"type":"stats","rowCount":10,"runTimeMilliseconds":120,"moreChanges":true}