@Override public Template clone() { return new TemplateWithNetworkIds(delegate.clone(), networkDomainId, vlanId); } }
public Template clone() { return new TemplateWithDataCenter(delegate.clone(), dataCenter); }
public Template clone() { return new TemplateWithDataCenter(delegate.clone(), dataCenter); }
@Override public Map<?, ListenableFuture<Void>> execute(String group, int count, Template template, Set<NodeMetadata> goodNodes, Map<NodeMetadata, Exception> badNodes, Multimap<NodeMetadata, CustomizationResponse> customizationResponses) { Template mutableTemplate = template.clone(); Set<RunningInstance> started = runInstancesAndWarnOnInvisible(group, count, mutableTemplate); if (started.isEmpty()) { logger.warn("<< unable to start instances(%s)", mutableTemplate); return ImmutableMap.of(); } populateCredentials(started, template.getOptions()); if (autoAllocateElasticIps) // before customization as the elastic ips may be needed blockUntilRunningAndAssignElasticIpsToInstancesOrPutIntoBadMap(started, badNodes); return utils.customizeNodesAndAddToGoodMapOrPutExceptionIntoBadMap(mutableTemplate.getOptions(), transform(started, runningInstanceToNodeMetadata), goodNodes, badNodes, customizationResponses); }
@Override public Map<?, ListenableFuture<Void>> execute(String group, int count, Template template, Set<NodeMetadata> goodNodes, Map<NodeMetadata, Exception> badNodes, Multimap<NodeMetadata, CustomizationResponse> customizationResponses) { Template mutableTemplate = template.clone(); Set<RunningInstance> started = runInstancesAndWarnOnInvisible(group, count, mutableTemplate); if (started.size() == 0) { logger.warn("<< unable to start instances(%s)", mutableTemplate); return ImmutableMap.of(); } populateCredentials(started, template.getOptions()); if (autoAllocateElasticIps) // before customization as the elastic ips may be needed blockUntilRunningAndAssignElasticIpsToInstancesOrPutIntoBadMap(started, badNodes); return utils.customizeNodesAndAddToGoodMapOrPutExceptionIntoBadMap(mutableTemplate.getOptions(), transform(started, runningInstanceToNodeMetadata), goodNodes, badNodes, customizationResponses); }
@Override public Map<?, ListenableFuture<Void>> execute(String group, int count, Template template, Set<NodeMetadata> goodNodes, Map<NodeMetadata, Exception> badNodes, Multimap<NodeMetadata, CustomizationResponse> customizationResponses) { Template mutableTemplate = template.clone(); Set<RunningInstance> started = runInstancesAndWarnOnInvisible(group, count, mutableTemplate); if (started.isEmpty()) { logger.warn("<< unable to start instances(%s)", mutableTemplate); return ImmutableMap.of(); } populateCredentials(started, template.getOptions()); if (autoAllocateElasticIps) // before customization as the elastic ips may be needed blockUntilRunningAndAssignElasticIpsToInstancesOrPutIntoBadMap(started, badNodes); return utils.customizeNodesAndAddToGoodMapOrPutExceptionIntoBadMap(mutableTemplate.getOptions(), transform(started, runningInstanceToNodeMetadata), goodNodes, badNodes, customizationResponses); }
@Override public Map<?, ListenableFuture<Void>> execute(String group, int count, Template template, Set<NodeMetadata> goodNodes, Map<NodeMetadata, Exception> badNodes, Multimap<NodeMetadata, CustomizationResponse> customizationResponses) { Template mutableTemplate = template.clone(); Set<RunningInstance> started = runInstancesAndWarnOnInvisible(group, count, mutableTemplate); if (started.isEmpty()) { logger.warn("<< unable to start instances(%s)", mutableTemplate); return ImmutableMap.of(); } populateCredentials(started, template.getOptions()); if (autoAllocateElasticIps) // before customization as the elastic ips may be needed blockUntilRunningAndAssignElasticIpsToInstancesOrPutIntoBadMap(started, badNodes); return utils.customizeNodesAndAddToGoodMapOrPutExceptionIntoBadMap(mutableTemplate.getOptions(), transform(started, runningInstanceToNodeMetadata), goodNodes, badNodes, customizationResponses); }
@Override public Map<?, ListenableFuture<Void>> execute(String group, int count, Template template, Set<NodeMetadata> goodNodes, Map<NodeMetadata, Exception> badNodes, Multimap<NodeMetadata, CustomizationResponse> customizationResponses) { Template mutableTemplate = template.clone(); Set<RunningInstance> started = runInstancesAndWarnOnInvisible(group, count, mutableTemplate); if (started.size() == 0) { logger.warn("<< unable to start instances(%s)", mutableTemplate); return ImmutableMap.of(); } populateCredentials(started, template.getOptions()); if (autoAllocateElasticIps) // before customization as the elastic ips may be needed blockUntilRunningAndAssignElasticIpsToInstancesOrPutIntoBadMap(started, badNodes); return utils.customizeNodesAndAddToGoodMapOrPutExceptionIntoBadMap(mutableTemplate.getOptions(), transform(started, runningInstanceToNodeMetadata), goodNodes, badNodes, customizationResponses); }
@Override public Map<?, ListenableFuture<Void>> execute(String group, int count, Template template, Set<NodeMetadata> goodNodes, Map<NodeMetadata, Exception> badNodes, Multimap<NodeMetadata, CustomizationResponse> customizationResponses) { Template mutableTemplate = template.clone(); JoyentCloudTemplateOptions templateOptions = JoyentCloudTemplateOptions.class.cast(mutableTemplate.getOptions()); assert template.getOptions().equals(templateOptions) : "options didn't clone properly"; templateOptions.userMetadata(ComputeServiceConstants.NODE_GROUP_KEY, group); String datacenter = mutableTemplate.getLocation().getId(); if (!templateOptions.shouldGenerateKey().isPresent()) templateOptions.generateKey(defaultToAutogenerateKeys); if (templateOptions.shouldGenerateKey().get()) { KeyAndPrivateKey keyPair = keyCache.getUnchecked(DatacenterAndName.fromDatacenterAndName(datacenter, namingConvention.create() .sharedNameForGroup(group))); // in order to delete the key later keyCache.asMap().put(DatacenterAndName.fromDatacenterAndName(datacenter, keyPair.getKey().getName()), keyPair); templateOptions.overrideLoginPrivateKey(keyPair.getPrivateKey()); } checkArgument(templateOptions.getRunScript() == null || templateOptions.getLoginPrivateKey() != null, "when specifying runScript, you must either set overrideLoginPrivateKey, or generateKey(true)"); return super.execute(group, count, mutableTemplate, goodNodes, badNodes, customizationResponses); } }
@Override public Map<?, Future<Void>> execute(String group, int count, Template template, Set<NodeMetadata> goodNodes, Map<NodeMetadata, Exception> badNodes, Multimap<NodeMetadata, CustomizationResponse> customizationResponses) { Template mutableTemplate = template.clone(); SDCTemplateOptions templateOptions = SDCTemplateOptions.class.cast(mutableTemplate.getOptions()); assert template.getOptions().equals(templateOptions) : "options didn't clone properly"; String datacenter = mutableTemplate.getLocation().getId(); if (templateOptions.shouldGenerateKey()) { KeyAndPrivateKey keyPair = keyCache.getUnchecked(DatacenterAndName.fromDatacenterAndName(datacenter, namingConvention.create() .sharedNameForGroup(group))); // in order to delete the key later keyCache.asMap().put(DatacenterAndName.fromDatacenterAndName(datacenter, keyPair.getKey().getName()), keyPair); templateOptions.overrideLoginPrivateKey(keyPair.getPrivateKey()); } checkArgument(templateOptions.getRunScript() == null || templateOptions.getLoginPrivateKey() != null, "when specifying runScript, you must either set overrideLoginPrivateKey, or generateKey(true)"); return super.execute(group, count, mutableTemplate, goodNodes, badNodes, customizationResponses); } }
@Override public Map<?, ListenableFuture<Void>> execute(String group, int count, Template template, Set<NodeMetadata> goodNodes, Map<NodeMetadata, Exception> badNodes, Multimap<NodeMetadata, CustomizationResponse> customizationResponses) { Template mutableTemplate = template.clone(); JoyentCloudTemplateOptions templateOptions = JoyentCloudTemplateOptions.class.cast(mutableTemplate.getOptions()); assert template.getOptions().equals(templateOptions) : "options didn't clone properly"; templateOptions.userMetadata(ComputeServiceConstants.NODE_GROUP_KEY, group); String datacenter = mutableTemplate.getLocation().getId(); if (!templateOptions.shouldGenerateKey().isPresent()) templateOptions.generateKey(defaultToAutogenerateKeys); if (templateOptions.shouldGenerateKey().get()) { KeyAndPrivateKey keyPair = keyCache.getUnchecked(DatacenterAndName.fromDatacenterAndName(datacenter, namingConvention.create() .sharedNameForGroup(group))); // in order to delete the key later keyCache.asMap().put(DatacenterAndName.fromDatacenterAndName(datacenter, keyPair.getKey().getName()), keyPair); templateOptions.overrideLoginPrivateKey(keyPair.getPrivateKey()); } checkArgument(templateOptions.getRunScript() == null || templateOptions.getLoginPrivateKey() != null, "when specifying runScript, you must either set overrideLoginPrivateKey, or generateKey(true)"); return super.execute(group, count, mutableTemplate, goodNodes, badNodes, customizationResponses); } }
Map<NodeMetadata, Exception> badNodes, Multimap<NodeMetadata, CustomizationResponse> customizationResponses) { Template mutableTemplate = template.clone();
Map<NodeMetadata, Exception> badNodes, Multimap<NodeMetadata, CustomizationResponse> customizationResponses) { Template mutableTemplate = template.clone();
Map<NodeMetadata, Exception> badNodes, Multimap<NodeMetadata, CustomizationResponse> customizationResponses) { Template mutableTemplate = template.clone();
Map<NodeMetadata, Exception> badNodes, Multimap<NodeMetadata, CustomizationResponse> customizationResponses) { Template mutableTemplate = template.clone();
@Override public Map<?, ListenableFuture<Void>> execute(String group, int count, Template template, Set<NodeMetadata> goodNodes, Map<NodeMetadata, Exception> badNodes, Multimap<NodeMetadata, CustomizationResponse> customizationResponses) { Template mutableTemplate = template.clone(); GoogleComputeEngineTemplateOptions templateOptions = GoogleComputeEngineTemplateOptions.class .cast(mutableTemplate.getOptions()); assert template.getOptions().equals(templateOptions) : "options didn't clone properly"; // Get Network Network network = getNetwork(templateOptions.getNetworks()); // Setup Firewall rules getOrCreateFirewalls(templateOptions, network, firewallTagNamingConvention.get(group)); templateOptions.networks(ImmutableSet.of(network.selfLink().toString())); templateOptions.userMetadata(ComputeServiceConstants.NODE_GROUP_KEY, group); // Configure the default credentials, if needed if (templateOptions.autoCreateKeyPair() && Strings.isNullOrEmpty(templateOptions.getPublicKey())) { logger.debug(">> creating default keypair..."); Map<String, String> defaultKeys = keyGenerator.get(); templateOptions.authorizePublicKey(defaultKeys.get("public")); templateOptions.overrideLoginPrivateKey(defaultKeys.get("private")); } if (templateOptions.getRunScript() != null && templateOptions.getLoginPrivateKey() == null) { logger.warn(">> A runScript has been configured but no SSH key has been provided." + " Authentication will delegate to the ssh-agent"); } return super.execute(group, count, mutableTemplate, goodNodes, badNodes, customizationResponses); }
@Override public synchronized Map<?, ListenableFuture<Void>> execute(String group, int count, Template template, Set<NodeMetadata> goodNodes, Map<NodeMetadata, Exception> badNodes, Multimap<NodeMetadata, CustomizationResponse> customizationResponses) { String sharedResourceName = namingConvention.create().sharedNameForGroup(group); Template mutableTemplate = template.clone(); GoogleComputeEngineTemplateOptions templateOptions = GoogleComputeEngineTemplateOptions.class.cast(mutableTemplate .getOptions()); assert template.getOptions().equals(templateOptions) : "options didn't clone properly"; // get or create the network and create a firewall with the users configuration Network network = getOrCreateNetwork(templateOptions, sharedResourceName); getOrCreateFirewalls(templateOptions, network, firewallTagNamingConvention.get(group)); templateOptions.network(network.getSelfLink()); templateOptions.userMetadata(ComputeServiceConstants.NODE_GROUP_KEY, group); return super.execute(group, count, mutableTemplate, goodNodes, badNodes, customizationResponses); }
@Override public synchronized Map<?, ListenableFuture<Void>> execute(String group, int count, Template template, Set<NodeMetadata> goodNodes, Map<NodeMetadata, Exception> badNodes, Multimap<NodeMetadata, CustomizationResponse> customizationResponses) { String sharedResourceName = namingConvention.create().sharedNameForGroup(group); Template mutableTemplate = template.clone(); GoogleComputeEngineTemplateOptions templateOptions = GoogleComputeEngineTemplateOptions.class.cast(mutableTemplate .getOptions()); assert template.getOptions().equals(templateOptions) : "options didn't clone properly"; // get or create the network and create a firewall with the users configuration Network network = getOrCreateNetwork(templateOptions, sharedResourceName); getOrCreateFirewalls(templateOptions, network, firewallTagNamingConvention.get(group)); templateOptions.network(network.getSelfLink()); templateOptions.userMetadata(ComputeServiceConstants.NODE_GROUP_KEY, group); return super.execute(group, count, mutableTemplate, goodNodes, badNodes, customizationResponses); }
expect(input.template.clone()).andReturn(input.template); expect(strategy.client.getInstanceServices()).andReturn(instanceClient).atLeastOnce(); expect(
@Override public Map<?, ListenableFuture<Void>> execute(String group, int count, Template template, Set<NodeMetadata> goodNodes, Map<NodeMetadata, Exception> badNodes, Multimap<NodeMetadata, CustomizationResponse> customizationResponses) { String sharedResourceName = namingConvention.create().sharedNameForGroup(group); Template mutableTemplate = template.clone(); GoogleComputeEngineTemplateOptions templateOptions = GoogleComputeEngineTemplateOptions.class .cast(mutableTemplate.getOptions()); assert template.getOptions().equals(templateOptions) : "options didn't clone properly"; // get or insert the network and insert a firewall with the users // configuration Network network = getOrCreateNetwork(templateOptions, sharedResourceName); getOrCreateFirewalls(templateOptions, network, firewallTagNamingConvention.get(group)); templateOptions.network(network.selfLink()); templateOptions.userMetadata(ComputeServiceConstants.NODE_GROUP_KEY, group); // Configure the default credentials, if needed if (templateOptions.autoCreateKeyPair() && Strings.isNullOrEmpty(templateOptions.getPublicKey())) { logger.debug(">> creating default keypair..."); Map<String, String> defaultKeys = keyGenerator.get(); templateOptions.authorizePublicKey(defaultKeys.get("public")); templateOptions.overrideLoginPrivateKey(defaultKeys.get("private")); } if (templateOptions.getRunScript() != null && templateOptions.getLoginPrivateKey() == null) { logger.warn(">> A runScript has been configured but no SSH key has been provided." + " Authentication will delegate to the ssh-agent"); } return super.execute(group, count, mutableTemplate, goodNodes, badNodes, customizationResponses); }