From 58d4ae5c152aac53d66f91a7d322b807db48b943 Mon Sep 17 00:00:00 2001 From: Fabian Mastenbroek Date: Mon, 30 Mar 2020 15:32:40 +0200 Subject: feat: Add flag for enabling failures --- .../atlarge/opendc/experiments/sc20/TestExperiment.kt | 18 +++++++++++------- 1 file 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 { return if (selectedVms.isEmpty()) { @@ -179,14 +180,17 @@ fun main(args: Array) { .launchIn(this) } - root.newDomain(name = "failures").launch { - chan.receive() - val injectors = mutableMapOf() + if (failures) { + println("ENABLE Failures") + root.newDomain(name = "failures").launch { + chan.receive() + val injectors = mutableMapOf() - 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) + } } } -- cgit v1.2.3