blob: cac893c43c7eae40d913211e696eea3cf5207072 [file] [log] [blame]
koder aka kdanilov22d134e2016-11-08 11:33:19 +02001from typing import List, Callable, Any, Dict, Optional
2from concurrent.futures import ThreadPoolExecutor
3
4
5from .timeseries import SensorDatastore
koder aka kdanilov3d2bc4f2016-11-12 18:31:18 +02006from .node_interfaces import NodeInfo, IRPCNode, RPCBeforeConnCallback
7from .start_vms import OSCreds, NovaClient, CinderClient
8from .storage import Storage
koder aka kdanilov22d134e2016-11-08 11:33:19 +02009from .config import Config
10
11
koder aka kdanilov3b4da8b2016-10-17 00:17:53 +030012class TestRun:
13 """Test run information"""
koder aka kdanilov3d2bc4f2016-11-12 18:31:18 +020014 def __init__(self, config: Config, storage: Storage):
koder aka kdanilov3b4da8b2016-10-17 00:17:53 +030015 # NodesInfo list
koder aka kdanilov3d2bc4f2016-11-12 18:31:18 +020016 self.nodes_info = [] # type: List[NodeInfo]
koder aka kdanilov3b4da8b2016-10-17 00:17:53 +030017
18 # Nodes list
koder aka kdanilov3d2bc4f2016-11-12 18:31:18 +020019 self.nodes = [] # type: List[IRPCNode]
koder aka kdanilov3b4da8b2016-10-17 00:17:53 +030020
koder aka kdanilov22d134e2016-11-08 11:33:19 +020021 self.build_meta = {} # type: Dict[str,Any]
22 self.clear_calls_stack = [] # type: List[Callable[['TestRun'], None]]
koder aka kdanilov3b4da8b2016-10-17 00:17:53 +030023 self.sensors_mon_q = None
24
25 # openstack credentials
koder aka kdanilov22d134e2016-11-08 11:33:19 +020026 self.fuel_openstack_creds = None # type: Optional[OSCreds]
koder aka kdanilov3d2bc4f2016-11-12 18:31:18 +020027 self.os_creds = None # type: Optional[OSCreds]
28 self.nova_client = None # type: Optional[NovaClient]
29 self.cinder_client = None # type: Optional[CinderClient]
koder aka kdanilov3b4da8b2016-10-17 00:17:53 +030030
koder aka kdanilov22d134e2016-11-08 11:33:19 +020031 self.storage = storage
32 self.config = config
33 self.sensors_data = SensorDatastore()
34
koder aka kdanilov3d2bc4f2016-11-12 18:31:18 +020035 self.before_conn_callback = None # type: RPCBeforeConnCallback
36
koder aka kdanilov22d134e2016-11-08 11:33:19 +020037 def get_pool(self):
38 return ThreadPoolExecutor(self.config.get('worker_pool_sz', 32))
koder aka kdanilov3b4da8b2016-10-17 00:17:53 +030039