summaryrefslogtreecommitdiff
path: root/opendc/opendc-compute/src/main
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2020-03-09 21:18:10 +0100
committerFabian Mastenbroek <mail.fabianm@gmail.com>2020-03-25 10:41:20 +0100
commit8bb44da762a78adb0444c825dc645c2fc84f901b (patch)
treef8506e7daf262d5fd5943505cc38919f16e77a55 /opendc/opendc-compute/src/main
parentf4ee29bb97aed68329e72710dd3049c23f592f25 (diff)
feat: Terminate server instance on power off
Diffstat (limited to 'opendc/opendc-compute/src/main')
-rw-r--r--opendc/opendc-compute/src/main/kotlin/com/atlarge/opendc/compute/metal/driver/SimpleBareMetalDriver.kt7
1 files changed, 6 insertions, 1 deletions
diff --git a/opendc/opendc-compute/src/main/kotlin/com/atlarge/opendc/compute/metal/driver/SimpleBareMetalDriver.kt b/opendc/opendc-compute/src/main/kotlin/com/atlarge/opendc/compute/metal/driver/SimpleBareMetalDriver.kt
index c7dc74cf..6343bee5 100644
--- a/opendc/opendc-compute/src/main/kotlin/com/atlarge/opendc/compute/metal/driver/SimpleBareMetalDriver.kt
+++ b/opendc/opendc-compute/src/main/kotlin/com/atlarge/opendc/compute/metal/driver/SimpleBareMetalDriver.kt
@@ -115,7 +115,12 @@ public class SimpleBareMetalDriver(
node.image,
ServerState.BUILD
)
- PowerState.POWER_ON to PowerState.POWER_OFF -> null // TODO Terminate existing image
+ PowerState.POWER_ON to PowerState.POWER_OFF -> {
+ // We terminate the image running on the machine
+ job?.cancel()
+ job = null
+ null
+ }
PowerState.POWER_ON to PowerState.POWER_ON -> node.server
else -> throw IllegalStateException()
}