@Override public void suspendNode(String id) { String virtualMachineId = id; String job = client.getVirtualMachineClient().stopVirtualMachine(id); if (job != null) { logger.debug(">> stopping virtualMachine(%s) job(%s)", virtualMachineId, job); awaitCompletion(job); } }
@Override public void suspendNode(String id) { String virtualMachineId = id; String job = client.getVirtualMachineClient().stopVirtualMachine(id); if (job != null) { logger.debug(">> stopping virtualMachine(%s) job(%s)", virtualMachineId, job); awaitCompletion(job); } }
@AfterGroups(groups = "live") @Override protected void tearDownContext() { if (vmForCreation != null) { assertTrue(jobComplete.apply(client.getVirtualMachineClient().stopVirtualMachine(vmForCreation.getId())), vmForCreation.toString()); assertTrue(jobComplete.apply(client.getVirtualMachineClient().destroyVirtualMachine(vmForCreation.getId())), vmForCreation.toString()); assertTrue(virtualMachineDestroyed.apply(vmForCreation)); } if (vmForRegistration != null) { assertTrue(jobComplete.apply(client.getVirtualMachineClient().stopVirtualMachine(vmForRegistration.getId())), vmForRegistration.toString()); assertTrue(jobComplete.apply(client.getVirtualMachineClient().destroyVirtualMachine(vmForRegistration.getId())), vmForRegistration.toString()); assert virtualMachineDestroyed.apply(vmForRegistration); } if (createdTemplate != null) { AsyncCreateResponse deleteJob = client.getTemplateClient().deleteTemplate(createdTemplate.getId()); assertTrue(jobComplete.apply(deleteJob.getJobId())); } if (registeredTemplate != null) { AsyncCreateResponse deleteJob = client.getTemplateClient().deleteTemplate(registeredTemplate.getId()); assertTrue(jobComplete.apply(deleteJob.getJobId())); } super.tearDownContext(); }
@Test(enabled = true) public void testCreateTemplate() throws Exception { Zone zone = Iterables.getFirst(client.getZoneClient().listZones(), null); assertNotNull(zone); Iterable<Network> networks = client.getNetworkClient().listNetworks(ListNetworksOptions.Builder.zoneId(zone.getId()).isDefault(true)); networks = Iterables.filter(networks, new Predicate<Network>() { @Override public boolean apply(Network network) { return network != null && network.getState().equals("Implemented"); } }); assertTrue(Iterables.size(networks) >= 1); Network network = Iterables.get(networks, 0); assertNotNull(network); // Create a VM and stop it String defaultTemplate = template != null ? template.getImageId() : null; vmForCreation = VirtualMachineClientLiveTest.createVirtualMachineInNetwork(network, defaultTemplate, client, jobComplete, virtualMachineRunning); assertTrue(jobComplete.apply(client.getVirtualMachineClient().stopVirtualMachine(vmForCreation.getId())), vmForCreation.toString()); // Work out the VM's volume Set<Volume> volumes = client.getVolumeClient().listVolumes(ListVolumesOptions.Builder.virtualMachineId(vmForCreation.getId())); assertEquals(volumes.size(), 1); Volume volume = Iterables.getOnlyElement(volumes); // Create a template CreateTemplateOptions options = CreateTemplateOptions.Builder.volumeId(volume.getId()); AsyncCreateResponse response = client.getTemplateClient().createTemplate(TemplateMetadata.builder().name(prefix+"-createTemplate").osTypeId(vmForCreation.getGuestOSId()).displayText("jclouds live testCreateTemplate").build(), options); assertTrue(jobComplete.apply(response.getJobId()), vmForCreation.toString()); createdTemplate = client.getTemplateClient().getTemplateInZone(response.getId(), vmForCreation.getZoneId()); // Assertions assertNotNull(createdTemplate); }
@Test(dependsOnMethods = "testCreateVirtualMachine") public void testLifeCycle() throws Exception { String job = client.getVirtualMachineClient().stopVirtualMachine(vm.getId()); assertTrue(jobComplete.apply(job)); vm = client.getVirtualMachineClient().getVirtualMachine(vm.getId()); assertEquals(vm.getState(), VirtualMachine.State.STOPPED); if (vm.isPasswordEnabled()) { job = client.getVirtualMachineClient().resetPasswordForVirtualMachine(vm.getId()); assertTrue(jobComplete.apply(job)); vm = client.getAsyncJobClient().<VirtualMachine> getAsyncJob(job).getResult(); if (vm.getPassword() != null) { conditionallyCheckSSH(); } } job = client.getVirtualMachineClient().startVirtualMachine(vm.getId()); assertTrue(jobComplete.apply(job)); vm = client.getVirtualMachineClient().getVirtualMachine(vm.getId()); assertEquals(vm.getState(), VirtualMachine.State.RUNNING); job = client.getVirtualMachineClient().rebootVirtualMachine(vm.getId()); assertTrue(jobComplete.apply(job)); vm = client.getVirtualMachineClient().getVirtualMachine(vm.getId()); assertEquals(vm.getState(), VirtualMachine.State.RUNNING); }