Using DEVICE_COUNT in NetconfKeywords is not kosher because
that variable is declared in the scaling test suite that uses
the NetconfKeywords resource and thus this dependency is not
obvious. If another suite that does not declare DEVICE_COUNT
tries to use Perform_Operation_On_Each_Device, the keyword
will mysteriously fail on "DEVICE_COUNT variable was not
found".
The fix stores the count on devices in
Deploy_And_Start_Testtool keyword and uses this stored count
in Perform_Operation_On_Each_Device.
Change-Id: If187d3fd0a1cb426beeeb4db3077e07377e7228d
Signed-off-by: Jozef Behran <jbehran@cisco.com>
# Wait for the testtool to boot up.
${timeout}= BuiltIn.Evaluate (${device-count}/3)+5
BuiltIn.Wait_Until_Keyword_Succeeds ${timeout}s 1s NetconfKeywords__Check_Device_Is_Up ${FIRST_TESTTOOL_PORT}
# Wait for the testtool to boot up.
${timeout}= BuiltIn.Evaluate (${device-count}/3)+5
BuiltIn.Wait_Until_Keyword_Succeeds ${timeout}s 1s NetconfKeywords__Check_Device_Is_Up ${FIRST_TESTTOOL_PORT}
+ # Store information needed by other keywords.
+ BuiltIn.Set_Suite_Variable ${NetconfKeywords__testtool_device_count} ${device-count}
Check_Device_Up_And_Running
[Arguments] ${device-number}
Check_Device_Up_And_Running
[Arguments] ${device-number}
BuiltIn.Set_Suite_Variable ${current_port} ${next}
Perform_Operation_On_Each_Device
BuiltIn.Set_Suite_Variable ${current_port} ${next}
Perform_Operation_On_Each_Device
- [Arguments] ${operation} ${count}=${DEVICE_COUNT} ${timeout}=30m
+ [Arguments] ${operation} ${count}=${NetconfKeywords__testtool_device_count} ${timeout}=30m
${current_Date}= DateTime.Get_Current_Date
${deadline_Date}= DateTime.Add_Time_To_Date ${current_Date} ${timeout}
BuiltIn.Set_Suite_Variable ${current_port} ${BASE_NETCONF_DEVICE_PORT}
${current_Date}= DateTime.Get_Current_Date
${deadline_Date}= DateTime.Add_Time_To_Date ${current_Date} ${timeout}
BuiltIn.Set_Suite_Variable ${current_port} ${BASE_NETCONF_DEVICE_PORT}