forked from TrueCloudLab/frostfs-testcases
robot/resources/lib/python
-> robot/resources/lib/python_keywords
Signed-off-by: anastasia prasolova <anastasia@nspcc.ru>
This commit is contained in:
parent
a97e1ee1e9
commit
3e31c527d2
17 changed files with 1 additions and 1 deletions
47
robot/resources/lib/python_keywords/nodes_management.py
Normal file
47
robot/resources/lib/python_keywords/nodes_management.py
Normal file
|
@ -0,0 +1,47 @@
|
|||
#!/usr/bin/python3
|
||||
|
||||
"""
|
||||
This module contains keywords for management test stand
|
||||
nodes. It assumes that nodes are docker containers.
|
||||
"""
|
||||
|
||||
import random
|
||||
|
||||
import docker
|
||||
|
||||
from robot.api.deco import keyword
|
||||
|
||||
ROBOT_AUTO_KEYWORDS = False
|
||||
|
||||
@keyword('Stop Nodes')
|
||||
def stop_nodes(number: int, nodes: list):
|
||||
"""
|
||||
The function shuts down the given number of randomly
|
||||
selected nodes in docker.
|
||||
Args:
|
||||
number (int): the number of nodes to shut down
|
||||
nodes (list): the list of nodes for possible shut down
|
||||
Returns:
|
||||
(list): the list of nodes which have been shut down
|
||||
"""
|
||||
nodes = random.sample(nodes, number)
|
||||
client = docker.APIClient()
|
||||
for node in nodes:
|
||||
node = node.split('.')[0]
|
||||
client.stop(node)
|
||||
return nodes
|
||||
|
||||
|
||||
@keyword('Start Nodes')
|
||||
def start_nodes(nodes: list):
|
||||
"""
|
||||
The function raises the given nodes.
|
||||
Args:
|
||||
nodes (list): the list of nodes to raise
|
||||
Returns:
|
||||
(void)
|
||||
"""
|
||||
client = docker.APIClient()
|
||||
for node in nodes:
|
||||
node = node.split('.')[0]
|
||||
client.start(node)
|
Loading…
Add table
Add a link
Reference in a new issue