From cf02e7dcaf457c240379edad92bd84c5fd5cf4ea Mon Sep 17 00:00:00 2001 From: David Ribeiro Alves Date: Mon, 5 Mar 2012 04:40:22 +0000 Subject: [PATCH] clones are now booting, but without networking --- ...MachineFromIMachineIfNotAlreadyExists.java | 22 +++++++------------ .../virtualbox/functions/NodeCreator.java | 4 ---- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/labs/virtualbox/src/main/java/org/jclouds/virtualbox/functions/CloneAndRegisterMachineFromIMachineIfNotAlreadyExists.java b/labs/virtualbox/src/main/java/org/jclouds/virtualbox/functions/CloneAndRegisterMachineFromIMachineIfNotAlreadyExists.java index 90cc07ba9c..eae7cda5bb 100644 --- a/labs/virtualbox/src/main/java/org/jclouds/virtualbox/functions/CloneAndRegisterMachineFromIMachineIfNotAlreadyExists.java +++ b/labs/virtualbox/src/main/java/org/jclouds/virtualbox/functions/CloneAndRegisterMachineFromIMachineIfNotAlreadyExists.java @@ -22,7 +22,6 @@ package org.jclouds.virtualbox.functions; import java.util.ArrayList; import java.util.List; -import javax.annotation.Nullable; import javax.annotation.Resource; import javax.inject.Named; @@ -31,6 +30,7 @@ import org.jclouds.logging.Logger; import org.jclouds.virtualbox.config.VirtualBoxConstants; import org.jclouds.virtualbox.domain.CloneSpec; import org.jclouds.virtualbox.domain.NetworkInterfaceCard; +import org.jclouds.virtualbox.domain.NetworkSpec; import org.jclouds.virtualbox.domain.VmSpec; import org.jclouds.virtualbox.util.MachineUtils; import org.virtualbox_4_1.CloneMode; @@ -96,6 +96,7 @@ public class CloneAndRegisterMachineFromIMachineIfNotAlreadyExists implements private IMachine cloneMachine(CloneSpec cloneSpec) { VmSpec vmSpec = cloneSpec.getVmSpec(); + NetworkSpec networkSpec = cloneSpec.getNetworkSpec(); boolean isLinkedClone = cloneSpec.isLinked(); IMachine master = cloneSpec.getMaster(); String settingsFile = manager.get().getVBox() @@ -120,22 +121,15 @@ public class CloneAndRegisterMachineFromIMachineIfNotAlreadyExists implements progress.waitForCompletion(-1); logger.debug("clone done"); - + // registering manager.get().getVBox().registerMachine(clonedMachine); - - // Bridged# -// for (NetworkInterfaceCard nic : cloneSpec.getNetworkSpec().getNetworkInterfaceCards()){ -// ensureBridgedNetworkingIsAppliedToMachine(clonedMachine.getName(), nic); -// } + // Networking + for (NetworkInterfaceCard networkInterfaceCard : networkSpec.getNetworkInterfaceCards()) { + new AttachNicToMachine(vmSpec.getVmName(), machineUtils).apply(networkInterfaceCard); + } + return clonedMachine; } - - private void ensureBridgedNetworkingIsAppliedToMachine(String vmName, - NetworkInterfaceCard nic) { - - machineUtils.writeLockMachineAndApply(vmName, - new AttachBridgedAdapterToMachine(nic)); - } } diff --git a/labs/virtualbox/src/main/java/org/jclouds/virtualbox/functions/NodeCreator.java b/labs/virtualbox/src/main/java/org/jclouds/virtualbox/functions/NodeCreator.java index 2e110ea5e8..f3f506cd37 100644 --- a/labs/virtualbox/src/main/java/org/jclouds/virtualbox/functions/NodeCreator.java +++ b/labs/virtualbox/src/main/java/org/jclouds/virtualbox/functions/NodeCreator.java @@ -50,13 +50,11 @@ public class NodeCreator implements Function manager; private final Function cloner; - private MachineUtils machineUtils; @Inject public NodeCreator(Supplier manager, Function cloner, MachineUtils machineUtils) { this.manager = manager; this.cloner = cloner; - this.machineUtils = machineUtils; } @Override @@ -95,8 +93,6 @@ public class NodeCreator implements Function