public TemplateBuilder apply(TemplateBuilder b) { return b.imageId(imageId); }}); return (T)this;
private static void applyImageType(TemplateBuilder builder, CreateJCloudsContainerOptions options) { //Define ImageId if (!Strings.isNullOrEmpty(options.getImageId())) { builder.imageId(options.getImageId()); } //or define Image by OS & Version or By ImageId else if (!Strings.isNullOrEmpty(options.getOsFamily())) { builder.osFamily(OsFamily.fromValue(options.getOsFamily())); if (!Strings.isNullOrEmpty(options.getOsVersion())) { builder.osVersionMatches(options.getOsVersion()); } } else { throw new IllegalArgumentException("Required Image id or Operation System and version predicates."); } }
@Test(expectedExceptions={NoSuchElementException.class}) public void testNegativeTemplateChoiceForInstanceByImageId() throws Exception { newTemplateBuilder().imageId("wrongregion/wrongimageid").build(); }
@Test(expectedExceptions = {NoSuchElementException.class}) public void testNegativeTemplateChoiceForInstanceByImageId() throws Exception { newTemplateBuilder().imageId("wrongregion/wrongimageid").build(); }
@Test public void testTemplateChoiceForInstanceByImageId() throws Exception { Template template = newTemplateBuilder().imageId("us-east-1/cc-image").build(); assert template != null : "The returned template was null, but it should have a value."; assertEquals(template.getImage().getId(), "us-east-1/cc-image"); }
@Test(groups = { "integration", "live" }, singleThreaded = true, dependsOnMethods = "testCreateImage") public void testSpawnNodeFromImage() throws RunNodesException { ComputeService computeService = view.getComputeService(); Optional<? extends Image> optImage = getImage(); assertTrue(optImage.isPresent()); NodeMetadata node = Iterables.getOnlyElement(computeService.createNodesInGroup("test-create-image", 1, view .getComputeService() // fromImage does not use the arg image's id (but we do need to set location) .templateBuilder().imageId(optImage.get().getId()).fromImage(optImage.get()).build())); checkReachable(node); view.getComputeService().destroyNode(node.getId()); }
@Test(groups = { "integration", "live" }, singleThreaded = true, dependsOnMethods = "testCreateImage") public void testSpawnNodeFromImage() throws RunNodesException { ComputeService computeService = view.getComputeService(); Optional<? extends Image> optImage = getImage(); assertTrue(optImage.isPresent()); NodeMetadata node = Iterables.getOnlyElement(computeService.createNodesInGroup(imageGroup, 1, getNodeTemplate() // fromImage does not use the arg image's id (but we do need to set location) .imageId(optImage.get().getId()).fromImage(optImage.get()).build())); checkReachable(node); view.getComputeService().destroyNode(node.getId()); }
public void testCreateNodeWithGroupEncodedIntoNameThenStoreCredentials() { String name = "container" + new Random().nextInt(); Template template = templateBuilder.imageId(defaultImage.id()).build(); DockerTemplateOptions options = template.getOptions().as(DockerTemplateOptions.class); options.env(ImmutableList.of("ROOT_PASSWORD=password")); guest = adapter.createNodeWithGroupEncodedIntoName("test", name, template); assertEquals(guest.getNodeId(), guest.getNode().id()); }
@Test public void testTemplateChoiceForInstanceByImageId() throws Exception { Template template = newTemplateBuilder().imageId("us-east-1/bogus-image").build(); assert template != null : "The returned template was null, but it should have a value."; assertEquals(template.getImage().getId(), "us-east-1/bogus-image"); assertEquals(template.getHardware().getId(), HARDWARE_SUPPORTING_BOGUS.getId()); }
@Test(enabled = true, dependsOnMethods = { "testImagesCache" }) public void testTemplateMatch() throws Exception { template = buildTemplate(client.templateBuilder()); Template toMatch = client.templateBuilder().imageId(template.getImage().getId()).build(); assertEquals(toMatch.getImage(), template.getImage()); }
@Test public void testTemplateBuilderCanUseImageIdFromNonDefaultOwner() { // This is the id of a public image, not owned by one of the four default // owners String imageId = "us-east-1/ami-44d02f2d"; Template defaultTemplate = view.getComputeService().templateBuilder().imageId(imageId) .imageMatches(EC2ImagePredicates.rootDeviceType(RootDeviceType.INSTANCE_STORE)).build(); assert defaultTemplate.getImage().getProviderId().startsWith("ami-") : defaultTemplate; assertEquals(defaultTemplate.getImage().getId(), imageId); }
public void testCreateNodeWithMultipleNetworks() { String name = "container" + new Random().nextInt(); Template template = templateBuilder.imageId(defaultImage.id()).build(); DockerTemplateOptions options = template.getOptions().as(DockerTemplateOptions.class); options.env(ImmutableList.of("ROOT_PASSWORD=password")); options.networkMode("bridge"); options.networks(network1.name(), network2.name()); guest = adapter.createNodeWithGroupEncodedIntoName("test", name, template); assertTrue(guest.getNode().networkSettings().networks().containsKey("network1")); assertTrue(guest.getNode().networkSettings().networks().containsKey("network2")); assertEquals(guest.getNode().networkSettings().networks().size(), 3); }
@Test(enabled = true, dependsOnMethods = { "testImagesCache" }) public void testTemplateMatch() throws Exception { template = buildTemplate(templateBuilder()); Template toMatch = client.templateBuilder().imageId(template.getImage().getId()).build(); assertEquals(toMatch.getImage(), template.getImage()); }
@Test(enabled = true, dependsOnMethods = "testCorrectAuthException") public void testImagesResolveCorrectly() { Template defaultTemplate = client.templateBuilder().build(); assertEquals(defaultTemplate.getImage().getId(), defaultTemplate.getImage().getLocation().getId() + "/" + defaultTemplate.getImage().getProviderId()); Template byId = client.templateBuilder().imageId(defaultTemplate.getImage().getId()).build(); assertEquals(byId.getImage(), defaultTemplate.getImage()); }
@Test(enabled = true, dependsOnMethods = "testCorrectAuthException") public void testImagesResolveCorrectly() { Template defaultTemplate = client.templateBuilder().build(); assertEquals(defaultTemplate.getImage().getId(), defaultTemplate.getImage().getLocation().getId() + "/" + defaultTemplate.getImage().getProviderId()); Template byId = client.templateBuilder().imageId(defaultTemplate.getImage().getId()).build(); assertEquals(byId.getImage(), defaultTemplate.getImage()); }
public void testDefaultTemplateOpenStack() throws Exception { ComputeService apiForOpenStack = requestsSendResponses(defaultTemplateOpenStack); Template defaultTemplate = apiForOpenStack.templateBuilder().imageId("RegionOne/15").build(); checkTemplate(defaultTemplate); checkTemplate(apiForOpenStack.templateBuilder().fromTemplate(defaultTemplate).build()); }
@Test public void testTemplateBuilderCanUseImageId() throws Exception { Template defaultTemplate = view.getComputeService().templateBuilder().build(); view.close(); setupContext(); Template template = view.getComputeService().templateBuilder().imageId(defaultTemplate.getImage().getId()) .locationId(defaultTemplate.getLocation().getId()).build(); assertEquals(template.getImage(), defaultTemplate.getImage()); }
public void testDefaultTemplateOpenStack() throws Exception { ComputeService apiForOpenStack = requestsSendResponses(defaultTemplateOpenStack); Template defaultTemplate = apiForOpenStack.templateBuilder().imageId("RegionOne/15").build(); checkTemplate(defaultTemplate); checkTemplate(apiForOpenStack.templateBuilder().fromTemplate(defaultTemplate).build()); }
@Test public void testTemplateBuilderCanUseImageId() throws Exception { Template defaultTemplate = view.getComputeService().templateBuilder().build(); view.close(); setupContext(); Template template = view.getComputeService().templateBuilder().imageId(defaultTemplate.getImage().getId()) .locationId(defaultTemplate.getLocation().getId()).build(); assertEquals(template.getImage(), defaultTemplate.getImage()); }
protected Template buildTemplate(TemplateBuilder templateBuilder) { String imageName = SSHABLE_IMAGE + ":" + SSHABLE_IMAGE_TAG; org.jclouds.docker.domain.Image image = imageApi().inspectImage(imageName); if (image == null) { CreateImageOptions options = CreateImageOptions.Builder.fromImage(SSHABLE_IMAGE).tag(SSHABLE_IMAGE_TAG); imageApi().createImage(options); } image = imageApi().inspectImage(imageName); defaultImage = client.getImage(image.id()); DockerTemplateOptions options = new DockerTemplateOptions(); options.env(ImmutableList.of("ROOT_PASS=password")); options.overrideLoginCredentials(LoginCredentials.builder().identity("root").credential("password").build()); template = templateBuilder.imageId(defaultImage.getId()).options(options).build(); return template; }