From 91a0980537dc4a023bd8e65b74d8d47ba067a944 Mon Sep 17 00:00:00 2001 From: David Ribeiro Alves Date: Mon, 12 Mar 2012 11:59:45 +0000 Subject: [PATCH] made destroying nodes synchornized due to session lock issues --- .../compute/VirtualBoxComputeServiceAdapter.java | 6 +++--- ...isterMachineFromIMachineIfNotAlreadyExists.java | 5 +++-- .../jclouds/virtualbox/functions/NodeCreator.java | 14 ++++++++++---- .../admin/StartVBoxIfNotAlreadyRunning.java | 6 ++++++ 4 files changed, 22 insertions(+), 9 deletions(-) diff --git a/labs/virtualbox/src/main/java/org/jclouds/virtualbox/compute/VirtualBoxComputeServiceAdapter.java b/labs/virtualbox/src/main/java/org/jclouds/virtualbox/compute/VirtualBoxComputeServiceAdapter.java index 771ce60b61..1f15abbb0b 100644 --- a/labs/virtualbox/src/main/java/org/jclouds/virtualbox/compute/VirtualBoxComputeServiceAdapter.java +++ b/labs/virtualbox/src/main/java/org/jclouds/virtualbox/compute/VirtualBoxComputeServiceAdapter.java @@ -150,7 +150,7 @@ public class VirtualBoxComputeServiceAdapter implements ComputeServiceAdapter apply(NodeSpec nodeSpec) { + public synchronized NodeAndInitialCredentials apply(NodeSpec nodeSpec) { checkNotNull(nodeSpec, "NodeSpec"); @@ -102,6 +107,7 @@ public class NodeCreator implements Function runScriptOnNodeFactory.create(host.get(), Statements.exec(vboxwebsrv), runAsRoot(false).wrapInInitScript(false).blockOnComplete(false).nameTask("vboxwebsrv")).init().call(); + + try { + // wait for a couple of seconds to make sure vbox has correctly started + Thread.sleep(2000L); + } catch (InterruptedException e) { + } } manager = managerForNode.apply(host); manager.connect(provider.toASCIIString(), identity, credential);