public ImageTemplate buildImageTemplateFromNode(String name, String id) { return delegate.buildImageTemplateFromNode(name, id); }
public ImageTemplate buildImageTemplateFromNode(String name, String id) { return delegate.buildImageTemplateFromNode(name, id); }
@Override protected Object doExecute() throws Exception { ComputeService service = null; try { service = getComputeService(); } catch (Throwable t) { System.err.println(t.getMessage()); t.printStackTrace(System.err); return null; } if (!service.getImageExtension().isPresent()) { System.out.print("Provider " + service.getContext().unwrap().getProviderMetadata().getId() + " does not currently provide image creation support."); return null; } ImageExtension imageExtension = service.getImageExtension().get(); ImageTemplate imageTemplate = imageExtension.buildImageTemplateFromNode(imageName, id); ListenableFuture<Image> imageFuture = imageExtension.createImage(imageTemplate); Image image = imageFuture.get(); System.out.println("Successfully created image:" + image.getId()); return null; }
public void testCreateImage() { Builder<HttpRequest, HttpResponse> requestResponseMap = ImmutableMap.<HttpRequest, HttpResponse> builder(); requestResponseMap.put(keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess); requestResponseMap.put(serverDetail, serverDetailResponse).build(); requestResponseMap.put(createImage, createImageResponse).build(); requestResponseMap.put(getImage, getImageResponse).build(); ImageExtension apiThatCreatesImage = requestsSendResponses(requestResponseMap.build()).getImageExtension().get(); ImageTemplate newImageTemplate = apiThatCreatesImage.buildImageTemplateFromNode("test", "az-1.region-a.geo-1/71752"); Image image = Futures.getUnchecked(apiThatCreatesImage.createImage(newImageTemplate)); assertEquals(image.getId(), "az-1.region-a.geo-1/52415800-8b69-11e0-9b19-734f5736d2a2"); } }
public void testCreateImage() { Builder<HttpRequest, HttpResponse> requestResponseMap = ImmutableMap.<HttpRequest, HttpResponse> builder(); requestResponseMap.put(keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess); requestResponseMap.put(serverDetail, serverDetailResponse); requestResponseMap.put(createImage, createImageResponse); requestResponseMap.put(getImage, getImageResponse); ImageExtension apiThatCreatesImage = requestsSendResponses(requestResponseMap.build()).getImageExtension().get(); ImageTemplate newImageTemplate = apiThatCreatesImage.buildImageTemplateFromNode("test", "az-1.region-a.geo-1/71752"); Image image = Futures.getUnchecked(apiThatCreatesImage.createImage(newImageTemplate)); assertEquals(image.getId(), "az-1.region-a.geo-1/52415800-8b69-11e0-9b19-734f5736d2a2"); } }
@Test(groups = { "integration", "live" }, singleThreaded = true) public void testCreateImage() throws RunNodesException, InterruptedException, ExecutionException { ComputeService computeService = view.getComputeService(); Optional<ImageExtension> imageExtension = computeService.getImageExtension(); assertTrue(imageExtension.isPresent(), "image extension was not present"); Template template = getNodeTemplate(); NodeMetadata node = Iterables.getOnlyElement(computeService.createNodesInGroup("test-create-image", 1, template)); checkReachable(node); logger.info("Creating image from node %s, started with template: %s", node, template); ImageTemplate newImageTemplate = imageExtension.get().buildImageTemplateFromNode("test-create-image", node.getId()); Image image = imageExtension.get().createImage(newImageTemplate).get(); logger.info("Image created: %s", image); assertEquals("test-create-image", image.getName()); imageId = image.getId(); computeService.destroyNode(node.getId()); Optional<? extends Image> optImage = getImage(); assertTrue(optImage.isPresent()); }
@Test(groups = { "integration", "live" }, singleThreaded = true) public void testCreateImage() throws RunNodesException, InterruptedException, ExecutionException { ComputeService computeService = view.getComputeService(); Optional<ImageExtension> imageExtension = computeService.getImageExtension(); assertTrue(imageExtension.isPresent(), "image extension was not present"); Template template = getNodeTemplate().build(); NodeMetadata node = Iterables.getOnlyElement(computeService.createNodesInGroup(imageGroup, 1, template)); checkReachable(node); prepareNodeBeforeCreatingImage(node); logger.info("Creating image from node %s, started with template: %s", node, template); ImageTemplate newImageTemplate = imageExtension.get().buildImageTemplateFromNode(imageGroup, node.getId()); Image image = imageExtension.get().createImage(newImageTemplate).get(); logger.info("Image created: %s", image); assertEquals(imageGroup, image.getName()); imageId = image.getId(); computeService.destroyNode(node.getId()); Optional<? extends Image> optImage = getImage(); assertTrue(optImage.isPresent()); }
ImageTemplate newImageTemplate = apiThatCreatesImage.buildImageTemplateFromNode("test", "us-east-1/i-2baa5550");
public void testCreateImage() { Builder<HttpRequest, HttpResponse> requestResponseMap = ImmutableMap.<HttpRequest, HttpResponse> builder(); requestResponseMap.put(describeRegionsRequest, describeRegionsResponse); requestResponseMap.put(describeAvailabilityZonesRequest, describeAvailabilityZonesResponse); requestResponseMap.put(describeImagesRequest, describeImagesResponse); requestResponseMap.put(describeInstanceRequest, describeInstanceResponse); HttpRequest createImageRequest = formSigner.filter(HttpRequest.builder().method("POST") .endpoint("https://ec2." + region + ".amazonaws.com/") .addHeader("Host", "ec2." + region + ".amazonaws.com") .addFormParam("Action", "CreateImage") .addFormParam("InstanceId", "i-2baa5550") .addFormParam("Name", "test").build()); HttpResponse createImageResponse = HttpResponse.builder() .statusCode(200) .payload(payloadFromStringWithContentType( "<CreateImageResponse><imageId>ami-be3adfd7</imageId></CreateImageResponse>", MediaType.APPLICATION_XML)).build(); requestResponseMap.put(createImageRequest, createImageResponse); HttpRequest describeImageRequest = formSigner.filter(HttpRequest.builder().method("POST") .endpoint("https://ec2." + region + ".amazonaws.com/") .addHeader("Host", "ec2." + region + ".amazonaws.com") .addFormParam("Action", "DescribeImages") .addFormParam("ImageId.1", "ami-be3adfd7").build()); requestResponseMap.put(describeImageRequest, describeImagesResponse); ImageExtension apiThatCreatesImage = requestsSendResponses(requestResponseMap.build()).getImageExtension().get(); ImageTemplate newImageTemplate = apiThatCreatesImage.buildImageTemplateFromNode("test", "us-east-1/i-2baa5550"); Image image = Futures.getUnchecked(apiThatCreatesImage.createImage(newImageTemplate)); assertEquals(image.getId(), "us-east-1/ami-be3adfd7"); }
ImageTemplate newImageTemplate = apiThatCreatesImage.buildImageTemplateFromNode("temp-template-ignore", "3239ade9-fd25-405c-8eda-59f0313a3fb0");