X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Flibraries%2Frobot%2Fhoneycomb%2Fhoneycomb.robot;h=336039e1fb974319ad6802cc329924b882d2d235;hp=741807877dd3eb39788f6ef5fb0f18ec10a716eb;hb=df228e1794d4a5a1c3028e1e214731b5f0450b99;hpb=26f067d4fb5a37eb4fe2eaf25b5113599cee1b90 diff --git a/resources/libraries/robot/honeycomb/honeycomb.robot b/resources/libraries/robot/honeycomb/honeycomb.robot index 741807877d..336039e1fb 100644 --- a/resources/libraries/robot/honeycomb/honeycomb.robot +++ b/resources/libraries/robot/honeycomb/honeycomb.robot @@ -1,4 +1,4 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. +# Copyright (c) 2017 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -12,13 +12,13 @@ # limitations under the License. *** Settings *** -| Library | resources/libraries/python/HoneycombSetup.py -| Library | resources/libraries/python/HoneycombUtil.py -| Library | resources/libraries/python/HTTPRequest.py +| Library | resources/libraries/python/honeycomb/HoneycombSetup.py +| Library | resources/libraries/python/honeycomb/HoneycombUtil.py +| Library | resources/libraries/python/honeycomb/HcPersistence.py *** Keywords *** | Setup Honeycomb service on DUTs -| | [Documentation] | *Setup environment for honeycomb testing* +| | [Documentation] | *Setup environment for honeycomb testing.* | | ... | | ... | _Setup steps:_ | | ... | - 1. Login to each honeycomb node using ssh @@ -28,18 +28,20 @@ | | ... | connection refused -> 404 -> 401 -> 503 or 500 -> 200 (pass) | | ... | - 4. Configure honeycomb nodes using HTTP PUT request | | ... +| | ... | _Arguments:_ +| | ... | - duts - list of nodes to setup Honeycomb on +| | ... | | ... | _Used global constants and variables:_ | | ... | - RESOURCES_TPL_HC - path to honeycomb templates directory | | ... | - HTTPCodes - HTTP protocol status codes -| | ... | - ${nodes} - dictionary of all nodes in topology.YAML file | | ... | | [Arguments] | @{duts} | | Start honeycomb on DUTs | @{duts} -| | Wait until keyword succeeds | 4min | 20sec +| | Wait until keyword succeeds | 4min | 16sec | | ... | Check honeycomb startup state | @{duts} | Stop honeycomb service on DUTs -| | [Documentation] | *Cleanup environment after honeycomb testing* +| | [Documentation] | *Cleanup environment after honeycomb testing.* | | ... | | ... | _Teardown steps:_ | | ... | - 1. Login to each honeycomb node using ssh @@ -48,12 +50,80 @@ | | ... | Expected sequence of HTTP replies: | | ... | 200 -> 404 -> connection refused (pass) | | ... +| | ... | _Arguments:_ +| | ... | - duts - list of nodes to stop Honeycomb on +| | ... | | ... | _Used global constants and variables:_ | | ... | - RESOURCES_TPL_HC - path to honeycomb templates directory | | ... | - HTTPCodes - HTTP protocol status codes -| | ... | - ${nodes} - dictionary of all nodes in topology.YAML file | | ... | | [Arguments] | @{duts} | | Stop honeycomb on DUTs | @{duts} -| | Wait until keyword succeeds | 2m | 10s +| | Wait until keyword succeeds | 60sec | 16sec | | ... | Check honeycomb shutdown state | @{duts} + +| Clear persisted Honeycomb configuration +| | [Documentation] | *Delete saved configuration.* +| | ... +| | ... | *Arguments:* +| | ... | - duts - one or more nodes to clear persistence on. Type: dictionary +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Clear persisted Honeycomb configuration \| ${nodes['DUT1']} \| +| | [Arguments] | @{duts} +| | Clear persisted Honeycomb config | @{duts} + +| Restart Honeycomb and VPP and clear persisted configuration +| | [Documentation] | Restarts Honeycomb and VPP with default configuration. +| | ... +| | ... | *Arguments:* +| | ... | - node - information about a DUT node. Type: dictionary +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Restart Honeycomb and VPP and clear persisted configuration \ +| | ... | \| ${nodes['DUT1']} \| +| | [Arguments] | ${node} +| | Log | Performing clean restart of Honeycomb and VPP. | console=True +| | Stop Honeycomb service on DUTs | ${node} +| | Clear persisted Honeycomb configuration | ${node} +| | Setup DUT | ${node} +| | Setup Honeycomb service on DUTs | ${node} + +| Restart Honeycomb and VPP +| | [Documentation] | Restarts Honeycomb service and wait until it starts up. +| | ... +| | ... | *Arguments:* +| | ... | - node - information about a DUT node. Type: dictionary +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Restart Honeycomb and VPP \| ${nodes['DUT1']} \| +| | [Arguments] | ${node} +| | Log | Performing clean restart of Honeycomb and VPP. | console=True +| | Restart Honeycomb and VPP on DUTs | ${node} +| | Wait until keyword succeeds | 4min | 16sec +| | ... | Check honeycomb startup state | ${node} + +| Archive Honeycomb log file +| | [Documentation] | Copy honeycomb.log file from Honeycomb node\ +| | ... | to test executor. +| | ... | *Arguments:* +| | ... | - node - information about a DUT node. Type: dictionary +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Archive Honeycomb log file \| ${nudes['DUT1']} \| +| | [Arguments] | ${node} +| | Archive Honeycomb log | ${node} + +| Setup ODL Client Service On DUT +| | [Arguments] | ${node} | ${odl_name} +| | Setup ODL client | ${node} | ${odl_name} +| | Wait until keyword succeeds | 4min | 16sec +| | ... | Mount Honeycomb on ODL | ${node} +| | Wait until keyword succeeds | 2min | 16sec +| | ... | Check ODL startup state | ${node} +| | Wait until keyword succeeds | 2min | 16sec +| | ... | Check honeycomb startup state | ${node}