summaryrefslogtreecommitdiff
path: root/simulator/opendc-workflows/src/main/kotlin/org
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2021-03-09 19:56:50 +0100
committerFabian Mastenbroek <mail.fabianm@gmail.com>2021-03-09 20:33:28 +0100
commit44ed0023ed783437c3c838780f73e28efe1cc4ca (patch)
tree78749e24d2b20989ac584bd16ecbae821f60f1a3 /simulator/opendc-workflows/src/main/kotlin/org
parentb3f390be783cad21cd4925bcbe8077b91f869b5d (diff)
compute: Move implementation of Flavor into service module
Diffstat (limited to 'simulator/opendc-workflows/src/main/kotlin/org')
-rw-r--r--simulator/opendc-workflows/src/main/kotlin/org/opendc/workflows/service/StageWorkflowService.kt7
1 files changed, 5 insertions, 2 deletions
diff --git a/simulator/opendc-workflows/src/main/kotlin/org/opendc/workflows/service/StageWorkflowService.kt b/simulator/opendc-workflows/src/main/kotlin/org/opendc/workflows/service/StageWorkflowService.kt
index 34d19e4f..c5c4bf97 100644
--- a/simulator/opendc-workflows/src/main/kotlin/org/opendc/workflows/service/StageWorkflowService.kt
+++ b/simulator/opendc-workflows/src/main/kotlin/org/opendc/workflows/service/StageWorkflowService.kt
@@ -262,9 +262,9 @@ public class StageWorkflowService(
val instance = taskQueue.peek()
val cores = instance.task.metadata[WORKFLOW_TASK_CORES] as? Int ?: 1
- val flavor = Flavor(cores, 1000) // TODO How to determine memory usage for workflow task
val image = image
coroutineScope.launch {
+ val flavor = computeClient.newFlavor(instance.task.name, cores, 1000) // TODO How to determine memory usage for workflow task
val server = computeClient.newServer(instance.task.name, image, flavor, start = false, meta = instance.task.metadata)
instance.state = TaskStatus.ACTIVE
@@ -299,7 +299,10 @@ public class StageWorkflowService(
ServerState.TERMINATED, ServerState.ERROR -> {
val task = taskByServer.remove(server) ?: throw IllegalStateException()
- coroutineScope.launch { server.delete() }
+ coroutineScope.launch {
+ server.delete()
+ server.flavor.delete()
+ }
val job = task.job
task.state = TaskStatus.FINISHED