From d394224b76e98d6092e6fb78279ec8944f974aa2 Mon Sep 17 00:00:00 2001 From: Georgios Andreadis Date: Fri, 28 Feb 2020 14:07:22 +0100 Subject: Fix NPE --- .../opendc/compute/virt/service/SimpleVirtProvisioningService.kt | 9 ++++++--- 1 file 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 -- cgit v1.2.3