diff options
| author | Georgios Andreadis <info@gandreadis.com> | 2020-02-28 14:07:22 +0100 |
|---|---|---|
| committer | Georgios Andreadis <info@gandreadis.com> | 2020-02-28 14:39:59 +0100 |
| commit | d394224b76e98d6092e6fb78279ec8944f974aa2 (patch) | |
| tree | 1f5af9dd9fea38aae0007591826bfc54e34b8f29 | |
| parent | 3b31e1e0c4f7f8c7ca20a4b1a3e784029bbd0179 (diff) | |
Fix NPE
| -rw-r--r-- | opendc/opendc-compute/src/main/kotlin/com/atlarge/opendc/compute/virt/service/SimpleVirtProvisioningService.kt | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/opendc/opendc-compute/src/main/kotlin/com/atlarge/opendc/compute/virt/service/SimpleVirtProvisioningService.kt b/opendc/opendc-compute/src/main/kotlin/com/atlarge/opendc/compute/virt/service/SimpleVirtProvisioningService.kt index 5924c2c7..f036e370 100644 --- a/opendc/opendc-compute/src/main/kotlin/com/atlarge/opendc/compute/virt/service/SimpleVirtProvisioningService.kt +++ b/opendc/opendc-compute/src/main/kotlin/com/atlarge/opendc/compute/virt/service/SimpleVirtProvisioningService.kt @@ -15,6 +15,7 @@ import com.atlarge.opendc.compute.virt.driver.hypervisor.InsufficientMemoryOnSer import com.atlarge.opendc.compute.virt.monitor.HypervisorMonitor import com.atlarge.opendc.compute.virt.service.allocation.AllocationPolicy import kotlinx.coroutines.launch +import kotlinx.coroutines.yield class SimpleVirtProvisioningService( public override val allocationPolicy: AllocationPolicy, @@ -52,13 +53,15 @@ class SimpleVirtProvisioningService( val provisionedNodes = provisioningService.nodes().toList() val deployedNodes = provisionedNodes.map { node -> val hypervisorImage = HypervisorImage(hypervisorMonitor) + val deployedNode = provisioningService.deploy(node, hypervisorImage, this@SimpleVirtProvisioningService) val nodeView = NodeView( - provisioningService.deploy(node, hypervisorImage, this@SimpleVirtProvisioningService), + deployedNode, hypervisorImage, 0, - node.server!!.flavor.memorySize + deployedNode.server!!.flavor.memorySize ) - node.server.serviceRegistry[VirtDriver.Key].addMonitor(object : VirtDriverMonitor { + yield() + deployedNode.server.serviceRegistry[VirtDriver.Key].addMonitor(object : VirtDriverMonitor { override suspend fun onUpdate(numberOfActiveServers: Int, availableMemory: Long) { nodeView.numberOfActiveServers = numberOfActiveServers nodeView.availableMemory = availableMemory |
