X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=csit%2Fsuites%2Fopenflowplugin%2FPerformance_Bulkomatic%2F100K_Flows_100DPN_1Node_Perf_Test.robot;h=569f00ffdb85c56a7cc08a55a26f21f43d60d184;hb=14c1be480643f37f1eeef9d16149b631edd6aa2d;hp=5a8c52b4c2adf38b00376c7ce3342af9cc384628;hpb=5e50438788cb545a6b5d091317340b4e6fa79d32;p=integration%2Ftest.git diff --git a/csit/suites/openflowplugin/Performance_Bulkomatic/100K_Flows_100DPN_1Node_Perf_Test.robot b/csit/suites/openflowplugin/Performance_Bulkomatic/100K_Flows_100DPN_1Node_Perf_Test.robot index 5a8c52b4c2..569f00ffdb 100644 --- a/csit/suites/openflowplugin/Performance_Bulkomatic/100K_Flows_100DPN_1Node_Perf_Test.robot +++ b/csit/suites/openflowplugin/Performance_Bulkomatic/100K_Flows_100DPN_1Node_Perf_Test.robot @@ -1,53 +1,81 @@ *** Settings *** -Documentation Test suite for 3Node Cluster - 100K flows and 10 DPNs in Cluster Scale Up scenario -Suite Setup ClusterManagement Setup -Suite Teardown Delete All Sessions -Library DateTime -Library OperatingSystem -Resource ../../../libraries/BulkomaticKeywords.robot -Resource ../../../libraries/MininetKeywords.robot -Resource ../../../libraries/ClusterManagement.robot -Resource ../../../libraries/ClusterOpenFlow.robot -Variables ../../../variables/Variables.py +Documentation Test suite for 3Node Cluster - 100K flows and 10 DPNs in Cluster Scale Up scenario + +Library DateTime +Library OperatingSystem +Resource ../../../libraries/BulkomaticKeywords.robot +Resource ../../../libraries/MininetKeywords.robot +Resource ../../../libraries/ClusterManagement.robot +Resource ../../../libraries/ClusterOpenFlow.robot +Variables ../../../variables/Variables.py + +Suite Setup ClusterManagement Setup +Suite Teardown Delete All Sessions + *** Variables *** -${operation_timeout} 250s -${oper_ds_timeout} 400s -${mininet_timeout} 120s +${enable_openflow_tls} True +${operation_timeout} 250s +${oper_ds_timeout} 400s +${mininet_timeout} 120s ${flow_count_per_switch} 1000 -${switch_count} 100 -${karaf_log_level} log:set ERROR -${orig_json_config_add} sal_add_bulk_flow_config.json -${orig_json_config_get} sal_get_bulk_flow_config.json -${orig_json_config_del} sal_del_bulk_flow_config.json -${rate_results_file} rate.csv -${time_results_file} time.csv +${switch_count} 100 +${karaf_log_level} log:set WARN +${orig_json_config_add} sal_add_bulk_flow_config.json +${orig_json_config_get} sal_get_bulk_flow_config.json +${orig_json_config_del} sal_del_bulk_flow_config.json +${rate_results_file} rate.csv +${time_results_file} time.csv + *** Test Cases *** Initialize Variables - [Documentation] Check Status for all shards in OpenFlow application and set the logs across cluster nodes. + [Documentation] Initialize Variables and set the log. Wait Until Keyword Succeeds 3x 3s ClusterManagement.Run_Karaf_Command_On_List_Or_All ${karaf_log_level} ${flow_count_after_add}= BuiltIn.Evaluate ${flow_count_per_switch} * ${switch_count} BuiltIn.Set Suite Variable ${flow_count_after_add} - ${temp_json_config_add} BulkomaticKeywords.Set DPN And Flow Count In Json Add ${orig_json_config_add} ${switch_count} ${flow_count_per_switch} - ${temp_json_config_get} BulkomaticKeywords.Set DPN And Flow Count In Json Get ${orig_json_config_get} ${switch_count} ${flow_count_after_add} - ${temp_json_config_del} BulkomaticKeywords.Set DPN And Flow Count In Json Del ${orig_json_config_del} ${switch_count} ${flow_count_per_switch} + ${temp_json_config_add}= BulkomaticKeywords.Set DPN And Flow Count In Json Add + ... ${orig_json_config_add} + ... ${switch_count} + ... ${flow_count_per_switch} + ${temp_json_config_get}= BulkomaticKeywords.Set DPN And Flow Count In Json Get + ... ${orig_json_config_get} + ... ${switch_count} + ... ${flow_count_after_add} + ${temp_json_config_del}= BulkomaticKeywords.Set DPN And Flow Count In Json Del + ... ${orig_json_config_del} + ... ${switch_count} + ... ${flow_count_per_switch} BuiltIn.Set Suite Variable ${temp_json_config_add} BuiltIn.Set Suite Variable ${temp_json_config_get} BuiltIn.Set Suite Variable ${temp_json_config_del} Start Mininet And verify Switches - [Documentation] Start mininet. - ${mininet_conn_id}= MininetKeywords.Start Mininet Single Controller ${TOOLS_SYSTEM_IP} ${ODL_SYSTEM_IP} --topo linear,${switch_count} --switch ovsk,protocols=OpenFlow13 + [Documentation] Start mininet, controller OF port 6653 should be enabled for TLS while port 6633 should be for TCP. + ${ofport}= Set Variable If '${enable_openflow_tls}' == 'True' 6653 6633 + ${protocol}= Set Variable If '${enable_openflow_tls}' == 'True' ssl tcp + ${mininet_conn_id}= MininetKeywords.Start Mininet Multiple Controllers + ... options=--topo linear,${switch_count} + ... ofport=${ofport} + ... protocol=${protocol} BuiltIn.Set Suite Variable ${mininet_conn_id} - BuiltIn.Wait Until Keyword Succeeds ${mininet_timeout} 2s ClusterOpenFlow.Verify_Switch_Connections_Running_On_Member ${switch_count} 1 + BuiltIn.Wait Until Keyword Succeeds + ... ${mininet_timeout} + ... 2s + ... ClusterOpenFlow.Verify_Switch_Connections_Running_On_Member + ... ${switch_count} + ... 1 + Comment Fail the entire suite if switches cannot connect + [Teardown] Run Keyword If Test Failed Fatal Error Add Bulk Flow [Documentation] 100K Flows (1K Flows per DPN) in 100 DPN added and verify it gets applied. ${config_datastore_write_start_time}= DateTime.Get Current Date result_format=timestamp BulkomaticKeywords.Add Bulk Flow In Node ${temp_json_config_add} 1 ${operation_timeout} ${config_datastore_write_end_time}= DateTime.Get Current Date result_format=timestamp - ${config_datastore_write_time}= DateTime.Subtract Date From Date ${config_datastore_write_end_time} ${config_datastore_write_start_time} + ${config_datastore_write_time}= DateTime.Subtract Date From Date + ... ${config_datastore_write_end_time} + ... ${config_datastore_write_start_time} ${config_datastore_write_rate}= BuiltIn.Evaluate ${flow_count_after_add} / ${config_datastore_write_time} BuiltIn.Set Suite Variable ${config_datastore_write_start_time} BuiltIn.Log to console ${\n} @@ -59,9 +87,14 @@ Add Bulk Flow Verify Flows In Switch [Documentation] Verify 100K flows are installed in 100 switches. ${Mininet_write_start_time}= DateTime.Get Current Date result_format=timestamp - MininetKeywords.Verify Aggregate Flow From Mininet Session ${mininet_conn_id} ${switch_count} ${flow_count_per_switch} ${operation_timeout} + MininetKeywords.Verify Aggregate Flow From Mininet Session + ... ${mininet_conn_id} + ... ${flow_count_after_add} + ... ${operation_timeout} ${Mininet_write_end_time}= DateTime.Get Current Date result_format=timestamp - ${Mininet_write_time}= DateTime.Subtract Date From Date ${Mininet_write_end_time} ${config_datastore_write_start_time} + ${Mininet_write_time}= DateTime.Subtract Date From Date + ... ${Mininet_write_end_time} + ... ${config_datastore_write_start_time} ${Mininet_write_rate}= BuiltIn.Evaluate ${flow_count_after_add} / ${Mininet_write_time} BuiltIn.Log to console ${\n} BuiltIn.Log to console The Mininet_write_time is ${Mininet_write_time} @@ -71,9 +104,16 @@ Verify Flows In Switch Verify Flows In Oper DS [Documentation] Check Flows in Operational Datastore - BuiltIn.Wait Until Keyword Succeeds ${oper_ds_timeout} 2s ClusterOpenFlow.Check_Flows_Operational_Datastore_On_Member ${flow_count_after_add} 1 + BuiltIn.Wait Until Keyword Succeeds + ... ${oper_ds_timeout} + ... 2s + ... ClusterOpenFlow.Check_Flows_Operational_Datastore_On_Member + ... ${flow_count_after_add} + ... 1 ${oper_datastore_write_end_time}= DateTime.Get Current Date result_format=timestamp - ${oper_datastore_write_time}= DateTime.Subtract Date From Date ${oper_datastore_write_end_time} ${config_datastore_write_start_time} + ${oper_datastore_write_time}= DateTime.Subtract Date From Date + ... ${oper_datastore_write_end_time} + ... ${config_datastore_write_start_time} ${oper_datastore_write_rate}= BuiltIn.Evaluate ${flow_count_after_add} / ${oper_datastore_write_time} BuiltIn.Log to console ${\n} BuiltIn.Log to console The operational_datastore_write_time is ${oper_datastore_write_time} @@ -84,14 +124,21 @@ Verify Flows In Oper DS Stop Mininet And Verify [Documentation] Stop mininet and exit connection. MininetKeywords.Stop Mininet And Exit ${mininet_conn_id} - BuiltIn.Wait Until Keyword Succeeds ${mininet_timeout} 2s ClusterOpenFlow.Verify_Switch_Connections_Running_On_Member 0 1 + BuiltIn.Wait Until Keyword Succeeds + ... ${mininet_timeout} + ... 2s + ... ClusterOpenFlow.Verify_Switch_Connections_Running_On_Member + ... 0 + ... 1 Delete All Flows [Documentation] 100K Flows deleted and verify. ${config_datastore_delete_start_time}= DateTime.Get Current Date result_format=timestamp BulkomaticKeywords.Delete Bulk Flow In Node ${temp_json_config_del} 1 ${operation_timeout} ${config_datastore_delete_end_time}= Get Current Date result_format=timestamp - ${config_datastore_delete_time}= Subtract Date From Date ${config_datastore_delete_end_time} ${config_datastore_delete_start_time} + ${config_datastore_delete_time}= Subtract Date From Date + ... ${config_datastore_delete_end_time} + ... ${config_datastore_delete_start_time} ${config_datastore_delete_rate}= Evaluate ${flow_count_after_add} / ${config_datastore_delete_time} BuiltIn.Log to console ${\n} BuiltIn.Log to console The config_datastore_delete_time is ${config_datastore_delete_time} @@ -102,6 +149,10 @@ Delete All Flows Log Results And Determine Status [Documentation] Log results for plotting. OperatingSystem.Append To File ${rate_results_file} Config DS,OVS Switch,Operational DS\n - OperatingSystem.Append To File ${rate_results_file} ${config_datastore_write_rate},${Mininet_write_rate},${oper_datastore_write_rate}\n + OperatingSystem.Append To File + ... ${rate_results_file} + ... ${config_datastore_write_rate},${Mininet_write_rate},${oper_datastore_write_rate}\n OperatingSystem.Append To File ${time_results_file} Config DS,OVS Switch,Operational DS\n - OperatingSystem.Append To File ${time_results_file} ${config_datastore_write_time},${Mininet_write_time},${oper_datastore_write_time}\n + OperatingSystem.Append To File + ... ${time_results_file} + ... ${config_datastore_write_time},${Mininet_write_time},${oper_datastore_write_time}\n