Execute Docker Bench against all target node parallel instead of
testing them one by one. This way the total execution time does not
depend on the number of nodes to be tested.
Change-Id: I9a8005f76ebe86c659ec82debe26a55940917028
Signed-off-by: Juha Kosonen <juha.kosonen@nokia.com>
*** Settings ***
Library BuiltIn
*** Settings ***
Library BuiltIn
Library OperatingSystem
Library Process
Library SSHLibrary
Library OperatingSystem
Library Process
Library SSHLibrary
Copy Test Software To All Nodes
Run Test Software On Nodes
Copy Test Software To All Nodes
Run Test Software On Nodes
- :FOR ${node} IN @{nodes}
- \ Execute Command ssh ${SSH_OPTS} ${node} "cd ${NODEDIR}; sudo ./docker-bench-security.sh -b -l bench.log"
- \ Execute Command scp ${SSH_OPTS} ${node}:${NODEDIR}/bench.log ${DESTDIR}/docker-bench-${node}.log
- \ Execute Command scp ${SSH_OPTS} ${node}:${NODEDIR}/bench.log.json ${DESTDIR}/docker-bench-${node}.json
- \ SSHLibrary.Get File ${DESTDIR}/docker-bench-${node}.log ${REPORTDIR}/
- \ SSHLibrary.Get File ${DESTDIR}/docker-bench-${node}.json ${REPORTDIR}/
+ FOR ${node} IN @{nodes}
+ Start Command ssh ${SSH_OPTS} ${node} "cd ${NODEDIR}; sudo ./docker-bench-security.sh -b -l bench.log"
+ END
+ @{tmp}= Copy List ${nodes}
+ Reverse List ${tmp}
+ FOR ${node} IN @{tmp}
+ Read Command Output return_stdout=False
+ Execute Command scp ${SSH_OPTS} ${node}:${NODEDIR}/bench.log ${DESTDIR}/docker-bench-${node}.log
+ Execute Command scp ${SSH_OPTS} ${node}:${NODEDIR}/bench.log.json ${DESTDIR}/docker-bench-${node}.json
+ SSHLibrary.Get File ${DESTDIR}/docker-bench-${node}.log ${REPORTDIR}/
+ SSHLibrary.Get File ${DESTDIR}/docker-bench-${node}.json ${REPORTDIR}/
+ END
Get Node Addresses
${stdout}= Execute Command
Get Node Addresses
${stdout}= Execute Command
Set Test Variable @{nodes}
Copy Test Software To All Nodes
Set Test Variable @{nodes}
Copy Test Software To All Nodes
- :FOR ${node} IN @{nodes}
- \ Execute Command ssh ${SSH_OPTS} ${node} "mkdir -p ${NODEDIR}"
- \ Execute Command scp ${SSH_OPTS} -rp ${DESTDIR}/. ${node}:${NODEDIR}
+ FOR ${node} IN @{nodes}
+ Execute Command ssh ${SSH_OPTS} ${node} "mkdir -p ${NODEDIR}"
+ Execute Command scp ${SSH_OPTS} -rp ${DESTDIR}/. ${node}:${NODEDIR}
+ END
Remove Test Software From Nodes
Remove Test Software From Nodes
- :FOR ${node} IN @{nodes}
- \ Execute Command ssh ${SSH_OPTS} ${node} "rm -rf ${NODEDIR}"
+ FOR ${node} IN @{nodes}
+ Execute Command ssh ${SSH_OPTS} ${node} "rm -rf ${NODEDIR}"
+ END
Execute Command rm -rf ${DESTDIR}
Execute Command rm -rf ${DESTDIR}