The testing process involves multiple modules that perform different tasks. Themodules and their APIs are listed below.
Governs the whole testing process. Runs different workloads during differenttroubles.
Puts workloads against the database. Writes logs that are later used byvalideaux.
start(id, workload, cluster) - starts aworkload against theclusterand call itid.stop(id) - stops a previously started workload calledid.
Manages the database nodes.
deploy(driver, ...) - deploys a cluster using the specifieddriver andother parameters specific to that driver. Returns acluster instance that isused in other methods.- `
This is the troublemaker that messes with the network, nodes and time.
cause(cluster, trouble) - causes the specifiedtrouble in 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 withtrouble vsworkload axes.