public TemplateBuilder apply(TemplateBuilder b) { return b.fromTemplate(template); }}); return (T)this;
public void testFromTemplate() { Template defaultTemplate = view.getComputeService().templateBuilder().build(); assertEquals(view.getComputeService().templateBuilder().fromTemplate(defaultTemplate).build().toString(), defaultTemplate.toString()); }
public void testFromTemplate() { Template defaultTemplate = view.getComputeService().templateBuilder().build(); assertEquals(view.getComputeService().templateBuilder().fromTemplate(defaultTemplate).build().toString(), defaultTemplate.toString()); }
@Test(enabled = true, dependsOnMethods = "testCreateTwoNodesWithRunScript") public void testCreateAnotherNodeWithANewContextToEnsureSharedMemIsntRequired() throws Exception { initializeContext(); Location existingLocation = Iterables.get(this.nodes, 0).getLocation(); boolean existingLocationIsAssignable = Iterables.any(client.listAssignableLocations(), Predicates.equalTo(existingLocation)); if (existingLocationIsAssignable) { getAnonymousLogger().info("creating another node based on existing nodes' location: " + existingLocation); template = addRunScriptToTemplate(client.templateBuilder().fromTemplate(template) .locationId(existingLocation.getId()).build()); } else { refreshTemplate(); getAnonymousLogger().info( format("%s is not assignable; using template's location %s as ", existingLocation, template.getLocation())); } Set<? extends NodeMetadata> nodes = client.createNodesInGroup(group, 1, template); assertEquals(nodes.size(), 1); checkNodes(nodes, group, "bootstrap"); NodeMetadata node = Iterables.getOnlyElement(nodes); if (existingLocationIsAssignable) assertEquals(node.getLocation(), existingLocation); else this.assertLocationSameOrChild(checkNotNull(node.getLocation(), "location of %s", node), template.getLocation()); checkOsMatchesTemplate(node); this.nodes.add(node); }
getAnonymousLogger().info("creating another node based on existing nodes' location: " + existingLocation); template = buildTemplate(templateBuilder()); template = addRunScriptToTemplate(client.templateBuilder().fromTemplate(template) .locationId(existingLocation.getId()).build()); } else {
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()); }
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()); }
public NodeMetadata createNodeWithAdminUserAndJDKInGroupOpeningPortAndMinRam(String group, int port, int minRam) { ImmutableMap<String, String> userMetadata = ImmutableMap.<String, String> of("Name", group); // we want everything as defaults except ram Template defaultTemplate = compute.templateBuilder().build(); Template minecraft = compute.templateBuilder().fromTemplate(defaultTemplate).minRam(minRam).build(); // setup the template to customize the node with jdk, etc. also opening ports. Statement bootstrap = newStatementList(AdminAccess.standard(), InstallJDK.fromOpenJDK()); minecraft.getOptions().inboundPorts(22, port).userMetadata(userMetadata).runScript(bootstrap); // example of using a cloud-specific hook if (minecraft.getOptions() instanceof AWSEC2TemplateOptions) minecraft.getOptions().as(AWSEC2TemplateOptions.class).enableMonitoring(); logger.info(">> creating node type(%s) in group %s, opening ports 22, %s with admin user and jdk", minecraft .getHardware().getId(), group, port); try { NodeMetadata node = getOnlyElement(compute.createNodesInGroup(group, 1, minecraft)); logger.info("<< available node(%s) os(%s) publicAddresses%s", node.getId(), node.getOperatingSystem(), node.getPublicAddresses()); return node; } catch (RunNodesException e) { throw destroyBadNodesAndPropagate(e); } }