From 5ed6972b193512bc36e169340dadfbb148a62a72 Mon Sep 17 00:00:00 2001 From: Stefan Derkits Date: Thu, 20 Jun 2013 15:18:37 +0200 Subject: [PATCH] resize VM down after migration in SchedulerB --- src/at/ac/tuwien/lsdc/sched/SchedulerB.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/at/ac/tuwien/lsdc/sched/SchedulerB.java b/src/at/ac/tuwien/lsdc/sched/SchedulerB.java index be8c601..db30b3f 100644 --- a/src/at/ac/tuwien/lsdc/sched/SchedulerB.java +++ b/src/at/ac/tuwien/lsdc/sched/SchedulerB.java @@ -46,6 +46,7 @@ public class SchedulerB extends AbstractSchedulerWithMigration { @Override protected boolean deployApp(VirtualMachine vm, Application app) { + VirtualMachine current = app.getRunningOn(); boolean deployed = false; if (!vm.enoughResources(app)) { try { @@ -55,8 +56,13 @@ public class SchedulerB extends AbstractSchedulerWithMigration { } } deployed = vm.startApplication(app); - if (deployed) + if (deployed) { app.setRunningOn(vm); + if (current != null) { + current.stopApplication(app); + current.resizeDown(app); + } + } return deployed; } @@ -73,7 +79,7 @@ public class SchedulerB extends AbstractSchedulerWithMigration { evt.getApp().setRunningOn(null); vm.stopApplication(evt.getApp()); vm.resizeDown(evt.getApp()); - + if (vm.getApplications().size() == 0) { PhysicalMachine pm = vm.getRunningOn(); pm.stopVirtualMachine(vm); @@ -122,7 +128,7 @@ public class SchedulerB extends AbstractSchedulerWithMigration { } if (deployed) { insertStopEvent(currTime + evt.getApp().getDuration(), evt.getApp()); - + if(manager.countCurrentlyRunningPMs() < manager.getMaxPMs()) { Application app = federation.askToInsource(); if(app != null) { -- 2.43.0