[INTTEST-125] Improve csit/suites/netconf/scale/max_devices.robot Created: 26/Jan/21 Updated: 17/Aug/21 |
|
| Status: | Confirmed |
| Project: | integration-test |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | High |
| Reporter: | Robert Varga | Assignee: | Tomas Cere |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | pt | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Description |
|
This drives https://jenkins.opendaylight.org/releng/view/netconf/job/netconf-csit-1node-scale-max-devices-only-aluminium/ and does a lot of ineffecient things:
If it's not possible to setup or tear down with a single request, it should be done using parallel threads. |
| Comments |
| Comment by Robert Varga [ 12/Aug/21 ] |
|
This is hurting us quite bad, as we https://jenkins.opendaylight.org/releng/job/netconf-csit-1node-scale-max-devices-only-silicon/ takes almost 8 hours to complete (and then barfs on parsing RF logs). |
| Comment by Robert Varga [ 12/Aug/21 ] |
|
The problem really is this block:
${status} ${result} = Run Keyword And Ignore Error NetconfKeywords.Perform_Operation_On_Each_Device NetconfKeywords.Configure_Device timeout=${timeout}
Exit For Loop If '${status}' == 'FAIL'
${status} ${result} = Run Keyword And Ignore Error NetconfKeywords.Perform_Operation_On_Each_Device NetconfKeywords.Wait_Connected timeout=${timeout} log_response=False
Exit For Loop If '${status}' == 'FAIL'
${status} ${result} = Run Keyword And Ignore Error Issue_Requests_On_Devices ${TOOLS_SYSTEM_IP} ${devices} ${NUM_WORKERS}
Exit For Loop If '${status}' == 'FAIL'
${status} ${result} = Run Keyword And Ignore Error NetconfKeywords.Perform_Operation_On_Each_Device NetconfKeywords.Wait_Connected timeout=${timeout} log_response=False
Exit For Loop If '${status}' == 'FAIL'
${status} ${result} = Run Keyword And Ignore Error NetconfKeywords.Perform_Operation_On_Each_Device NetconfKeywords.Deconfigure_Device timeout=${timeout} log_response=False
Exit For Loop If '${status}' == 'FAIL'
${status} ${result} = Run Keyword And Ignore Error NetconfKeywords.Perform_Operation_On_Each_Device Check_Device_Deconfigured timeout=${timeout} log_response=False
i.e. rather than using a combo of 'Perform_Operation_On_Each_Device' plus:
|
| Comment by Robert Varga [ 12/Aug/21 ] |
|
I think the best approach is to provide a python library to handle the three use cases and map it into RF as keywords. |
| Comment by Robert Varga [ 17/Aug/21 ] |
|
Okay, the patch has a functioning library, but we need rollout of |