Package org.jclouds.virtualbox.domain

Examples of org.jclouds.virtualbox.domain.VmSpec


                                                                                 .autoDelete(true)
                                                                                 .build())
                                                         .attachISO(1, 1, guestAdditionsIso)
                                                         .build();

      VmSpec instanceVmSpec = VmSpec.builder()
                                    .id(instanceName)
                                    .name(instanceName)
                                    .osTypeId("")
                                    .memoryMB(512)
                                    .cleanUpMode(CleanupMode.Full)
View Full Code Here


      MachineUtils machineUtils = createMock(MachineUtils.class);
      VirtualBoxManager manager = createMock(VirtualBoxManager.class);
      IVirtualBox vBox = createMock(IVirtualBox.class);
      String vmName = "jclouds-image-my-ubuntu-image";
      StorageController ideController = StorageController.builder().name("IDE Controller").bus(StorageBus.IDE).build();
      VmSpec vmSpec = VmSpec.builder().id(vmName).name(vmName).osTypeId("").memoryMB(1024).controller(ideController)
            .cleanUpMode(CleanupMode.Full).build();
      MasterSpec machineSpec = MasterSpec.builder()
            .iso(IsoSpec.builder().sourcePath("some.iso").installationScript("").build()).vm(vmSpec)
            .network(NetworkSpec.builder().build()).build();
      IMachine createdMachine = createMock(IMachine.class);
View Full Code Here

      expect(manager.getVBox()).andReturn(vBox).anyTimes();
      expect(vBox.findMachine(vmName)).andReturn(registeredMachine).anyTimes();

      replay(manager, vBox, machineUtils);

      VmSpec launchSpecification = VmSpec.builder().id(vmName).name(vmName).osTypeId("").memoryMB(1024)
            .cleanUpMode(CleanupMode.Full).build();

      MasterSpec machineSpec = MasterSpec.builder()
            .iso(IsoSpec.builder().sourcePath("some.iso").installationScript("dostuff").build())
            .vm(launchSpecification).network(NetworkSpec.builder().build()).build();
View Full Code Here

      vBox.findMachine(vmName);
      expectLastCall().andThrow(vBoxException);

      replay(manager, vBox, machineUtils);

      VmSpec launchSpecification = VmSpec.builder().id(vmName).name(vmName).osTypeId("").cleanUpMode(CleanupMode.Full)
            .memoryMB(1024).build();
      MasterSpec machineSpec = MasterSpec.builder()
            .iso(IsoSpec.builder().sourcePath("some.iso").installationScript("dostuff").build())
            .vm(launchSpecification).network(NetworkSpec.builder().build()).build();
View Full Code Here

      expect(vm.getOSTypeId()).andReturn(OS_TYPE_ID).anyTimes();
      expect(vm.getMemorySize()).andReturn(MEMORY_SIZE).anyTimes();

      replay(vbm, iStorageController, iMediumAttachment, hd, dvd, vm);

      VmSpec vmSpec = new IMachineToVmSpec().apply(vm);

      assertEquals(vmSpec.getVmName(), VM_NAME);
      assertEquals(vmSpec.getVmId(), VM_ID);
      assertEquals(vmSpec.getMemory(), MEMORY_SIZE);
      for(StorageController controller : vmSpec.getControllers()) {
         assertEquals(controller.getName(), CONTROLLER_NAME);
         assertEquals(controller.getBus(), CONTROLLER_BUS);
         for (HardDisk hardDisk : controller.getHardDisks()) {
            assertEquals(hardDisk.getDiskPath(), PATH_TO_HD);
         }
View Full Code Here

   private CloneSpec configureCloneSpec(
           NodeSpec nodeSpec, String guestOsUser, String guestOsPassword) {

      String cloneName = generateCloneName(nodeSpec);

      VmSpec cloneVmSpec = VmSpec.builder()
              .id(cloneName)
              .name(cloneName)
              .memoryMB(ram)
              .osTypeId(nodeSpec.getMaster().getMachine().getOSTypeId())
              .guestUser(guestOsUser)
View Full Code Here

      this.machineUtils = machineUtils;
   }

   @Override
   public IMachine apply(CloneSpec cloneSpec) {
      VmSpec vmSpec = cloneSpec.getVmSpec();
      try {
         manager.get().getVBox().findMachine(vmSpec.getVmName());
         throw new IllegalStateException("Machine " + vmSpec.getVmName() + " is already registered.");
      } catch (VBoxException e) {
         if (machineNotFoundException(e))
            return cloneMachine(cloneSpec);
         else
            throw e;
View Full Code Here

      StorageController ideController = StorageController.builder().name(ideControllerName).bus(StorageBus.IDE)
               .attachISO(0, 0, operatingSystemIso)
               .attachHardDisk(HardDisk.builder().diskpath(adminDisk(vmName)).controllerPort(0).deviceSlot(1).build())
               .attachISO(1, 1, guestAdditionsIso).build();

      VmSpec vmSpec = VmSpec.builder().id(vmId).name(vmName).memoryMB(512).controller(ideController).cleanUpMode(mode)
               .osTypeId("Debian").forceOverwrite(true).build();

      NetworkAdapter networkAdapter = NetworkAdapter.builder().networkAttachmentType(NetworkAttachmentType.NAT)
               .tcpRedirectRule("127.0.0.1", 2222, "", 22).build();
      NetworkInterfaceCard networkInterfaceCard = NetworkInterfaceCard.builder().addNetworkAdapter(networkAdapter)
View Full Code Here

      StorageController ideController = StorageController.builder().name(ideControllerName).bus(StorageBus.IDE)
               .attachISO(0, 0, operatingSystemIso)
               .attachHardDisk(HardDisk.builder().diskpath(adminDisk(vmName)).controllerPort(0).deviceSlot(1).build())
               .attachISO(1, 1, guestAdditionsIso).build();

      VmSpec vmSpec = VmSpec.builder().id(vmId).name(vmName).memoryMB(512).controller(ideController).cleanUpMode(mode)
               .osTypeId("SomeWeirdUnknownOs").forceOverwrite(true).build();
      IsoSpec isoSpec = IsoSpec.builder().sourcePath(operatingSystemIso).installationScript("").build();
      NetworkSpec networkSpec = NetworkSpec.builder().build();
      MasterSpec machineSpec = MasterSpec.builder().iso(isoSpec).vm(vmSpec).network(networkSpec).build();
      try {
View Full Code Here

      return e.getMessage().contains("VirtualBox error: Could not find a registered machine named ")
               || e.getMessage().contains("Could not find a registered machine with UUID {");
   }

   private IMachine cloneMachine(CloneSpec cloneSpec) {
      VmSpec vmSpec = cloneSpec.getVmSpec();
      NetworkSpec networkSpec = cloneSpec.getNetworkSpec();
      boolean isLinkedClone = cloneSpec.isLinked();
      IMachine master = cloneSpec.getMaster();
      String flags = "";
      List<String> groups = ImmutableList.of();
      String group = "";
      String settingsFile = manager.get().getVBox().composeMachineFilename(vmSpec.getVmName(), group , flags , workingDir);
      IMachine clonedMachine = manager
               .get()
               .getVBox()
               .createMachine(settingsFile, vmSpec.getVmName(), groups, vmSpec.getOsTypeId(), flags);
      List<CloneOptions> options = Lists.newArrayList();
      if (isLinkedClone)
         options.add(CloneOptions.Link);

      ISnapshot currentSnapshot = new TakeSnapshotIfNotAlreadyAttached(manager,
            "snapshotName", "snapshotDesc", logger).apply(master);
      IProgress progress = currentSnapshot.getMachine().cloneTo(clonedMachine,
            CloneMode.MachineState, options);
      progress.waitForCompletion(-1);

      // memory may not be the same as the master vm
      clonedMachine.setMemorySize(cloneSpec.getVmSpec().getMemory());

      // registering
      manager.get().getVBox().registerMachine(clonedMachine);

      // Networking
      for (NetworkInterfaceCard networkInterfaceCard : networkSpec.getNetworkInterfaceCards()) {
         new AttachNicToMachine(vmSpec.getVmName(), machineUtils).apply(networkInterfaceCard);
      }
     
      // set only once the creds for this machine, same coming from its master
      logger.debug("<< storing guest credentials on vm(%s) as extra data", clonedMachine.getName());
      String masterUsername = master.getExtraData(GUEST_OS_USER);
View Full Code Here

TOP

Related Classes of org.jclouds.virtualbox.domain.VmSpec

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.