diff options
Diffstat (limited to 'opendc')
| -rw-r--r-- | opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt b/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt index ed971df5..e6fd5a3a 100644 --- a/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt +++ b/opendc/opendc-experiments-sc20/src/main/kotlin/com/atlarge/opendc/experiments/sc20/TestExperiment.kt @@ -72,6 +72,7 @@ class ExperimentParameters(parser: ArgParser) { parseVMs(FileReader(File(this)).readText()) } .default { emptyList() } + val failures by parser.flagging("-x", "--failures", help = "enable (correlated) machine failures") fun getSelectedVmList(): List<String> { return if (selectedVms.isEmpty()) { @@ -179,14 +180,17 @@ fun main(args: Array<String>) { .launchIn(this) } - root.newDomain(name = "failures").launch { - chan.receive() - val injectors = mutableMapOf<String, FaultInjector>() + if (failures) { + println("ENABLE Failures") + root.newDomain(name = "failures").launch { + chan.receive() + val injectors = mutableMapOf<String, FaultInjector>() - for (node in bareMetalProvisioner.nodes()) { - val cluster = node.metadata[NODE_CLUSTER] as String - val injector = injectors.getOrPut(cluster) { createFaultInjector(simulationContext.domain) } - injector.enqueue(node.metadata["driver"] as FailureDomain) + for (node in bareMetalProvisioner.nodes()) { + val cluster = node.metadata[NODE_CLUSTER] as String + val injector = injectors.getOrPut(cluster) { createFaultInjector(simulationContext.domain) } + injector.enqueue(node.metadata["driver"] as FailureDomain) + } } } |
