The testing process involves multiple modules that perform different tasks. The modules and their APIs are listed below.
Governs the whole testing process. Runs different workloads during different troubles.
Puts workloads against the database. Writes logs that are later used by
valideaux.
start(id, workload, cluster)- starts aworkloadagainst theclusterand call itid.stop(id)- stops a previously started workload calledid.
Manages the database nodes.
deploy(driver, ...)- deploys a cluster using the specifieddriverand other parameters specific to that driver. Returns aclusterinstance that is used in other methods.- `
This is the troublemaker that messes with the network, nodes and time.
cause(cluster, trouble)- causes the specifiedtroublein the specifiedcluster.fix(cluster)- fixes all troubles caused in thecluster.
Validates the logs of stresseaux.
Generates reports on the test results. This is usually a table that with
trouble vs workload axes.