| Library | resources.libraries.python.honeycomb.HcPersistence
| Library | resources.libraries.python.DUTSetup
| Library | resources.libraries.python.InterfaceUtil
+| Resource | resources/libraries/robot/shared/default.robot
*** Keywords ***
| Configure Honeycomb service on DUTs
| | ...
| | [Arguments] | @{duts}
| | Start honeycomb on DUTs | @{duts}
-| | Wait until keyword succeeds | 4min | 16sec
-| | ... | Check honeycomb startup state | @{duts}
-| | Sleep | 5s | Make sure all modules are loaded and ready.
+| | :FOR | ${dut} | IN | @{duts}
+| | | Check honeycomb startup state | @{duts}
+| | | Sleep | 5s | Make sure all modules are loaded and ready.
| Stop Honeycomb service on DUTs
| | [Documentation] | *Cleanup environment after honeycomb testing.*
| | ...
| | [Arguments] | @{duts}
| | Stop honeycomb on DUTs | @{duts}
-| | Wait until keyword succeeds | 60sec | 16sec
-| | ... | Check honeycomb shutdown state | @{duts}
+| | :FOR | ${dut} | IN | @{duts}
+| | | Wait until keyword succeeds | 60sec | 15sec
+| | | ... | Check honeycomb shutdown state | @{duts}
| Clear persisted Honeycomb configuration
| | [Documentation] | *Delete saved configuration.*
| | Setup DUT | ${node}
| | Sleep | 10s | Wait 10sec so VPP is up for sure.
| | Configure Honeycomb service on DUTs | ${node}
-| | Wait until keyword succeeds | 2min | 16sec
-| | ... | Check honeycomb startup state | ${node}
+| | Check honeycomb startup state | ${node} | timeout=120
| Archive Honeycomb log file
| | [Documentation] | Copy honeycomb.log file from Honeycomb node\
| | Copy ODL Client | ${node} | ${odl_name} | /mnt/common | /tmp
| | Setup ODL Client | ${node} | /tmp
| | Wait until keyword succeeds | 2min | 30sec
-| | ... | Install ODL Features | ${node} | /tmp
-| | Wait until keyword succeeds | 4min | 16sec
+| | ... | Install ODL Features | ${node} | ${odl_name} | /tmp
+| | Wait until keyword succeeds | 4min | 15sec
| | ... | Mount Honeycomb on ODL | ${node}
-| | Wait until keyword succeeds | 2min | 16sec
+| | Wait until keyword succeeds | 2min | 15sec
| | ... | Check ODL startup state | ${node}
-| | Wait until keyword succeeds | 2min | 16sec
-| | ... | Check honeycomb startup state | ${node}
+| | Check honeycomb startup state | ${node} | timeout=120
| Configure Honeycomb for functional testing
| | [Documentation] | Configure Honeycomb with parameters for functional
| | Configure Restconf binding address | ${node}
| | Configure Log Level | ${node} | TRACE
| | Configure Persistence | ${node} | disable
-| | Configure jVPP timeout | ${node} | ${14}
+| | Configure jVPP timeout | ${node} | ${10}
+| | Generate Honeycomb startup configuration for ODL test | ${node}
| | Clear Persisted Honeycomb Configuration | ${node}
| | Configure Honeycomb service on DUTs | ${node}
| | ... | \| Tear Down Honeycomb Functional Test Suite \| ${nodes['DUT1']} \|
| | ...
| | [Arguments] | ${node}
+| | Append suite to Honeycomb log file | ${node}
| | ${use_odl_client}= | Get Variable Value | ${HC_ODL}
| | Run Keyword If | '${use_odl_client}' != '${NONE}'
| | ... | Run Keywords
| | ... | Stop ODL Client | ${node} | /tmp | AND
-| | ... | Wait until keyword succeeds | 2min | 15sec
+| | ... | Wait until keyword succeeds | 3min | 15sec
| | ... | Check ODL shutdown state | ${node} | AND
| | ... | Set Global Variable | ${use_odl_client} | ${NONE}
| | Stop Honeycomb service on DUTs | ${node}
+| | Clear Honeycomb Log | ${node}
| | Stop VPP Service on DUT | ${node}
| Enable Honeycomb Feature
| | [arguments] | ${node} | ${feature}
| | Manage Honeycomb Features | ${node} | ${feature} | disable=${True}
-| Stop VPP Service on DUT
-| | [Documentation] | Stop the VPP service on the specified node.
-| | ...
-| | ... | *Arguments:*
-| | ... | - node - information about a DUT node. Type: dictionary
-| | ...
-| | ... | *Example:*
-| | ...
-| | ... | \| Stop VPP Service on DUT \| ${nodes['DUT1']} \|
-| | ...
-| | [Arguments] | ${node}
-| | Stop VPP Service | ${node}
-
| Honeycomb Performance Suite Setup Generic
| | [Documentation] | Generic test suite setup for Honeycomb performance tests.
| | ... | Performs multiple attempts to start Honeycomb+VPP stack.
| | ...
| | [Arguments] | ${node}
| | Log Honeycomb and VPP process distribution on cores | ${node}
+| | Append suite to Honeycomb log file | ${node}
| | Stop Honeycomb service on DUTs | ${node}
+| | Clear Honeycomb Log | ${node}
| | Stop VPP Service on DUT | ${node}
+
+| Append suite to Honeycomb log file
+| | [Documentation] | Add the contents of honeycomb.log for the current suite\
+| | ... | to the full log which will be archived.
+| | ...
+| | ... | *Arguments:*
+| | ... | - node - information about a DUT node. Type: dictionary
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Append suite to Honeycomb log file \| ${nodes['DUT1']} \|
+| | ...
+| | [Arguments] | ${node}
+| | Append Honeycomb log | ${node} | ${SUITE_NAME}
+
+| Generate Honeycomb startup configuration for ODL test
+| | [Documentation] | Create HC startup configuration and apply to config
+| | ... | file on DUT. Requires Honeycomb restart to take effect.
+| | ...
+| | ... | *Arguments:*
+| | ... | - node - Honeycomb node. Type: dictionary
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Generate Honeycomb startup configuration for ODL test \
+| | ... | \| ${nodes[DUT1]} \|
+| | ...
+| | [Arguments] | ${node}
+| | Import Library | resources.libraries.python.honeycomb.HoneycombSetup.HoneycombStartupConfig
+| | ... | WITH NAME | HC_config
+| | Run Keyword | HC_config.Set SSH Security provider
+| | Run Keyword | HC_config.Set Memory Size | ${32}
+| | Run Keyword | HC_config.Set Metaspace Size | ${32}
+| | Run Keyword | HC_config.Apply config | ${node}
\ No newline at end of file