diff options
| author | Georgios Andreadis <g.andreadis@student.tudelft.nl> | 2020-03-12 09:34:17 +0100 |
|---|---|---|
| committer | Georgios Andreadis <g.andreadis@student.tudelft.nl> | 2020-03-12 09:34:17 +0100 |
| commit | a84c548300ad5e58eb3d5067e6ded4bea26828ff (patch) | |
| tree | 0baf82ea28ea98bbbbfa24f623c6ebb5a34ed81e | |
| parent | 7665c089ac44166f284d5757087ea1e7b3bc0a2d (diff) | |
| parent | b8b1e64c957671890ba4cacfaf9d26e5d1b2c812 (diff) | |
Merge branch '2.x-single-quote-fix' into '2.x'
Fix edge case where selected VM list contains an escaped single quote in a VM name
See merge request opendc/opendc-simulator!40
2 files changed, 11 insertions, 2 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 f5c98160..ffdf0529 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 @@ -53,7 +53,11 @@ class ExperimentParameters(parser: ArgParser) { val outputFile by parser.storing("path to where the output should be stored") .default { "sc20-experiment-results.csv" } val selectedVms by parser.storing("the VMs to run") { - val vms: List<String> = jacksonObjectMapper().readValue(this.replace('\'', '"')) + // Handle case where VM list contains a VM name with an (escaped) single-quote in it + val string = this.replace("\\'", "\\\\[") + .replace("'", "\"") + .replace("\\\\[", "'") + val vms: List<String> = jacksonObjectMapper().readValue(string) vms } .default { diff --git a/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/environment/sc20/Sc20ClusterEnvironmentReader.kt b/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/environment/sc20/Sc20ClusterEnvironmentReader.kt index 2b35f9ca..ae0ba550 100644 --- a/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/environment/sc20/Sc20ClusterEnvironmentReader.kt +++ b/opendc/opendc-format/src/main/kotlin/com/atlarge/opendc/format/environment/sc20/Sc20ClusterEnvironmentReader.kt @@ -29,6 +29,7 @@ import com.atlarge.opendc.compute.core.MemoryUnit import com.atlarge.opendc.compute.core.ProcessingNode import com.atlarge.opendc.compute.core.ProcessingUnit import com.atlarge.opendc.compute.metal.driver.SimpleBareMetalDriver +import com.atlarge.opendc.compute.metal.power.LinearLoadPowerModel import com.atlarge.opendc.compute.metal.service.ProvisioningService import com.atlarge.opendc.compute.metal.service.SimpleProvisioningService import com.atlarge.opendc.core.Environment @@ -102,7 +103,11 @@ class Sc20ClusterEnvironmentReader( List(coresPerHost) { coreId -> ProcessingUnit(unknownProcessingNode, coreId, speed) }, - listOf(unknownMemoryUnit) + listOf(unknownMemoryUnit), + // For now we assume a simple linear load model with an idle draw of ~200W and a maximum + // power draw of 350W. + // Source: https://stackoverflow.com/questions/6128960 + LinearLoadPowerModel(200.0, 350.0) ) ) } |
