CSIT-441 vhost - Parametrized qemu install
[csit.git] / resources / libraries / robot / qemu.robot
index e26f9aa..5d1e3d5 100644 (file)
@@ -12,7 +12,7 @@
 # limitations under the License.
 *** Settings ***
 | Library | resources.libraries.python.QemuUtils
-| Library | Collections
+| Library | resources.libraries.python.ssh.SSH
 
 *** Keywords ***
 
 | Build QEMU on Node
 | | [Documentation] | Build QEMU from sources on the Node. Nodes with successful
 | | ...             | QEMU build are stored in global variable list QEMU_BUILD
-| | [Arguments] | ${node}
+| | ...
+| | ... | *Arguments:*
+| | ... | - node - Node on which to build qemu. Type: dictionary
+| | ... | - force_install - If True, then remove previous build. Type: bool
+| | ... | - apply_patch - If True, then apply patches from qemu_patches dir.
+| | ... | Type: bool
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Build QEMU on Node \| ${node['DUT1']} \| False \| False \|
+| | ...
+| | [Arguments] | ${node} | ${force_install}=${False} | ${apply_patch}=${False}
 | | ${ready}= | Is QEMU Ready on Node | ${node}
 | | Return From Keyword If | ${ready} == ${TRUE}
 | | Build QEMU | ${node}
 | | Add Node to QEMU Build List | ${node}
+
+| Build QEMU on all DUTs
+| | [Documentation] | Build QEMU from sources on all DUTs. Nodes with successful
+| | ...             | QEMU build are stored in global variable list QEMU_BUILD
+| | ...
+| | ... | *Arguments:*
+| | ... | - force_install - If True, then remove previous build. Type: bool
+| | ... | - apply_patch - If True, then apply patches from qemu_patches dir.
+| | ... | Type: bool
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Build QEMU on all DUTs \| False \| False \|
+| | ...
+| | [Arguments] | ${force_install}=${False} | ${apply_patch}=${False}
+| | ${duts}= | Get Matches | ${nodes} | DUT*
+| | :FOR | ${dut} | IN | @{duts}
+| | | Build QEMU on Node | ${nodes['${dut}']} | ${force_install} |
+| | | ... | ${apply_patch}
+
+| Stop and Clear QEMU
+| | [Documentation] | Stop QEMU, clear used sockets and close SSH connection
+| | ...             | running on ${dut}, ${vm} is VM node info dictionary
+| | ...             | returned by qemu_start or None.
+| | [Arguments] | ${dut} | ${vm}
+| | Qemu Set Node | ${dut}
+| | Qemu Kill
+| | Qemu Clear Socks
+| | Run Keyword If | ${vm} is not None | Disconnect | ${vm}
+
+| Kill Qemu on all DUTs
+| | [Documentation] | Kill QEMU processes on all DUTs.
+| | ${duts}= | Get Matches | ${nodes} | DUT*
+| | :FOR | ${dut} | IN | @{duts}
+| | | Qemu Set Node | ${nodes['${dut}']}
+| | | Qemu Kill