X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=csit%2Flibraries%2FClusterManagement.robot;h=bac88b7dcf2c5c52b3e04b1e9245071e47fb6987;hb=d52fbd78f0ebe9674aa5506faf8f272f76031c71;hp=89d2f3371115e28b37f7f0a95058f4882226805e;hpb=31132e403383ddec92862b5ccc35e6adb640a305;p=integration%2Ftest.git diff --git a/csit/libraries/ClusterManagement.robot b/csit/libraries/ClusterManagement.robot index 89d2f33711..bac88b7dcf 100644 --- a/csit/libraries/ClusterManagement.robot +++ b/csit/libraries/ClusterManagement.robot @@ -54,6 +54,8 @@ ${SINGLETON_NETCONF_DEVICE_ID_PREFIX} /odl-general-entity:entity[odl-general- ${SINGLETON_NETCONF_DEVICE_ID_SUFFIX} ]]]]}'] ${SINGLETON_BGPCEP_DEVICE_ID_PREFIX} /odl-general-entity:entity[odl-general-entity:name=' ${SINGLETON_BGPCEP_DEVICE_ID_SUFFIX} -service-group'] +${SINGLETON_SXP_DEVICE_ID_PREFIX} /odl-general-entity:entity[odl-general-entity:name=' +${SINGLETON_SXP_DEVICE_ID_SUFFIX} '] ${SINGLETON_ELECTION_ENTITY_TYPE} org.opendaylight.mdsal.ServiceEntityType ${SINGLETON_CHANGE_OWNERSHIP_ENTITY_TYPE} org.opendaylight.mdsal.AsyncServiceCloseEntityType ${NODE_ROLE_INDEX_START} 1 @@ -98,19 +100,6 @@ Get_Sync_Status_Of_Member ${oper_status} = ClusterManagement__Parse_Sync_Status shard_manager_text=${oper_text} [Return] ${oper_status} -Dump_Local_Shards_For_Each_Member - [Arguments] ${member_index_list}=${EMPTY} - [Documentation] Obtain IP, two GETs from jolokia URIs, return combined local shard list - ${index_list} = List_Indices_Or_All given_list=${member_index_list} - : FOR ${member_index} IN @{index_list} # usually: 1, 2, 3. - \ ${session} = Resolve_Http_Session_For_Member member_index=${member_index} - \ ${conf_shard_list} = Wait Until Keyword Succeeds 60 2 TemplatedRequests.Get_As_Json_From_Uri uri=${JOLOKIA_CONFIG_LOCAL_SHARDS_URI} - \ ... session=${session} - \ Log ${conf_shard_list} - \ ${oper_shard_list} = Wait Until Keyword Succeeds 60 2 TemplatedRequests.Get_As_Json_From_Uri uri=${JOLOKIA_OPER_LOCAL_SHARDS_URI} - \ ... session=${session} - \ Log ${oper_shard_list} - Verify_Leader_Exists_For_Each_Shard [Arguments] ${shard_name_list} ${shard_type}=operational ${member_index_list}=${EMPTY} ${verify_restconf}=True [Documentation] For each shard name, call Get_Leader_And_Followers_For_Shard. @@ -293,6 +282,21 @@ Get_Owner_And_Candidates_For_Device_Singleton_Bgpcep BuiltIn.Should_Be_Equal_As_Integers ${owner_1} ${owner_2} Owners for device ${device_name} are not same [Return] ${owner_1} ${candidate_list_1} +Get_Owner_And_Candidates_For_Device_Singleton_Sxp + [Arguments] ${device_name} ${member_index} ${http_timeout}=${EMPTY} + [Documentation] Returns the owner and a list of candidates for the SB device ${device_name}. Request is sent to member ${member_index}. + # Get election entity type results + ${type} = BuiltIn.Set_Variable ${SINGLETON_ELECTION_ENTITY_TYPE} + ${id} = BuiltIn.Set_Variable ${SINGLETON_SXP_DEVICE_ID_PREFIX}${device_name}${SINGLETON_SXP_DEVICE_ID_SUFFIX} + ${owner_1} ${candidate_list_1} = Get_Owner_And_Candidates_For_Type_And_Id ${type} ${id} ${member_index} http_timeout=${http_timeout} + # Get change ownership entity type results + ${type} = BuiltIn.Set_Variable ${SINGLETON_CHANGE_OWNERSHIP_ENTITY_TYPE} + ${id} = BuiltIn.Set_Variable ${SINGLETON_SXP_DEVICE_ID_PREFIX}${device_name}${SINGLETON_SXP_DEVICE_ID_SUFFIX} + ${owner_2} ${candidate_list_2} = Get_Owner_And_Candidates_For_Type_And_Id ${type} ${id} ${member_index} http_timeout=${http_timeout} + # Owners must be same, if not, there is still some election or change ownership in progress + BuiltIn.Should_Be_Equal_As_Integers ${owner_1} ${owner_2} Owners for device ${device_name} are not same + [Return] ${owner_1} ${candidate_list_1} + Get_Owner_And_Candidates_For_Device [Arguments] ${device_name} ${device_type} ${member_index} ${http_timeout}=${EMPTY} [Documentation] Returns the owner and a list of candidates for the SB device ${device_name} of type ${device_type}. Request is sent to member ${member_index}. @@ -439,13 +443,14 @@ Stop_Members_From_List_Or_All [Return] ${updated_index_list} Start_Single_Member - [Arguments] ${member} ${wait_for_sync}=True ${timeout}=300s + [Arguments] ${member} ${wait_for_sync}=True ${timeout}=300s ${check_system_status}=False ${service_list}=@{EMPTY} [Documentation] Convenience keyword that starts the specified member of the cluster. ${index_list} = ClusterManagement__Build_List ${member} - Start_Members_From_List_Or_All ${index_list} ${wait_for_sync} ${timeout} + Start_Members_From_List_Or_All ${index_list} ${wait_for_sync} ${timeout} check_system_status=${check_system_status} service_list=@{service_list} Start_Members_From_List_Or_All [Arguments] ${member_index_list}=${EMPTY} ${wait_for_sync}=True ${timeout}=300s ${karaf_home}=${EMPTY} ${export_java_home}=${EMPTY} ${gc_log_dir}=${EMPTY} + ... ${check_system_status}=False ${service_list}=@{EMPTY} [Documentation] If the list is empty, start all cluster members. Otherwise, start members based on present indices. ... If ${wait_for_sync}, wait for cluster sync on listed members. ... Optionally karaf_home can be overriden. Optionally specific JAVA_HOME is used for starting. @@ -458,7 +463,8 @@ Start_Members_From_List_Or_All Run_Bash_Command_On_List_Or_All command=${command} ${gc_options} member_index_list=${member_index_list} BuiltIn.Return_From_Keyword_If not ${wait_for_sync} BuiltIn.Wait_Until_Keyword_Succeeds ${timeout} 10s Check_Cluster_Is_In_Sync member_index_list=${member_index_list} - # TODO: Do we also want to check Shard Leaders here? + BuiltIn.Return_From_Keyword_If not ${check_system_status} + CompareStream.Run_Keyword_If_At_Least_Oxygen Wait Until Keyword Succeeds 60 2 ClusterManagement.Check Status Of Services Is OPERATIONAL @{service_list} [Teardown] Run_Bash_Command_On_List_Or_All command=netstat -pnatu | grep 2550 Freeze_Single_Member @@ -856,7 +862,7 @@ Check Service Status : FOR ${service} IN @{service_list} \ BuiltIn.Should Match Regexp ${service_status_output} ${service} +: ${service_state} -Check Status of Services +Check Status Of Services Is OPERATIONAL [Arguments] @{service_list} [Documentation] This keyword will verify whether all the services are operational in all the ODL nodes : FOR ${i} IN RANGE ${NUM_ODL_SYSTEM}