Test Statistics

Total Statistics
Total
Pass
Fail
Skip
Elapsed
Pass / Fail / Skip
All Tests
1037231000:29:23
Statistics by Tag
Total
Pass
Fail
Skip
Elapsed
Pass / Fail / Skip
No Tags
Statistics by Suite
Total
Pass
Fail
Skip
Elapsed
Pass / Fail / Skip
1037231000:29:38
18180000:01:06
30300000:03:05
432419000:25:18
12012000:00:08

Test Execution Log

00:29:38.028 SUITE openflowplugin-clustering-bulkomatic.txt
00:01:06.474 SUITE Cluster Reconcilliation Multi DPN
00:03:05.385 SUITE Cluster HA Data Recovery BulkFlow 2Node Cluster
00:25:18.087 SUITE Cluster HA Data Recovery BulkFlow Single Switch
00:00:02.487 SETUP SetupUtils . Setup_Utils_For_Setup_And_Teardown  
00:00:00.000 TEARDOWN RequestsLibrary . Delete All Sessions  
00:00:07.746 TEST Check Shards Status And Initialize Variables
00:00:01.118 TEST Get Inventory Follower Before Cluster Restart
00:00:03.307 TEST Start Mininet Connect To Follower Node1
00:00:01.518 TEST Add Bulk Flow From Follower
00:00:03.043 TEST Get Bulk Flows and Verify In Cluster
00:00:00.432 TEST Verify Flows In Switch Before Cluster Restart
00:00:06.498 TEST Kill All Cluster Nodes
00:00:33.340 TEST Stop Mininet Connected To Follower Node1 and Exit
00:00:40.249 TEST Restart All Cluster Nodes
00:00:05.459 TEST Verify Data Recovery After Cluster Restart
00:00:03.628 TEST Start Mininet Again Connect To Follower Node1
00:00:02.616 TEST Verify Flows In Switch After Cluster Restart
00:00:02.584 TEST Stop Mininet Connected To Follower Node1
00:00:01.546 TEST Delete All Flows From Follower Node1
00:00:02.913 TEST Verify No Flows In Cluster
00:00:01.212 TEST Get Inventory Leader Before Leader Restart
00:00:02.879 TEST Start Mininet Connect To Leader
00:00:01.561 TEST Add Bulk Flow From Leader
00:00:03.010 TEST Get Bulk Flows and Verify In Cluster Before Leader Restart
00:00:02.010 TEST Verify Flows In Switch Before Leader Restart
00:00:14.053 TEST Kill Leader From Cluster Node
00:00:12.414 TEST Stop Mininet Connected To Leader Node
00:05:31.942 TEST Restart Leader from Cluster Node
00:00:27.475 SETUP SetupUtils . Setup_Test_With_Logging_And_Without_Fast_Failing  
00:05:04.465 KEYWORD ClusterManagement . Start_Single_Member   ${Inventory_Leader}
00:00:00.001 KEYWORD ${index_list} = ClusterManagement . ClusterManagement__Build_List   ${member}
00:00:00.002 KEYWORD ${member_ip} = ClusterManagement . Return_Member_IP   ${member}
00:00:00.002 KEYWORD ${msg} = BuiltIn . Set Variable If   "${msg}" == "${EMPTY}" Starting ODL${member} ${member_ip} Starting ODL${member} ${member_ip}, ${msg}
00:00:00.133 KEYWORD KarafKeywords . Log_Message_To_Controller_Karaf   ${msg}
00:05:04.319 KEYWORD ClusterManagement . Start_Members_From_List_Or_All   ${index_list} ${wait_for_sync} ${timeout} check_system_status=${check_system_status} verify_restconf=${verify_restconf} service_list=${service_list}
00:00:00.000 KEYWORD ${base_command} = BuiltIn . Set Variable If   """${karaf_home}""" != "" ${karaf_home}/bin/start ${NODE_START_COMMAND}
00:00:00.000 KEYWORD ${command} = BuiltIn . Set Variable If   """${export_java_home}""" != "" export JAVA_HOME="${export_java_home}"; ${base_command} ${base_command}
00:00:00.000 KEYWORD ${epoch} = DateTime . Get Current Date   time_zone=UTC result_format=epoch exclude_millis=False
00:00:00.000 KEYWORD ${gc_filepath} = BuiltIn . Set Variable If   """${karaf_home}""" != "" ${karaf_home}/data/log/gc_${epoch}.log ${GC_LOG_PATH}/gc_${epoch}.log
00:00:00.000 KEYWORD ${gc_options} = BuiltIn . Set Variable If   "docker" not in """${node_start_command}""" -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:${gc_filepath} ${EMPTY}
00:00:00.802 KEYWORD ClusterManagement . Run_Bash_Command_On_List_Or_All   command=${command} ${gc_options} member_index_list=${member_index_list}
00:05:01.477 KEYWORD BuiltIn . Wait Until Keyword Succeeds   ${timeout} 10s Verify_Members_Are_Ready ${member_index_list} ${wait_for_sync} ${verify_restconf} ${check_system_status} ${service_list}
00:00:00.030 KEYWORD ClusterManagement . Verify_Members_Are_Ready   ${member_index_list} ${wait_for_sync} ${verify_restconf} ${check_system_status} ${service_list}
00:00:00.028 IF ${verify_cluster_sync}  
00:00:00.028 KEYWORD ClusterManagement . Check_Cluster_Is_In_Sync   ${member_index_list}
00:00:00.001 KEYWORD ${index_list} = ClusterManagement . List_Indices_Or_All   given_list=${member_index_list}
00:00:00.026 FOR ${index} IN @{index_list}  
00:00:00.025 ITERATION ${index} = 3  
00:00:00.024 KEYWORD ${status} = ClusterManagement . Get_Sync_Status_Of_Member   member_index=${index}
00:00:00.001 KEYWORD ${session} = ClusterManagement . Resolve_Http_Session_For_Member   member_index=${member_index}
00:00:00.022 KEYWORD ${conf_text} = TemplatedRequests . Get_As_Json_From_Uri   uri=${JOLOKIA_CONF_SHARD_MANAGER_URI} session=${session}
00:00:00.019 KEYWORD ${response_text} = TemplatedRequests . Get_From_Uri   uri=${uri} accept=${ACCEPT_EMPTY} session=${session} normalize_json=True http_timeout=${http_timeout} log_response=${log_response}
00:00:00.000 KEYWORD BuiltIn . Log   ${uri}
00:00:00.000 KEYWORD BuiltIn . Log   ${accept}
00:00:00.013 IF """${http_timeout}""" == """${EMPTY}"""  
00:00:00.010 KEYWORD ${response} = RequestsLibrary . GET On Session   ${session} url=${uri} headers=${accept}
02:20:51.727 INFO GET Request : url=http://10.30.171.40:8181/jolokia/read/org.opendaylight.controller:Category=ShardManager,name=shard-manager-config,type=DistributedConfigDatastore path_url=/jolokia/read/org.opendaylight.controller:Category=ShardManager,name=shard-manager-config,type=DistributedConfigDatastore headers={'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'Basic YWRtaW46YWRtaW4='} body=None
02:20:51.727 INFO GET Response : url=http://10.30.171.40:8181/jolokia/read/org.opendaylight.controller:Category=ShardManager,name=shard-manager-config,type=DistributedConfigDatastore status=401, reason=Unauthorized headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '524'} body=<html> <head> <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/> <title>Error 401 Unauthorized</title> </head> <body><h2>HTTP ERROR 401 Unauthorized</h2> <table> <tr><th>URI:</th><td>/jolokia/read/org.opendaylight.controller:Category=ShardManager,name=shard-manager-config,type=DistributedConfigDatastore</td></tr> <tr><th>STATUS:</th><td>401</td></tr> <tr><th>MESSAGE:</th><td>Unauthorized</td></tr> <tr><th>SERVLET:</th><td>org.jolokia.osgi.servlet.JolokiaServlet</td></tr> </table> </body> </html>
02:20:51.727 FAIL HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.40:8181/jolokia/read/org.opendaylight.controller:Category=ShardManager,name=shard-manager-config,type=DistributedConfigDatastore
00:00:00.000 ELSE  
00:00:00.000 KEYWORD TemplatedRequests . Check_Status_Code   ${response} log_response=${log_response}
00:00:00.000 IF not ${normalize_json}  
00:00:00.000 KEYWORD ${text_normalized} = norm_json . Normalize Json Text   ${response.text} jmes_path=${jmes_path} keys_with_volatiles=${keys_with_volatiles}
00:00:00.000 RETURN   ${text_normalized}
00:00:00.000 RETURN   ${response_text}
00:00:00.000 KEYWORD ${conf_status} = ClusterManagement . ClusterManagement__Parse_Sync_Status   shard_manager_text=${conf_text}
00:00:00.000 IF 'False' == ${conf_status}  
00:00:00.000 KEYWORD ${oper_text} = TemplatedRequests . Get_As_Json_From_Uri   uri=${JOLOKIA_OPER_SHARD_MANAGER_URI} session=${session}
00:00:00.000 KEYWORD ${oper_status} = ClusterManagement . ClusterManagement__Parse_Sync_Status   shard_manager_text=${oper_text}
00:00:00.000 RETURN   ${oper_status}
00:00:00.000 IF 'True' == '${status}'  
00:00:00.000 KEYWORD BuiltIn . Fail   Index ${index} has incorrect status: ${status}
00:00:00.000 IF ${verify_restconf}  
00:00:00.000 IF ${verify_system_status} and ("${service_list}" != "[[]]")  
02:20:51.733 FAIL Keyword 'Verify_Members_Are_Ready' failed after retrying for 5 minutes. The last error was: HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.40:8181/jolokia/read/org.opendaylight.controller:Category=ShardManager,name=shard-manager-config,type=DistributedConfigDatastore
00:00:02.031 TEARDOWN ClusterManagement . Run_Bash_Command_On_List_Or_All   command=netstat -pnatu | grep 2550
00:05:52.450 TEST Verify Data Recovery After Leader Restart
00:00:01.370 SETUP SetupUtils . Setup_Test_With_Logging_And_Without_Fast_Failing  
00:05:51.080 KEYWORD BuiltIn . Wait Until Keyword Succeeds   ${restart_timeout} 2s BulkomaticKeywords.Get Bulk Flow And Verify Count In Cluster ${temp_json_config_get} ${operation_timeout} ${flow_count_after_add}
00:00:00.055 KEYWORD BulkomaticKeywords . Get Bulk Flow And Verify Count In Cluster   ${temp_json_config_get} ${operation_timeout} ${flow_count_after_add}
00:00:00.002 KEYWORD ${index_list} = ClusterManagement . List_Indices_Or_All   given_list=${controller_index_list}
00:00:00.038 FOR ${index} IN @{index_list}  
00:00:00.038 ITERATION ${index} = 1  
00:00:00.034 KEYWORD BulkomaticKeywords . Get Bulk Flow   ${json_body_get} ${index}
00:00:00.030 KEYWORD ${resp} = ClusterManagement . Post_As_Json_To_Member   ${GET_BULK_CONFIG_NODES_API} ${json_body_get} ${controller_index}
00:00:00.001 KEYWORD ${session} = ClusterManagement . Resolve_Http_Session_For_Member   member_index=${member_index}
00:00:00.021 KEYWORD ${response_text} = TemplatedRequests . Post_As_Json_To_Uri   uri=${uri} data=${data} session=${session}
00:00:00.018 KEYWORD ${response_text} = TemplatedRequests . Post_To_Uri   uri=${uri} data=${data} accept=${ACCEPT_EMPTY} content_type=${HEADERS_YANG_JSON} session=${session} normalize_json=True additional_allowed_status_codes=${additional_allowed_status_codes} explicit_status_codes=${explicit_status_codes} http_timeout=${http_timeout}
00:00:00.000 KEYWORD BuiltIn . Log   ${uri}
00:00:00.000 KEYWORD BuiltIn . Log   ${data}
00:00:00.000 KEYWORD BuiltIn . Log   ${content_type}
00:00:00.000 KEYWORD BuiltIn . Log   ${accept}
00:00:00.002 KEYWORD ${headers} = TemplatedRequests . Join_Two_Headers   first=${content_type} second=${accept}
00:00:00.011 IF """${http_timeout}""" == """${EMPTY}"""  
00:00:00.009 KEYWORD ${response} = RequestsLibrary . POST On Session   ${session} ${uri} data=${data} headers=${headers}
02:26:46.200 INFO POST Request : url=http://10.30.170.21:8181/rests/operations/sal-bulk-flow:read-flow-test path_url=/rests/operations/sal-bulk-flow:read-flow-test headers={'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Cookie': 'JSESSIONID=node0c5gbzmvvmygxivyb6kulcx790.node0', 'Content-Length': '260', 'Authorization': 'Basic YWRtaW46YWRtaW4='} body={ "input" : { "sal-bulk-flow:verbose" : "false", "sal-bulk-flow:dpn-count" : "1", "sal-bulk-flow:is-config-ds" : "true", "sal-bulk-flow:flows-per-dpn" : "1000", "sal-bulk-flow:start-table-id" : "0", "sal-bulk-flow:end-table-id" : "1" } }
02:26:46.200 INFO POST Response : url=http://10.30.170.21:8181/rests/operations/sal-bulk-flow:read-flow-test status=401, reason=Unauthorized headers={'Cache-Control': 'must-revalidate,no-cache,no-store', 'Content-Type': 'text/html;charset=iso-8859-1', 'Content-Length': '417'} body=<html> <head> <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/> <title>Error 401 Unauthorized</title> </head> <body><h2>HTTP ERROR 401 Unauthorized</h2> <table> <tr><th>URI:</th><td>/rests/operations/sal-bulk-flow:read-flow-test</td></tr> <tr><th>STATUS:</th><td>401</td></tr> <tr><th>MESSAGE:</th><td>Unauthorized</td></tr> <tr><th>SERVLET:</th><td>default</td></tr> </table> </body> </html>
02:26:46.201 FAIL HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.21:8181/rests/operations/sal-bulk-flow:read-flow-test
00:00:00.000 ELSE  
00:00:00.000 KEYWORD TemplatedRequests . Check_Status_Code   ${response} additional_allowed_status_codes=${additional_allowed_status_codes} explicit_status_codes=${explicit_status_codes}
00:00:00.000 IF not ${normalize_json}  
00:00:00.000 KEYWORD ${text_normalized} = norm_json . Normalize Json Text   ${response.text} jmes_path=${jmes_path}
00:00:00.000 RETURN   ${text_normalized}
00:00:00.000 RETURN   ${response_text}
00:00:00.000 RETURN   ${response_text}
00:00:00.008 FOR ${index} IN @{index_list}  
00:00:00.004 FOR ${index} IN @{index_list}  
02:26:46.216 FAIL Keyword 'BulkomaticKeywords.Get Bulk Flow And Verify Count In Cluster' failed after retrying for 5 minutes 50 seconds. The last error was: HTTPError: 401 Client Error: Unauthorized for url: http://10.30.170.21:8181/rests/operations/sal-bulk-flow:read-flow-test
00:00:03.357 TEST Start Mininet Again Connect To Leader
00:01:42.465 TEST Verify Flows In Switch After Leader Restart
00:00:00.492 SETUP SetupUtils . Setup_Test_With_Logging_And_Without_Fast_Failing  
00:01:41.972 KEYWORD MininetKeywords . Verify Aggregate Flow From Mininet Session   ${mininet_conn_id} ${flow_count_after_add} ${operation_timeout}
00:01:41.972 KEYWORD BuiltIn . Wait Until Keyword Succeeds   ${time_out} 2s MininetKeywords.Check Flows In Mininet ${mininet_conn} ${flow_count}
00:00:00.038 KEYWORD MininetKeywords . Check Flows In Mininet   ${mininet_conn} ${flow_count}
00:00:00.001 IF """${mininet_conn}""" != ""  
00:00:00.000 KEYWORD ${cmd} = BuiltIn . Set Variable   dpctl dump-aggregate -O OpenFlow13
00:00:00.034 KEYWORD ${output} = MininetKeywords . Send Mininet Command   ${mininet_conn} ${cmd}
00:00:00.000 KEYWORD ${flows} = String . Get Regexp Matches   ${output} (?<=flow_count\=).*?(?=\r)
00:00:00.000 KEYWORD ${total_flows} = BuiltIn . Evaluate   sum(map(int, ${flows}))
00:00:00.000 KEYWORD BuiltIn . Should Be Equal As Numbers   ${total_flows} ${flow_count}
02:28:32.038 INFO Argument types are: <class 'int'> <class 'str'>
02:28:32.038 FAIL 0.0 != 1000.0
02:28:32.038 FAIL Keyword 'MininetKeywords.Check Flows In Mininet' failed after retrying for 1 minute 40 seconds. The last error was: 0.0 != 1000.0
00:00:02.802 TEST Stop Mininet Connected To Leader Node After Leader Restart
00:00:00.465 TEST Delete All Flows From Leader Node
00:00:00.415 SETUP SetupUtils . Setup_Test_With_Logging_And_Without_Fast_Failing  
00:00:00.044 KEYWORD BulkomaticKeywords . Delete Bulk Flow In Node   ${temp_json_config_del} ${Inventory_Leader} ${operation_timeout}
00:00:00.043 KEYWORD BulkomaticKeywords . Delete Bulk Flow   ${json_body_del} ${controller_index}
00:00:00.039 KEYWORD ${resp} = ClusterManagement . Post_As_Json_To_Member   ${ADD_BULK_CONFIG_NODES_API} ${json_body_del} ${controller_index}
00:00:00.001 KEYWORD ${session} = ClusterManagement . Resolve_Http_Session_For_Member   member_index=${member_index}
00:00:00.030 KEYWORD ${response_text} = TemplatedRequests . Post_As_Json_To_Uri   uri=${uri} data=${data} session=${session}
00:00:00.027 KEYWORD ${response_text} = TemplatedRequests . Post_To_Uri   uri=${uri} data=${data} accept=${ACCEPT_EMPTY} content_type=${HEADERS_YANG_JSON} session=${session} normalize_json=True additional_allowed_status_codes=${additional_allowed_status_codes} explicit_status_codes=${explicit_status_codes} http_timeout=${http_timeout}
00:00:00.000 KEYWORD BuiltIn . Log   ${uri}
00:00:00.000 KEYWORD BuiltIn . Log   ${data}
00:00:00.000 KEYWORD BuiltIn . Log   ${content_type}
00:00:00.000 KEYWORD BuiltIn . Log   ${accept}
00:00:00.002 KEYWORD ${headers} = TemplatedRequests . Join_Two_Headers   first=${content_type} second=${accept}
00:00:00.019 IF """${http_timeout}""" == """${EMPTY}"""  
00:00:00.001 ELSE  
00:00:00.000 KEYWORD TemplatedRequests . Check_Status_Code   ${response} additional_allowed_status_codes=${additional_allowed_status_codes} explicit_status_codes=${explicit_status_codes}
00:00:00.000 IF not ${normalize_json}  
00:00:00.000 KEYWORD ${text_normalized} = norm_json . Normalize Json Text   ${response.text} jmes_path=${jmes_path}
00:00:00.000 RETURN   ${text_normalized}
00:00:00.000 RETURN   ${response_text}
00:00:00.000 RETURN   ${response_text}
00:00:00.000 KEYWORD BulkomaticKeywords . Wait Until Write Finishes   ${controller_index} ${timeout}
00:00:00.484 TEST Verify No Flows In Cluster After Leader Restart
00:00:11.088 TEST Get Inventory Follower Before follower Restart
00:00:00.425 TEST Start Mininet Connect To Follower Node2
00:00:00.412 TEST Add Bulk Flow From Follower Node2
00:00:00.522 TEST Get Bulk Flows and Verify In Cluster Before Follower Restart
00:01:41.030 TEST Verify Flows In Switch Before Follower Restart
00:00:00.376 TEST Kill Follower Node2
00:00:00.484 TEST Stop Mininet Connected To Follower Node2 and Exit
00:00:00.332 TEST Restart Follower Node2
00:05:51.070 TEST Verify Data Recovery After Follower Node2 Restart
00:00:00.419 TEST Start Mininet Again Connect To Follower Node2
00:01:41.035 TEST Verify Flows In Switch After Follower Node2 Restart
00:00:00.391 TEST Stop Mininet Connected To Follower Node2
00:00:00.365 TEST Delete All Flows From Follower Node 2
00:00:00.468 TEST Verify No Flows In Cluster After Follower Node2 Restart
00:00:08.056 SUITE Cluster Current Term Verification 3Node Cluster