From 85fae1687b1c8e9944dc27c4aeef267d1cad22b4 Mon Sep 17 00:00:00 2001 From: andreaturli Date: Thu, 5 Jan 2012 07:59:48 +0000 Subject: [PATCH] issue 384: cosmetic fixes --- ...MachineFromIMachineIfNotAlreadyExists.java | 35 +------ .../virtualbox/predicates/IsLinkedClone.java | 6 +- .../predicates/IsLinkedClonesLiveTest.java | 94 ++++++++++--------- 3 files changed, 55 insertions(+), 80 deletions(-) diff --git a/sandbox-apis/virtualbox/src/main/java/org/jclouds/virtualbox/functions/CloneAndRegisterMachineFromIMachineIfNotAlreadyExists.java b/sandbox-apis/virtualbox/src/main/java/org/jclouds/virtualbox/functions/CloneAndRegisterMachineFromIMachineIfNotAlreadyExists.java index e1357de017..f9f9f4190b 100644 --- a/sandbox-apis/virtualbox/src/main/java/org/jclouds/virtualbox/functions/CloneAndRegisterMachineFromIMachineIfNotAlreadyExists.java +++ b/sandbox-apis/virtualbox/src/main/java/org/jclouds/virtualbox/functions/CloneAndRegisterMachineFromIMachineIfNotAlreadyExists.java @@ -19,10 +19,6 @@ package org.jclouds.virtualbox.functions; -import static com.google.common.base.Preconditions.checkNotNull; -import static org.jclouds.virtualbox.util.MachineUtils.lockMachineAndApply; -import static org.virtualbox_4_1.LockType.Write; - import java.util.ArrayList; import java.util.List; @@ -60,8 +56,6 @@ public class CloneAndRegisterMachineFromIMachineIfNotAlreadyExists implements Fu private VirtualBoxManager manager; private VmSpec vmSpec; private CloneOptions cloneOptions; -// private String snapshotName; -// private String snapshotDesc; @Inject public CloneAndRegisterMachineFromIMachineIfNotAlreadyExists( @@ -75,8 +69,6 @@ public class CloneAndRegisterMachineFromIMachineIfNotAlreadyExists implements Fu this.manager = manager; this.vmSpec = vmSpec; this.cloneOptions = cloneOptions; -// this.snapshotName = snapshotName; -// this.snapshotDesc = snapshotDesc; } @Override @@ -115,32 +107,7 @@ public class CloneAndRegisterMachineFromIMachineIfNotAlreadyExists implements Fu // registering manager.getVBox().registerMachine(clonedMachine); -/* - // Bridged Network - List activeBridgedInterfaces = new RetrieveActiveBridgedInterfaces(context).apply(hostId); - checkNotNull(activeBridgedInterfaces); - String macAddress = manager.getVBox().getHost().generateMACAddress(); - - // TODO this behavior can be improved - String bridgedInterface = activeBridgedInterfaces.get(0); - long adapterSlot = 0l; - ensureBridgedNetworkingIsAppliedToMachine(adapterSlot, cloneName, macAddress, bridgedInterface); - - // detach iso - // TODO: also hard-coded values here - int controllerPort = 0; - int device = 0; - ensureMachineHasDistroMediumDetached(cloneName, controllerIDE, controllerPort, device); -*/ return clonedMachine; } - - private void ensureBridgedNetworkingIsAppliedToMachine(long adapterSlot, String vmName, String macAddress, String hostInterface) { - lockMachineAndApply(manager, Write, vmName, new AttachBridgedAdapterToMachine(adapterSlot, macAddress, hostInterface)); - } - - private void ensureMachineHasDistroMediumDetached(String vmName, String controllerIDE, int controllerPort, int device) { - lockMachineAndApply(manager, Write, vmName, new DetachDistroMediumFromMachine(checkNotNull(controllerIDE, "controllerIDE"), controllerPort, device)); - } - + } diff --git a/sandbox-apis/virtualbox/src/main/java/org/jclouds/virtualbox/predicates/IsLinkedClone.java b/sandbox-apis/virtualbox/src/main/java/org/jclouds/virtualbox/predicates/IsLinkedClone.java index 5e22b0e457..e2ac3f933d 100644 --- a/sandbox-apis/virtualbox/src/main/java/org/jclouds/virtualbox/predicates/IsLinkedClone.java +++ b/sandbox-apis/virtualbox/src/main/java/org/jclouds/virtualbox/predicates/IsLinkedClone.java @@ -64,9 +64,11 @@ public class IsLinkedClone implements Predicate { // more than one machine is attached to this hd for (IMedium child : iMedium.getParent().getChildren()) { for (String machineId : child.getMachineIds()) { - IMachine iMachine = manager.getVBox().findMachine(machineId); + IMachine iMachine = manager.getVBox().findMachine( + machineId); if (!iMachine.getName().equals(machine.getName())) { - logger.debug("Machine %s is a linked clone", machine.getName()); + logger.debug("Machine %s is a linked clone", + machine.getName()); return true; } } diff --git a/sandbox-apis/virtualbox/src/test/java/org/jclouds/virtualbox/predicates/IsLinkedClonesLiveTest.java b/sandbox-apis/virtualbox/src/test/java/org/jclouds/virtualbox/predicates/IsLinkedClonesLiveTest.java index 5ea36c84c3..3f500698f9 100644 --- a/sandbox-apis/virtualbox/src/test/java/org/jclouds/virtualbox/predicates/IsLinkedClonesLiveTest.java +++ b/sandbox-apis/virtualbox/src/test/java/org/jclouds/virtualbox/predicates/IsLinkedClonesLiveTest.java @@ -19,12 +19,11 @@ package org.jclouds.virtualbox.predicates; -import static org.testng.Assert.assertTrue; import static org.testng.Assert.assertFalse; +import static org.testng.Assert.assertTrue; import org.jclouds.virtualbox.BaseVirtualBoxClientLiveTest; import org.jclouds.virtualbox.domain.HardDisk; -import org.jclouds.virtualbox.domain.NatAdapter; import org.jclouds.virtualbox.domain.StorageController; import org.jclouds.virtualbox.domain.VmSpec; import org.jclouds.virtualbox.functions.CloneAndRegisterMachineFromIMachineIfNotAlreadyExists; @@ -46,8 +45,8 @@ import org.virtualbox_4_1.VirtualBoxManager; */ @Test(groups = "live", singleThreaded = true, testName = "IsLinkedClonesLiveTest") public class IsLinkedClonesLiveTest extends BaseVirtualBoxClientLiveTest { - - private String vmId = "jclouds-image-iso-1"; + + private String vmId = "jclouds-image-iso-1"; private String osTypeId = ""; private String ideControllerName = "IDE Controller"; private String cloneId = "jclouds-is-linked-clone-clone"; @@ -56,56 +55,63 @@ public class IsLinkedClonesLiveTest extends BaseVirtualBoxClientLiveTest { private StorageController masterStorageController; private VmSpec masterSpec; private VmSpec cloneSpec; - - @BeforeGroups(groups = {"live"}) + + @BeforeGroups(groups = { "live" }) public void setUp() throws Exception { identity = "toor"; credential = "password"; - + String workingDir = PropertyUtils.getWorkingDirFromProperty(); - HardDisk hardDisk = HardDisk.builder().diskpath(workingDir + "/testadmin.vdi").autoDelete(true) + HardDisk hardDisk = HardDisk.builder() + .diskpath(workingDir + "/testadmin.vdi").autoDelete(true) .controllerPort(0).deviceSlot(1).build(); - masterStorageController = StorageController.builder().name(ideControllerName).bus(StorageBus.IDE) - .attachISO(0, 0, workingDir + "/ubuntu-11.04-server-i386.iso") - .attachHardDisk(hardDisk) - .attachISO(1, 1, workingDir + "/VBoxGuestAdditions_4.1.2.iso").build(); - masterSpec = VmSpec.builder().id(vmId).name(vmName).memoryMB(512).osTypeId(osTypeId) - .controller(masterStorageController) - .forceOverwrite(true) - .cleanUpMode(CleanupMode.Full) - .build(); - - cloneSpec = VmSpec.builder().id(cloneId).name(cloneName).memoryMB(512).osTypeId(osTypeId) - .forceOverwrite(true) - .cleanUpMode(CleanupMode.Full) + masterStorageController = StorageController.builder() + .name(ideControllerName).bus(StorageBus.IDE) + .attachISO(0, 0, workingDir + "/ubuntu-11.04-server-i386.iso") + .attachHardDisk(hardDisk) + .attachISO(1, 1, workingDir + "/VBoxGuestAdditions_4.1.2.iso") .build(); + masterSpec = VmSpec.builder().id(vmId).name(vmName).memoryMB(512) + .osTypeId(osTypeId).controller(masterStorageController) + .forceOverwrite(true).cleanUpMode(CleanupMode.Full).build(); + + cloneSpec = VmSpec.builder().id(cloneId).name(cloneName).memoryMB(512) + .osTypeId(osTypeId).forceOverwrite(true) + .cleanUpMode(CleanupMode.Full).build(); } - - @Test - public void testLinkedClone() { - - VirtualBoxManager manager = (VirtualBoxManager) context.getProviderSpecificContext().getApi(); - new UnregisterMachineIfExistsAndDeleteItsMedia(manager).apply(masterSpec); + @Test + public void testLinkedClone() { - IMachine master = new CreateAndRegisterMachineFromIsoIfNotAlreadyExists(manager).apply(masterSpec); - IMachine clone = new CloneAndRegisterMachineFromIMachineIfNotAlreadyExists(manager, cloneSpec, CloneOptions.Link).apply(master); + VirtualBoxManager manager = (VirtualBoxManager) context + .getProviderSpecificContext().getApi(); + new UnregisterMachineIfExistsAndDeleteItsMedia(manager).apply(masterSpec); - assertTrue(new IsLinkedClone(manager).apply(clone)); - new UnregisterMachineIfExistsAndDeleteItsMedia(manager).apply(new IMachineToVmSpec().apply(clone)); - new UnregisterMachineIfExistsAndDeleteItsMedia(manager).apply(masterSpec); - } - - public void testFullClone() { - - VirtualBoxManager manager = (VirtualBoxManager) context.getProviderSpecificContext().getApi(); - new UnregisterMachineIfExistsAndDeleteItsMedia(manager).apply(masterSpec); + IMachine master = new CreateAndRegisterMachineFromIsoIfNotAlreadyExists( + manager).apply(masterSpec); + IMachine clone = new CloneAndRegisterMachineFromIMachineIfNotAlreadyExists( + manager, cloneSpec, CloneOptions.Link).apply(master); - IMachine master = new CreateAndRegisterMachineFromIsoIfNotAlreadyExists(manager).apply(masterSpec); - IMachine clone = new CloneAndRegisterMachineFromIMachineIfNotAlreadyExists(manager, cloneSpec).apply(master); + assertTrue(new IsLinkedClone(manager).apply(clone)); + new UnregisterMachineIfExistsAndDeleteItsMedia(manager) + .apply(new IMachineToVmSpec().apply(clone)); + new UnregisterMachineIfExistsAndDeleteItsMedia(manager).apply(masterSpec); + } - assertFalse(new IsLinkedClone(manager).apply(clone)); - new UnregisterMachineIfExistsAndDeleteItsMedia(manager).apply(new IMachineToVmSpec().apply(clone)); - new UnregisterMachineIfExistsAndDeleteItsMedia(manager).apply(masterSpec); - } + public void testFullClone() { + + VirtualBoxManager manager = (VirtualBoxManager) context + .getProviderSpecificContext().getApi(); + new UnregisterMachineIfExistsAndDeleteItsMedia(manager).apply(masterSpec); + + IMachine master = new CreateAndRegisterMachineFromIsoIfNotAlreadyExists( + manager).apply(masterSpec); + IMachine clone = new CloneAndRegisterMachineFromIMachineIfNotAlreadyExists( + manager, cloneSpec).apply(master); + + assertFalse(new IsLinkedClone(manager).apply(clone)); + new UnregisterMachineIfExistsAndDeleteItsMedia(manager) + .apply(new IMachineToVmSpec().apply(clone)); + new UnregisterMachineIfExistsAndDeleteItsMedia(manager).apply(masterSpec); + } }